{"id":16,"date":"2012-08-20T11:21:28","date_gmt":"2012-08-20T15:21:28","guid":{"rendered":"https:\/\/www.ericsross.com\/?p=16"},"modified":"2012-08-20T11:21:28","modified_gmt":"2012-08-20T15:21:28","slug":"net-vs-java","status":"publish","type":"post","link":"https:\/\/www.ericsross.com\/?p=16","title":{"rendered":".Net vs Java"},"content":{"rendered":"<p>I am sure that you are wondering, or have been brought here by trying to decide the merit or differences between Microsoft&#8217;s .Net and Sun\/Oracle&#8217;s Java platforms.\u00a0 There are a ton of sites that will give you the technical differences, ( Wikipedia has a few good ones: <a title=\"Java\/.Net Comparison\" href=\"http:\/\/en.wikipedia.org\/wiki\/Comparison_of_the_Java_and_.NET_platforms\" target=\"_blank\">http:\/\/en.wikipedia.org\/wiki\/Comparison_of_the_Java_and_.NET_platforms<\/a> and <a title=\"C# vs Java\" href=\"http:\/\/en.wikipedia.org\/wiki\/Comparison_of_Java_and_C_Sharp\" target=\"_blank\">http:\/\/en.wikipedia.org\/wiki\/Comparison_of_Java_and_C_Sharp<\/a>) and I will touch on the differences, but here is the biggest and only substantial difference: personal preference.<\/p>\n<p>&nbsp;<\/p>\n<p>About me, briefly: I learned VB.Net in college, right after it was released.\u00a0 Many thanks to Dr. Jenny, who will likely never read this, but had the forethought to teach a class on this new technology, and it was a revelation to me and felt far superior (which it is, and I can defend that position easily) to C++ which I had studied previously.\u00a0 I then entered the workforce doing a combination of VB.Net and C# depending on the project (see a future Musing for those practical differences).\u00a0 After about 4-5 years of .Net work in various capacities, I took it upon myself to learn Java and try to expand my knowledge base.\u00a0 I studied several books and took the SCJP certification test, which I passed handily.\u00a0 Passing it handily was a result of study, but honestly was mainly a result of knowing C# and how to use it.<\/p>\n<p>&nbsp;<\/p>\n<p>Throughout the years, Microsoft and Sun\/Oracle have copied each other and the great ideas that they have respectively had: generics and collections, delegates, properties, foreach loops, anonymous things. There has been an almost constant convergence that\u00a0 has started to reverse, but I believe will continue in the long term.\u00a0 As one iteration of a language invents a new way of doing things, the other will inevitably follow, however, they will both attempt to stay ahead of the other.\u00a0 Consider this similar to the great marketing rivalries in technology, Microsoft\/Google vs. Apple, Microsoft vs Sony vs Nintendo.\u00a0 Perhaps the biggest similarity is that Microsoft is always on one end of it!<\/p>\n<p>&nbsp;<\/p>\n<p>Having gone from .Net to Java, specifically C# 3.5 to Java 6, it was very straightforward and easy to adjust.\u00a0 Coming back from Java 6 to C# 4.0 was likewise easy, however one thing that is overlooked in the technical discussion is the IDE.\u00a0 Microsoft&#8217;s Visual Studio is a great IDE.\u00a0 Especially once you are used to it and finding everything, it works great.\u00a0 Snippets and searching and managing projects is great, as well as integration with Visual Source Safe and\/or Subversion for source control.\u00a0 Oracle&#8217;s Eclipse is also a great IDE.\u00a0 If you are ever trying to learn how to work with it, <em><strong>print out a cheat sheet of keyboard shortcuts!<\/strong><\/em>\u00a0 (<a title=\"http:\/\/www.n0sl33p.org\/dev\/eclipse_keys.html\" href=\"http:\/\/www.n0sl33p.org\/dev\/eclipse_keys.html\" target=\"_blank\">http:\/\/www.n0sl33p.org\/dev\/eclipse_keys.html<\/a>)\u00a0 I find myself missing the shortcuts like Cntl+Shift+R\/T for quick class opening immensely.<\/p>\n<p>&nbsp;<\/p>\n<p>If you are going from C# to Java, it will be as easy as getting used to Eclipse.\u00a0 If you are going from Java to C#, I recommend reading a book to get used to Visual Studio and the Microsoft world as a whole.\u00a0 If you are going to or coming from VB.Net, then you are in trouble, unless you have done some C-related coding in the past.\u00a0 In that case, pick up an introductory book to VB.Net or Java to ensure you can grasp the syntax differences.\u00a0 VB.Net reads like a book, Java and C# read like code, and you may need a translator to pull that off.\u00a0 The general object oriented topics and abstraction will always be the same and at the end of the day any of these can meet your needs and they all have pluses and minuses, but it really just depends on what your coder likes the best.\u00a0 Always put them in a position to give you the best code and you will [usually] get the best code.\u00a0 Frameworks and platforms can be adjusted easily, but coders who are stuck in their ways cannot.<\/p>\n<p>&nbsp;<\/p>\n<p>Personally, I miss Java right now, but I really missed .Net when I was working with Java, so that just means that they&#8217;re truly about the same!!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I am sure that you are wondering, or have been brought here by trying to decide the merit or differences between Microsoft&#8217;s .Net and Sun\/Oracle&#8217;s Java platforms.\u00a0 There are a ton of sites that will give you the technical differences, ( Wikipedia has a few good ones: http:\/\/en.wikipedia.org\/wiki\/Comparison_of_the_Java_and_.NET_platforms and http:\/\/en.wikipedia.org\/wiki\/Comparison_of_Java_and_C_Sharp)<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,10,3],"tags":[],"class_list":["post-16","post","type-post","status-publish","format-standard","hentry","category-net","category-java","category-musings"],"_links":{"self":[{"href":"https:\/\/www.ericsross.com\/index.php?rest_route=\/wp\/v2\/posts\/16","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ericsross.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ericsross.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ericsross.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ericsross.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=16"}],"version-history":[{"count":1,"href":"https:\/\/www.ericsross.com\/index.php?rest_route=\/wp\/v2\/posts\/16\/revisions"}],"predecessor-version":[{"id":17,"href":"https:\/\/www.ericsross.com\/index.php?rest_route=\/wp\/v2\/posts\/16\/revisions\/17"}],"wp:attachment":[{"href":"https:\/\/www.ericsross.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=16"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ericsross.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=16"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ericsross.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=16"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}