<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Object Mentor Blog: Ending the Era of Patronizing Language Design</title>
    <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>Ending the Era of Patronizing Language Design</title>
      <description>&lt;p&gt;Earlier this year, I was asked to speak at a Ruby Conference.   I was happy to go, but I also felt a bit out of place.  I haven&#8217;t done much Ruby, but I&#8217;ve admired the language from afar.  I have a number of friends who&#8217;ve left C++ and Java to jump toward Ruby and Python and for the most part, they are happy. They do great work, and they enjoy it.  They are living proof that the nightmare scenarios that people imagine about dynamic languages aren&#8217;t inevitable.  You can program safe, secure, high quality applications in dynamically typed languages. People do it all the time, but that&amp;#8217;s cultural knowledge. If you are in a culture, you hear about all of the things which are normal which appear odd from outside. If you aren&amp;#8217;t, you don&amp;#8217;t.&lt;/p&gt;

&lt;p&gt;This is pretty much the situation I&#8217;ve been in with Ruby, up to a point.  I haven&#8217;t written a large Ruby application.  I&#8217;ve tinkered around with the language and written utilities but as far as total immersion goes &#8212; no, I&#8217;ve never been totally immersed in the language but that hasn&#8217;t kept me from learning noticing interesting things at the edge. One of the striking things that I&#8217;ve noticed is that the attitude of Rubyists toward their language is a bit different.  They seem to have an &lt;i&gt;ethic of responsibility&lt;/i&gt; that I don&#8217;t see in many other language cultures.&lt;/p&gt;

&lt;p&gt;Ethic of responsibility?  What do I mean by that?&lt;/p&gt;

&lt;p&gt;I guess I can explain it this way.  In many language communities, people are very concerned with the &#8220;right way&#8221; to do things.  They learn all of the warts and edges of the language and they anticipate the ways that features could be misused.  Then, they starting writing advice and style guides &#8212; all the literature which tells you how to avoid problems in that language.  The advice goes on and on. Much of it centers around legitimate language defects.  Some languages make you work hard to use them well.  Other bits of advice, though, are really extensions of culture.  If a language gives you mechanisms to enforce design constraints, it doesn&#8217;t feel quite right to not use them.  As an example, consider &lt;code&gt;sealed&lt;/code&gt; and &lt;code&gt;final&lt;/code&gt; in C# and Java.  Both of those constructs do pretty much the same thing and people do go out of their way to advise people on how they should be used to protect abstractions.  It&#8217;s interesting, however, that languages like Ruby, Python, and Groovy don&#8217;t have anything similar, yet people do write solid code in those languages.&lt;/p&gt; 

&lt;p&gt;Let&#8217;s leave aside, for a minute, the debate over static and dynamic typing.  What I think is more important is the issue of tone.  In some languages you get the sense that the language designer is telling you that some things are very dangerous, so dangerous that we should prohibit them and have tools available to prohibit misuse of those features.  As a result, the entire community spends a lot of time on prescriptive advice and workarounds.  And, if the language doesn&#8217;t provide all of the features needed to lock things down in the way people are accustomed to, they become irate.&lt;/p&gt;

&lt;p&gt; 
I just haven&#8217;t noticed this in Ruby culture.&lt;/p&gt;

&lt;p&gt;  
In Ruby, you can do nearly anything imaginable.  You can change any class in the library, weave in aspect-y behavior and do absolutely insane things with meta-programming.  In other words, it&#8217;s all on you.  You are responsible.  If something goes wrong you have only yourself to blame.  You can&amp;#8217;t blame the language designer for not adding a feature because you can do it yourself, and you can&amp;#8217;t blame him for getting in your way because he didn&amp;#8217;t.&lt;/p&gt;

&lt;p&gt;
So, why aren&#8217;t more people crashing and burning?  I think there is a very good reason.  When you can do anything, you have to become more responsible.  You own your fate.  And, that, I think, is a situation which promotes responsibility.&lt;/p&gt;

