<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Making it easier</title><link>http://blogs.msdn.com/b/ericlippert/archive/2009/06/15/making-it-easier.aspx</link><description>I read an article in a technology column on MSNBC a while back, the upshot of which was “I have umpteen-dozen passwords I’ve got to have memorized these days; I thought technology was supposed to make my life easier!” 
 Really? 
 First of all, let’s</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>re: Making it easier</title><link>http://blogs.msdn.com/b/ericlippert/archive/2009/06/15/making-it-easier.aspx#9780203</link><pubDate>Fri, 19 Jun 2009 09:13:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9780203</guid><dc:creator>Marius Bancila</dc:creator><description>&lt;p&gt;I would argue that making life easier and making specific tasks easier are the two faces of the same coin. Life is a series of tasks that we do (of course one can do nothing all the time and still not finishing with that). If a technology is able to simplify one task, or maybe several, than we can say it simplifies our life.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9780203" width="1" height="1"&gt;</description></item><item><title>re: Making it easier</title><link>http://blogs.msdn.com/b/ericlippert/archive/2009/06/15/making-it-easier.aspx#9779631</link><pubDate>Fri, 19 Jun 2009 08:33:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9779631</guid><dc:creator>Denis</dc:creator><description>&lt;p&gt;&amp;gt;the purpose of technology is to make specific tasks easier&lt;/p&gt;
