{"id":9,"date":"2006-12-01T12:16:21","date_gmt":"2006-12-01T16:16:21","guid":{"rendered":"http:\/\/hardlikesoftware.com\/weblog\/2006\/12\/01\/why-i-like-working-with-java-more-than-net\/"},"modified":"2006-12-04T11:51:08","modified_gmt":"2006-12-04T15:51:08","slug":"why-i-like-working-with-java-more-than-net","status":"publish","type":"post","link":"https:\/\/hardlikesoftware.com\/weblog\/2006\/12\/01\/why-i-like-working-with-java-more-than-net\/","title":{"rendered":"Why I like working with Java more than .NET"},"content":{"rendered":"<p>For many years I enjoyed working on the Windows platform writing applications in C++, Win32, <abbr title=\"Microsoft Foundation Class Library\">MFC<\/abbr> and <abbr title=\"Active Template Library\">ATL<\/abbr>\/<abbr title=\"Windows Template Library\">WTL<\/abbr>.  I was not an early Java adopter.  I had taken a Java course but continued to work in C++.  More and more of my friends had made the switch to Java and told me how much they liked it.<\/p>\n<p>In 2002 I started programming in Java. In 2005 I took a course on <abbr title=\"C sharp\">C#<\/abbr> and .NET as well as doing my own learning. I only got a little hands on experience with it because I was doing to much management.<\/p>\n<p>There are many things about C# that I like more than Java:<\/p>\n<ul>\n<li>The verbatim strings: @&#8221;string that can span lines&#8221;<\/li>\n<li>Unsigned integers<\/li>\n<li>Structs for defining your own value types<\/li>\n<li>How types are unified so that value types can be used as objects (Boxing and Unboxing). Yes, Java has this now but the C# way seems more unified.<\/li>\n<li>The namespace concept is a little better than packages.<\/li>\n<li>Properties<\/li>\n<li>Delegates and events<\/li>\n<\/ul>\n<p>I can take or leave the <abbr title=\"C sharp\">C#<\/abbr> preprocessor. I&#8217;m not too fond of attributes or annotations. They have their uses (and abuses) I just haven&#8217;t had a strong need for them. I didn&#8217;t work with the .NET library enough to say if I like it better than Java. I don&#8217;t like ASP.NET because it doesn&#8217;t seem as flexible as the Java layering of Servlets and JSP. I could be wrong about that.<\/p>\n<p>The reason I like Java better, and it out weights all of C#&#8217;s advantages, is the perceived attitude of the Java community. When I look around at what is going on in the Java community I see many people working on all kinds of interesting things. There is an attitude of &#8220;Hey that would be cool, I&#8217;ll build it&#8221;. When I look around at the .NET community I get the sense that people are waiting around for Microsoft to provide all the infrastructure.<\/p>\n<p>I know this is a gross generalization. I&#8217;m sure there are people doing interesting things with .NET and more importantly people who are happy to be working with .NET. This is just how I perceive things. As a data point there are about 5,000 C# projects on <a href=\"http:\/\/sourceforge.net\/\">SourceForge<\/a> and 23,000 Java projects. This could be because Java has been around longer or perhaps SourceForge is not the place to look for .NET projects.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For many years I enjoyed working on the Windows platform writing applications in C++, Win32, MFC and ATL\/WTL. I was not an early Java adopter.&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/hardlikesoftware.com\/weblog\/2006\/12\/01\/why-i-like-working-with-java-more-than-net\/\">Continue reading<span class=\"screen-reader-text\">Why I like working with Java more than .NET<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5,4],"tags":[],"_links":{"self":[{"href":"https:\/\/hardlikesoftware.com\/weblog\/wp-json\/wp\/v2\/posts\/9"}],"collection":[{"href":"https:\/\/hardlikesoftware.com\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hardlikesoftware.com\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hardlikesoftware.com\/weblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hardlikesoftware.com\/weblog\/wp-json\/wp\/v2\/comments?post=9"}],"version-history":[{"count":0,"href":"https:\/\/hardlikesoftware.com\/weblog\/wp-json\/wp\/v2\/posts\/9\/revisions"}],"wp:attachment":[{"href":"https:\/\/hardlikesoftware.com\/weblog\/wp-json\/wp\/v2\/media?parent=9"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hardlikesoftware.com\/weblog\/wp-json\/wp\/v2\/categories?post=9"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hardlikesoftware.com\/weblog\/wp-json\/wp\/v2\/tags?post=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}