&lt;p&gt;For years, in the software industry, we&#8217;ve made the assumption that some language features are just too powerful for the typical developer &#8212; too prone to misuse.  C++ avoided reflection and Java/C# avoided multiple-inheritance. In each case, however, we&#8217;ve discovered that the workarounds that programmers apply when they legitimately need a missing feature are worse than what the omission was meant to solve.  Blocks and closures are good immediate example.  There are tens of thousands of applications in the world today which contain duplication that you can really only remove with the template method design pattern or by creating a tiny class which encapsulates the variation.  If blocks or closures were available, programmers would be more likely to tackle the duplication and arrive at much less cluttered design.&lt;/p&gt;

&lt;p&gt;Meta-programming features are yet another example.  Business applications are rife with situations where you need to know the value, type, and name of a piece of data, yet we use languages in which these sorts of capabilities have to be hand-coded and over and over again. The fact that it took decades for the industry to arrive at something as useful as ActiveRecord in Rails is due primarily to the attitude that some language features are just too powerful for everyone to use.&lt;/p&gt;

&lt;p&gt;
We&#8217;ve paid a price for that attitude.  Fortunately, I think we are getting past it.  The newer breed of languages puts responsibility back on the developer.  But, language designers do persist in this sort of reasoning &#8212; this notion that some things should not be permitted.  If you want to see an example of this style of reasoning see the metaprogramming section in this blog of Bruce Eckel&#8217;s  ( &lt;a href=http://www.artima.com/weblogs/viewpost.jsp?thread=260578&gt;http://www.artima.com/weblogs/viewpost.jsp?thread=260578&lt;/a&gt; ).  I respect Bruce, and I realize he isn&#8217;t speaking as a language designer, but I offer that as a example of that type of reasoning &#8212; reasoning about what should be permitted in a language rather than what puts a bit more control and responsibility in the hands of programmers.  Maybe decorators work in 95% of the cases where you would want to do metaprogramming in an application, but there is a price to that choice, and it isn&#8217;t just the workarounds in 5% of the cases.  The additional price is a decreased sense of responsibility and ownership.  I think that those human dimensions have far more impact on software than many people suspect.&lt;/p&gt;

&lt;p&gt;
The fact of the matter is this: it is possible to create a mess in every language.  Language designers can&#8217;t prevent it. All they can do is determine which types of messes are possible and how hard they will be to create.  But, at the moment that they make those decisions, they are far removed from the specifics of an application.  Programmers aren&#8217;t.  They can be responsible. Ultimately, no one else can.&lt;/p&gt;</description>
      <pubDate>Mon, 13 Jul 2009 13:44:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:69e0768a-edc0-45fd-ac0c-38c8c7ff9cc5</guid>
      <author>Michael Feathers</author>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design</link>
      <category>Michaels Musings</category>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by ljubavni stihovi</title>
      <description>&lt;p&gt;I don&#8217;t know what to say except that I have enjoyed reading. Nice blog, I will keep visiting this blog very often.&lt;/p&gt;</description>
      <pubDate>Sat, 04 Feb 2012 09:51:57 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:bfc4d755-87e6-47be-89a1-408c442eadaa</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-201736</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by reclaim care home fees</title>
      <description>&lt;p&gt;In common, the usefulness and significance is overwhelming. Very substantially thanks as soon as once more and very good luck and maintain up the fantastic work!&lt;/p&gt;</description>
      <pubDate>Tue, 10 Jan 2012 21:11:48 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:6c023d7a-871e-439b-b3b5-bc0670ad775d</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-196838</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by Backup iphone sms</title>
      <description>&lt;p&gt;We can do anything to keep the data safe.&lt;/p&gt;</description>
      <pubDate>Sat, 07 Jan 2012 06:05:54 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:686470cc-3c84-493f-a602-64574c031632</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-195889</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by schwinn recumbent exercise bike </title>
      <description>&lt;p&gt;What a fabulous post this has been. I am grateful to you and expect more number of posts like these. Thank you very much.&lt;/p&gt;</description>
      <pubDate>Fri, 06 Jan 2012 06:30:07 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:4a4f0e59-5c2e-46a8-85de-d19cdddee74a</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-195303</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by SEO Colorado Springs</title>
      <description>&lt;p&gt;Thanks a lot one more time for the useful information. Thanks for publishing these articles here and your blog.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://www.premiumseocompany.com/colorado-springs-seo-company.asp" rel="nofollow"&gt;SEO Colorado Springs&lt;/a&gt;