&lt;p&gt;I think the purpose of a specific technology is to make a specific task (or tasks) easier; the purpose of technology in general, as a part of human life and culture, is to free humans from as much routine as possible in order to let humans to do what no machine can do: the CREATIVE WORK.&lt;/p&gt;
&lt;p&gt;It's one hell of a debate, about whether or not machines can actually get creative; personally, I don't believe so (although the Matrix, especially the first installment, is still among my favorites - it all makes sense if you think different kind of &amp;quot;machines&amp;quot;, like &amp;quot;the bureaucratic machine&amp;quot;, or &amp;quot;the corporate machine&amp;quot;). Some Gen Y guys called me a &amp;quot;technological pessimist&amp;quot; for that belief of mine: they are positive that the purpose of technology is to free humans from ANY work, &amp;quot;just to have fun&amp;quot;. Well, maybe I am that, I am not Gen Y, after all (just a couple of years too early), but the only way to convince me otherwise is to write a program (in C#, preferably) that will blog INSTEAD of the author. :-) &lt;/p&gt;
&lt;p&gt;Or, maybe, a C# compiler that itself develops its own next version - how's that for a challenge to the C# meta-programming champions?&lt;/p&gt;
&lt;p&gt;@Dominic, you and me both: I am in Australia, too&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9779631" width="1" height="1"&gt;</description></item><item><title>re: Making it easier</title><link>http://blogs.msdn.com/b/ericlippert/archive/2009/06/15/making-it-easier.aspx#9773835</link><pubDate>Thu, 18 Jun 2009 10:45:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9773835</guid><dc:creator>Dominic</dc:creator><description>&lt;p&gt;The task of communicating with Australia is now much easier, thanks to improved technology.&lt;/p&gt;
&lt;p&gt;Reading this from Australia and can't help but think how much 'smaller' the world is thanks to technology.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9773835" width="1" height="1"&gt;</description></item><item><title>re: Making it easier</title><link>http://blogs.msdn.com/b/ericlippert/archive/2009/06/15/making-it-easier.aspx#9763760</link><pubDate>Wed, 17 Jun 2009 04:28:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9763760</guid><dc:creator>TheCPUWizard</dc:creator><description>&lt;p&gt;Joren, pminaev,&lt;/p&gt;
&lt;p&gt;Putting the readonly at the front (Joren's syntax) would be just fine, as would a &amp;quot;different&amp;quot; word (e.g. initonly) on the setter.&lt;/p&gt;
&lt;p&gt;Because of the various limitations with automatic properties, I find that in my designs I CAN only use them about 5% of the time, because this is such a low percentage, and because of the benefits of consistancy, the reality is that I do not use them at all in designs where I have architectural control.&lt;/p&gt;
&lt;p&gt;If addational capabilities such as this (ideally along with support for laxy evaluation, pre and post set conditioning) then they would have a major benefit.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9763760" width="1" height="1"&gt;</description></item><item><title>re: Making it easier</title><link>http://blogs.msdn.com/b/ericlippert/archive/2009/06/15/making-it-easier.aspx#9763504</link><pubDate>Wed, 17 Jun 2009 03:57:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9763504</guid><dc:creator>Pavel Minaev [MSFT]</dc:creator><description>&lt;p&gt;TheCPUWizard,&lt;/p&gt;
&lt;p&gt;I understand the reason for the feature. However, the syntax you propose - &amp;quot;readonly set&amp;quot; - doesn't make much sense to me. As Joren rightly points out, it's a confusing combination.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9763504" width="1" height="1"&gt;</description></item><item><title>re: Making it easier</title><link>http://blogs.msdn.com/b/ericlippert/archive/2009/06/15/making-it-easier.aspx#9763355</link><pubDate>Wed, 17 Jun 2009 02:10:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9763355</guid><dc:creator>Joren</dc:creator><description>&lt;p&gt;&amp;gt;public string Foo { get; readonly set; }&lt;/p&gt;
&lt;p&gt;I'd rather have &amp;quot;public readonly string Foo { get; set; }&amp;quot; for a property that can only be assigned in a constructor. &amp;quot;readonly set&amp;quot; confuses me. How can a setter be read-only? And how do you even read a setter?&lt;/p&gt;
&lt;p&gt;Also, I'd prefer to have symmetry with fields.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9763355" width="1" height="1"&gt;</description></item><item><title>re: Making it easier</title><link>http://blogs.msdn.com/b/ericlippert/archive/2009/06/15/making-it-easier.aspx#9763303</link><pubDate>Wed, 17 Jun 2009 01:47:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9763303</guid><dc:creator>TheCPUWizard</dc:creator><description>&lt;p&gt; pminaev,&lt;/p&gt;
&lt;p&gt;I dont see why &lt;/p&gt;
&lt;p&gt;&amp;gt; public string Foo { get; readonly set; }&lt;/p&gt;
&lt;p&gt;would be any different than&lt;/p&gt;
&lt;p&gt;&amp;gt; public string Foo { get; private set; }&lt;/p&gt;
&lt;p&gt;The language already supports having a more restrictive access policy on one of the accessors than the other. Being able to restrict it so that is cal only be called from within the body of the constructor is a natural extension.&lt;/p&gt;
&lt;p&gt;Readonly allows for MANY optimizations to be performs [if the current compiler actually performs them is secondary].&lt;/p&gt;
&lt;p&gt;Consider a construct such as &amp;nbsp; x = A.Prop1.Prop2.Prop3.Prop4.Prop5&lt;/p&gt;
&lt;p&gt;If it is known that the chain of referrences will not be modified, it is theoretically possible to reduce this to a single call to the final target instance rather than having to &amp;quot;follow the chain&amp;quot; at each invocation.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9763303" width="1" height="1"&gt;</description></item><item><title>re: Making it easier</title><link>http://blogs.msdn.com/b/ericlippert/archive/2009/06/15/making-it-easier.aspx#9763236</link><pubDate>Wed, 17 Jun 2009 01:13:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9763236</guid><dc:creator>Pavel Minaev [MSFT]</dc:creator><description>&lt;p&gt;&amp;gt; So how would you score adding a feature to allow:&lt;/p&gt;
&lt;p&gt;&amp;gt; public string Foo { get; readonly set; }&lt;/p&gt;
&lt;p&gt;I don't know about Eric, but as given, I'd score it &amp;quot;-10, Incomprehensible&amp;quot;. &lt;/p&gt;
&lt;p&gt;If I understand your intent correctly (which isn't certain, since you don't explain what the feature should do), given that &amp;quot;set&amp;quot; is already a contextual keyword there, a better option would seem to just add a new, clearer contextual keyword rather than try to combine a bunch of existing ones to get something vaguely resembling what you want. For example:&lt;/p&gt;
&lt;p&gt;public string Foo { get; initialize; }&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9763236" width="1" height="1"&gt;</description></item><item><title>re: Making it easier</title><link>http://blogs.msdn.com/b/ericlippert/archive/2009/06/15/making-it-easier.aspx#9762493</link><pubDate>Tue, 16 Jun 2009 18:09:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9762493</guid><dc:creator>Greg</dc:creator><description>&lt;p&gt;The new features start at -100 is nice given that only selective new technologies should be added to a platform and have the largest effort directed to improving, bug fixing, documenting and optimizing existing technologies.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9762493" width="1" height="1"&gt;</description></item><item><title>re: Making it easier</title><link>http://blogs.msdn.com/b/ericlippert/archive/2009/06/15/making-it-easier.aspx#9762438</link><pubDate>Tue, 16 Jun 2009 17:34:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9762438</guid><dc:creator>chris</dc:creator><description>&lt;p&gt;So true Eric! &amp;nbsp;Just as excellent communicators carefully choose there words when giving speeches. &amp;nbsp;Displays of esoteric vocabulary often fall on deaf ears.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9762438" width="1" height="1"&gt;</description></item></channel></rss>