I’ve always wanted to learn another language and platform and being a long-time .NET developer Java seemed the closest to my knowledge and one which would seem easy to learn based on what I already knew.
I’ve put off this for various reason along the last 3-4 years, most of which laziness was chief.
Recently some colleagues moved from our project to another project that involves Java modules and since .NET is not a first-class citizen in my employer’s eyes I thought maybe it could serve me as a kind of an ‘insurance’ – to learn Java.
I’ve obtained (..) some ebooks (Effective Java and Thinking in Java), downloaded JDK, a few IDEs (IntelliJ IDEA and NetBeans, no Eclipse for me, thanks) and started doing HelloWorld’s and stuff like that. I noticed JavaFX (which is quite similar to WPF on which I currently work)
I’ve came across two nice comparisons of Java and .NET, written in a constructive manner (i.e. not “mine is better, na nanana”) :
- Java / C# comparision
- Java for C# Programmers by Cristoph Nahr
Using these two articles I compiled (yes, that’s the original meaning of the word :P) a PowerPoint slideshow.
Then I thought there might be other (.NET developer) colleagues that might be interested in my research and gave an internal presentation based on the slideshow and expanding each item by talk.
I thought I should share it with everyone so here it is (download here) :
I’ve written about Java / C# differences before, and I might continue that series in the near future, with practical examples and counter-examples.
Leaving aside the fact that C# is just better 😈 it seems rather funny to me discussing the difficulties of switching from one “virtual” language to the other.
The biggest value that these languages both promised was that you would only need to learn to program in one language and then you will see the results on every platform. Or alternatively that you could program in any language, with the same end result application. So, in the same mythical fantasy land, one would just program in C# or Java and then just use on virtual machine or another. Well, that never happened and now it seems that, with just another layer of indirection added, we are stuck in the same place, comparing differences and having to accept one programming language having the least issues, rather than using the correct language per specific problem to solve.
I do agree about C# being WAY better, but maybe another tool in our toolbelt can’t hurt. 🙂
Its really helpful for me, awaiting for more new post. Keep Blogging!