&lt;a href="http://www.premiumseocompany.com/colorado-springs-seo-company.asp" rel="nofollow"&gt;Colorado Springs Search Engine Optimization&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Wed, 04 Jan 2012 11:14:34 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:44ca31fd-614e-4199-81d1-c6a36b36f0da</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-194760</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by Commercial Glass Tinting</title>
      <description>&lt;p&gt;Ethic of responsibility.. I like the way how you make an example of this, ethics deals with values of a human with respect to good and bad of the motives toward his/her actions. We are all responsible of our actions so make it good as possible always.&lt;/p&gt;</description>
      <pubDate>Wed, 04 Jan 2012 10:54:26 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:2c31e653-ce78-4064-9e7a-070cc81bd618</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-194757</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by http://www.china-phosphate.com/Products/Disodium-Phosphate-DSP.htm</title>
      <description>&lt;p&gt;disodium phosphate|sodium phosphate dibasic&lt;/p&gt;</description>
      <pubDate>Wed, 04 Jan 2012 01:22:27 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:9969f5d6-459e-40cf-bc81-b8493d00ae69</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-194643</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by http://www.china-phosphate.com/Products/Disodium-Phosphate-DSP.htm</title>
      <description>&lt;p&gt;disodium phosphate|sodium phosphate dibasic&lt;/p&gt;</description>
      <pubDate>Wed, 04 Jan 2012 01:22:02 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:f957ed8d-3176-47bd-aa4f-dce672bf2a29</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-194642</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by http://www.china-phosphate.com/Products/Disodium-Phosphate-DSP.htm</title>
      <description>&lt;p&gt;disodium phosphate|sodium phosphate dibasic&lt;/p&gt;</description>
      <pubDate>Wed, 04 Jan 2012 01:21:37 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:e2569ee7-5bb5-4e53-995e-8704e61679e2</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-194641</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by http://www.china-phosphate.com/Products/Monosodium-Phosphate-MSP.htm</title>
      <description>&lt;p&gt;monosodium phosphate suppliers!&lt;/p&gt;</description>
      <pubDate>Wed, 04 Jan 2012 01:19:36 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:a52b065e-f864-4324-8e8f-09ebb9467bb6</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-194640</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by http://www.china-phosphate.com/Products/Disodium-Phosphate-DSP.htm</title>
      <description>&lt;p&gt;disodium phosphate|sodium phosphate dibasic&lt;/p&gt;</description>
      <pubDate>Wed, 04 Jan 2012 01:17:27 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:5e3552cc-ec18-4cd1-90f2-005eb385071a</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-194638</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by Seattle Electrician</title>
      <description>&lt;p&gt;Article helps more people looking for comprehensive solutions.&lt;/p&gt;


	&lt;p&gt;Seattle Electrician Service, Inc. 1500 W Bertona, Seattle, WA 98119. (206) 227-3237 
&lt;a &gt;Seattle Electrician&lt;/a rel="nofollow"&gt;&lt;/p&gt;</description>
      <pubDate>Mon, 02 Jan 2012 14:25:16 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:02e37c1b-611c-4b72-a565-6f4096f9d018</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-194300</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by Dentist Carrollton</title>
      <description>&lt;p&gt;Many lessons available in this article.&lt;/p&gt;


	&lt;p&gt;&lt;a &gt;Dentist Carrollton&lt;/a rel="nofollow"&gt;
