<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
> <channel><title>Comments on: Java is less magical than C#</title> <atom:link href="http://ripper234.com/p/java-is-less-magical-than-c/feed/" rel="self" type="application/rss+xml" /><link>http://ripper234.com/p/java-is-less-magical-than-c/</link> <description>Stuff Ron Gross Finds Interesting</description> <lastBuildDate>Mon, 21 May 2012 11:28:30 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <item><title>By: Tomer Gabel</title><link>http://ripper234.com/p/java-is-less-magical-than-c/comment-page-1/#comment-1580</link> <dc:creator>Tomer Gabel</dc:creator> <pubDate>Fri, 21 Aug 2009 08:32:19 +0000</pubDate> <guid
isPermaLink="false">http://ripper234.com/?p=1123#comment-1580</guid> <description>Both are valid languages, and both can teach you a lot about better software design. Most (though admittedly not all) of what you call magic in C# is well-documented and well-understood, and a good programmer will drill down and learn how things work regardless of whether it&#039;s C#, Java, Haskell or C99 on an embedded Linux platform.
In my own opinion each has advantages, and while I prefer C# for writing mass amounts of concise, elegant code in a short time, Java is definitely preferable when it comes to robust software design. For example, despite their reputation I&#039;ve come to rely on checked exceptions as a powerful mechanism for enforcing reliability on the code level. Other subtle differences, such as having to explicitly declare captured variables as final, can reduce a lot of hard-to-spot bugs. The Java collections and executors framework is also much, much more powerful.
On the other hand C# has a much better type system, and new language versions continually add features to aid robustness and increase productivity. I&#039;m looking forward to preconditions and postconditions, variance rules for type parameters and other goodies. It is an interesting race for sure...</description> <content:encoded><![CDATA[<p>Both are valid languages, and both can teach you a lot about better software design. Most (though admittedly not all) of what you call magic in C# is well-documented and well-understood, and a good programmer will drill down and learn how things work regardless of whether it&#8217;s C#, Java, Haskell or C99 on an embedded Linux platform.</p><p>In my own opinion each has advantages, and while I prefer C# for writing mass amounts of concise, elegant code in a short time, Java is definitely preferable when it comes to robust software design. For example, despite their reputation I&#8217;ve come to rely on checked exceptions as a powerful mechanism for enforcing reliability on the code level. Other subtle differences, such as having to explicitly declare captured variables as final, can reduce a lot of hard-to-spot bugs. The Java collections and executors framework is also much, much more powerful.</p><p>On the other hand C# has a much better type system, and new language versions continually add features to aid robustness and increase productivity. I&#8217;m looking forward to preconditions and postconditions, variance rules for type parameters and other goodies. It is an interesting race for sure&#8230;</p> ]]></content:encoded> </item> <item><title>By: Ofer Egozi</title><link>http://ripper234.com/p/java-is-less-magical-than-c/comment-page-1/#comment-1579</link> <dc:creator>Ofer Egozi</dc:creator> <pubDate>Fri, 21 Aug 2009 07:42:01 +0000</pubDate> <guid
isPermaLink="false">http://ripper234.com/?p=1123#comment-1579</guid> <description>Excellent post. It&#039;s no accident that it&#039;s not the other way around, Microsoft made this a habit long ago. Before .NET came along, there was &lt;a href=&quot;http://en.wikipedia.org/wiki/Microsoft_Foundation_Class_Library&quot; rel=&quot;nofollow&quot;&gt;MFC&lt;/a&gt; versus straight Win32 API calls. We used Win32 API, and whenever we interviewed someone who only used MFC you could sense how little understanding they have of how the magic works under the hood, knowledge which can be extremely useful in many cases. It&#039;s the same thread that goes back to whether programmers should learn about operating systems internals and CPU logic.</description> <content:encoded><![CDATA[<p>Excellent post. It&#8217;s no accident that it&#8217;s not the other way around, Microsoft made this a habit long ago. Before .NET came along, there was <a
href="http://en.wikipedia.org/wiki/Microsoft_Foundation_Class_Library" rel="nofollow">MFC</a> versus straight Win32 API calls. We used Win32 API, and whenever we interviewed someone who only used MFC you could sense how little understanding they have of how the magic works under the hood, knowledge which can be extremely useful in many cases. It&#8217;s the same thread that goes back to whether programmers should learn about operating systems internals and CPU logic.</p> ]]></content:encoded> </item> </channel> </rss>