1735 Keller Springs Rd # 204, Carrollton, TX 75006-3005&lt;/p&gt;</description>
      <pubDate>Mon, 02 Jan 2012 13:34:36 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:4c91d79a-47b7-4b26-8223-c1ac4d76adb1</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-194296</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by Up Light</title>
      <description>&lt;p&gt;5. Having more power at your fingertips means either you will crash and burn or learn to use it!&amp;#8221; - i agree with it.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://www.onlycube.com" rel="nofollow"&gt;Light Up&lt;/a&gt;  at Onlycubes LLC is a company dedicated to serving our customers to provide with the best pricing, quick delivery, and unparalleled customer services.&lt;/p&gt;</description>
      <pubDate>Mon, 02 Jan 2012 04:17:45 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:8894fe2b-6109-4edf-8821-f17c4b3893a7</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-194273</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by Womens Moncler Jackets</title>
      <description>&lt;p&gt;Everyone should have a Mens Moncler Jackets as it is the best outwear against the cold season and is also comfortable and light to wear.&lt;/p&gt;</description>
      <pubDate>Mon, 02 Jan 2012 03:24:56 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:a60ab241-654b-458d-b81d-d5b1a3ba3ab4</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-194234</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by http://www.doorswest.net</title>
      <description>&lt;p&gt;Nice and informative post.&lt;/p&gt;


	&lt;p&gt;Doors West 1402 20th Street NW, Suite 4, Auburn 98001 (206) 772-5241 &lt;a &gt;Seattle Garage Doors&lt;/a rel="nofollow"&gt;&lt;/p&gt;</description>
      <pubDate>Mon, 02 Jan 2012 02:47:25 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:4436f356-3a08-4fe8-81ab-8ffc7e9a7f97</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-194123</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by vacuum sealer reviews</title>
      <description>&lt;p&gt;The difference between the right word and the almost right word is really a large matter &#8212; it&#8217;s the difference between a lightning bug and the lightning.
&lt;a href="http://bestfoodvacuumsealerreviews.com/" rel="nofollow"&gt;vacuum sealer reviews&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 27 Dec 2011 16:26:53 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:b1162202-c097-4e56-a8e8-e73fb73dd869</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-192641</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by Securities Law </title>
      <description>&lt;p&gt;People do it all the time, but that&#8217;s cultural knowledge. If you are in a culture, you hear about all of the things which are normal which appear odd from outside. If you aren&#8217;t, you don&#8217;t.&lt;a href="http://www.securitieslawyersattorneys.com" rel="nofollow"&gt;Securities Law&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Mon, 26 Dec 2011 06:47:27 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:006098df-adcf-4fd1-8351-49da8f22dd88</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-192221</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by Rug Cleaning Melbourne</title>
      <description>&lt;p&gt;You are right and I agree with you, but i believe the point of the blog post was about the language designer saying you cannot do this because it is too dangerous.&lt;/p&gt;</description>
      <pubDate>Fri, 23 Dec 2011 05:01:08 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:d9b07b4a-b648-46eb-82d7-23fa78a77a9b</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-190758</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by Polo Outlet Online</title>
      <description>&lt;p&gt;Very honoured to see your blog, I benefited a lot from it, and it brings me a great deal of enjoyment.&lt;/p&gt;</description>
      <pubDate>Fri, 23 Dec 2011 01:56:00 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:2f5a1be0-2f55-40c0-b73b-fa1aec9e4dcd</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-190560</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by Bankruptcy Seattle</title>
      <description>&lt;p&gt;Many language designers make the assumption that people need to be &#8220;controlled&#8221;.  Language is one of the important code in a designing&lt;/p&gt;</description>
      <pubDate>Wed, 07 Dec 2011 00:24:22 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:2d964354-076d-4dcf-a5dd-da867a51026a</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-183999</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by Online Business Directory</title>
      <description>&lt;p&gt;Barrier broken, but at a high cost with high complexity. I much rather trust responsibility, good habits and safety nets I set up anyway to protect myself from logical mistakes.
&lt;a href="http://www.markd.biz/" rel="nofollow"&gt;Online Business Directory&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 24 Nov 2011 08:08:55 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:16b8fd1a-919c-4955-9a2c-1dab02212d3a</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-177528</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by optimizacija</title>
      <description>&lt;p&gt;The Contents of this site are really very good. I hope We will get this type of contents and information from this blog in future days too. Best regards.
&lt;a href="http://www.honeymoonplanners.com.au" rel="nofollow"&gt;honeymoon packages&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://www.sportstravelgroup.com.au" rel="nofollow"&gt;sport tours international&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 22 Nov 2011 07:17:02 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:c8d0bfd8-f529-4469-a3f1-57e1fc3504bd</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-176542</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by sa</title>
      <description>I never actually knew it was a real problem&#8230; The only difference I&#8217;ve ever had is when the server took less then I actually wrote down which I thought was weird. I would like to think I tip pretty good so this wouldn&#8217;t happen but I do check my receipts religiously just in case
	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://thanhlapdoanhnghiep.vn" rel="nofollow"&gt;tu van thanh lap cong ty&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://thanhlapdoanhnghiep.vn" rel="nofollow"&gt;th&#224;nh l?p c&#244;ng ty&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://thanhlapdoanhnghiep.vn" rel="nofollow"&gt;thanh lap cong ty&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://thanhlapdoanhnghiep.vn" rel="nofollow"&gt;thanh lap cong ty tnhh&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://thanhlapdoanhnghiep.vn" rel="nofollow"&gt;D?ch v? th&#224;nh l?p c&#244;ng ty&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://thanhlapdoanhnghiep.vn" rel="nofollow"&gt;Dich vu thanh lap cong ty&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://thanhlapdoanhnghiep.vn" rel="nofollow"&gt;D?ch v? th&#224;nh l?p doanh nghi?p&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://thanhlapdoanhnghiep.vn" rel="nofollow"&gt;dich vu thanh lap doanh nghiep&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://thanhlapdoanhnghiep.vn" rel="nofollow"&gt;cach thanh lap cong ty&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.thanhlapdoanhnghiep.vn/thong-tin/17/95/thanh-lap-cong-ty-co-phan.html" rel="nofollow"&gt;thanh lap cong ty co phan&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.thanhlapdoanhnghiep.vn/" rel="nofollow"&gt;qui trinh thanh lap cong ty&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.thanhlapdoanhnghiep.vn/thong-tin/17/90/dieu-kien-cach-thanh-lap-cong-ty.html" rel="nofollow"&gt;dieu kien thanh lap cong ty&lt;/a&gt;
&lt;a href="http://thanhlapdoanhnghiep.vn/thong-tin/175/177/hd-ke-khai-thue-nop-gtgt.html" rel="nofollow"&gt;dai ly thue&lt;/a&gt;
&lt;a href="http://thanhlapdoanhnghiep.vn/thong-tin/175/177/hd-ke-khai-thue-nop-gtgt.html" rel="nofollow"&gt;??i l&#253; thu?&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.thanhlapdoanhnghiep.vn/thong-tin/33/dang-ky-kinh-doanh.html" rel="nofollow"&gt;dang ky kinh doanh&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;</description>
      <pubDate>Tue, 15 Nov 2011 21:18:32 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:d00aad54-1528-4ef1-a97f-da7c0fb3b313</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-173691</link>
    </item>
    <item>
      <title>"Ending the Era of Patronizing Language Design" by sa</title>
      <description>It&#8217;s really a nice and helpful piece of information.Long time no see so excellent article
	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://thanhlapdoanhnghiep.vn" rel="nofollow"&gt;thanh lap doanh nghiep&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://thanhlapdoanhnghiep.vn" rel="nofollow"&gt;thanh lap cty&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://thanhlapdoanhnghiep.vn" rel="nofollow"&gt;th&#224;nh l?p doanh nghi?p&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://thanhlapdoanhnghiep.vn" rel="nofollow"&gt;dich vu ke toan&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://thanhlapdoanhnghiep.vn" rel="nofollow"&gt;d?ch v? k? to&#225;n&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://thanhlapdoanhnghiep.vn" rel="nofollow"&gt;bao cao thue&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://thanhlapdoanhnghiep.vn" rel="nofollow"&gt;b&#225;o c&#225;o thu?&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;</description>
      <pubDate>Tue, 15 Nov 2011 21:06:22 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:69853af7-51c0-4d07-8a10-8113401b71a0</guid>
      <link>http://blog.objectmentor.com/articles/2009/07/13/ending-the-era-of-patronizing-language-design#comment-173634</link>
    </item>
  </channel>
</rss>

