Views
- State: published
100 Reasons Why Java is Better than .NET
|
|
Finally, looks like we have arrived! The 100th entry:
96. AntAnt started life as the build tool to replace Make. It is now used for tasks other than its original purpose, its used for running automated tests, building documentation, creating installations, configuration, execution of programs and more[http://ant.apache.org/manual/tasksoverview.html]. It also serves as the core of many continuous integration frameworks.However, isn't there a clone called NAnt for .NET? No, claiming that NAnt is a clone ignores that hundreds of extensions that have already been written for Ant. A look at NAnt task list shows 32 tasks. In contrast there are 72 core ant tasks, 52 optional tasks [http://nant.sourceforge.net/help/tasks/index.html], there are also http://ant.apache.org/external.html 38 tasks built by other parties.What this means as a developer is that its much easier to find an Ant ant task to fit your special situation and this means you don't have to code it yourself. Of course that means more time for the important tasks at hand, and therefore better productivity.97. JUnitJUnit is a unit testing framework that serves as one of the cornerstones of agile and test-driven development.The rebuttal again by the .NET community is going to be the same, isn't NUnit available? Again, the answer is No. That's again because the number of extensions [http://www.junit.org/news/extension/index.htm] for JUnit dwarfs what's available for NUnit. The multiple extensions available for JUnit cover the different complexities in which software is deployed. For example there are extensions for GUI development, Web development, App server development, XML development, Small Device development. Furthermore, there are extension on different ways to perform testing like Mock Objects, Integration Testing and Load Testing, NAnt in contrast only gives you basic JUnit. In summary, if you want to use JUnit in anger, that is testing vigorously and comprehensively, then the tool of choice is obviously JUnit and its extensions.98. RefactoringRefactoring, another cornerstone of agile development. For the .NET audience who don't understand what this means, get a primer at http://www.refactoring.com/ . Anyway, the refactoring support that's available for Java is heads and shoulders above anything available to the .NET community. Some may argue that .NET has refactoring support, coming from some small company, well my retort is this, "have you ever tried it?"What should one look for when evaluating a refactoring tool. For starters, it helps that it has a comprehensive list of refactorings, second it helps to know that the refactorings are not constrained, third how robust (i.e. correct) are the refactorings , and finally how easily can you revert from changes. Take a look now at IntelliJ or Eclipse evaluate them with the criteria above, now go take a look at what's available in .NET. Come back when you've discovered the truth.99. Better CVS SupportCVS, for the .NET audience that means Concurrent Versions System, not the pharmacy! Anyway, CVS is used throughout the open source world to version control software artifacts, CVS repositories are readily available on the public internet. I'm not going to debate if CVS is better than X, however I'm going to say that it's affordable and allows for world wide collaboration.Ant supports CVS, unlike NAnt, furthermore the Eclipse IDE is arguably the best client ever designed for working with CVS.100. Eclipse MomentumEclipse, the open source IDE framework. Yes, it is the 100th entry. Why? I can go on trying to convince you that its the best thing invented since sliced bread, but I don't think I could convince you.However, what's is strikingly clear and obvious is the momentum that it has generated. C# people keep claiming that C# has "momentum", however if you want to see real "momentum" (actually velocity, more on this later) you have to see what's happening at the grass roots level for the Eclipse community. To get a good graphic picture of what's happening, go to sourceforge and search for "Eclipse". You'll find over 50 active projects building Eclipse plugins, there are even more not listed at sourceforge, you can find them here [http://eclipse-plugins.2y.net/eclipse/index.jsp]. No do the same for VS.NET, scower the web using the word "Addin" (that's the VS.NET equivalent term), find anything? I guess not much right?Consider then this, Eclipse 2.0 was released in June last year, when was VS.NET 1.0 released? People argue that this list isn't fair because Java is older and therefore would have more support. Now, you have the argument the otherway, VS.NET 1.0 is older than Eclipse 2.0, so shouldn't that mean it should have more support?
The .NET proponents have continued to argue about philosophical and theoretical reasons. This list deals with reality, it deals with the options that are available to you when you start any project. What are the tools that I need to complete the task, maybe I don't need realtime support, maybe I do. Whether the reason is relevant to you or not, you decide, however its definitely relevant to someone else in the audience.
There's also this talk about "momentum". If you did take some basic physics, you now that momentum is mass times velocity. So, seeing how fast things move isn't the whole equation, you've got to look at the mass. That's my point, the Java community is massive, it may seem not that fast, that's because you can't reinvent the wheel in java and be perceived as making progress. With .NET every reinvention, the libraries, open source tools, are all perceived as "progress".
If you want to see movement in Java you have to look at the bleeding edge, that's where the action is, unfortunately the bleading edge isn't familiar to most, so they don't recognize it when they see it. That's pretty sad, as sad as a freight train approaching a man standing in its way, not knowing what's about to happen.
If you're wondering, where is the 101st entry? Well that'll be the icing on the cake when the list has been edited and reviewed. Here's a hint "tail recursion".
Last modified 2003-08-17 06:02 AM
100 Reasons Why Java is Better Then .NET
Guys, This war about .NET and JAVA is crap. If you earn your bread and butter using JAVA then it is the best platform for you. Forget "open source" crap. Stastics show that companies are fast switching to the .NET platform for various reasons. The share value of Sun Java is dropping each day. The developer market for JAVA is shrinking fast. Basically the coffee cup is getting colder. Look at Mindware's stastics when comparing the two platforms on various performance counters. JAVA lags far behind. If still in doubt, I suggest that you have a look at VS.NET 2005 which also ships Team Studio. Why 100, I can give you 1000 reasons which will underscore JAVA. The fact is, clients drive technology. So cool it please.
Thanks and Regards,
Pankaj Kumar
WOW!
.... Not only did you claim there are a hundred reasons JAVA is better, you actually enumerated them.
In a world where Talk is Cheap, I commend thy efforts.
I also agree with the guy above, the debate as to which is better is really pointless and endless. Kinda like ... A .NET person will always find a way to defend .NET
I can't blame someone making a living from .NET for saying it's better than JAVA, quoting this, quoting that, referring this and that, article this and that.
People will always believe what they wanna believe in.
Oh and by the way.... I use both =)
Thanks,
Rom
You've got to get a life
There are so many different reasons for using Java or .Net. They each have their pros and cons. At the end of the day they are both mature and exciting technologies. Any technologist worth their salt would welcome both technologies being available. Anyone exerting the effort to document 100 reasons why one technology is better than the other shows the distinct characteristics of a religious extremist. You really need to get a life.
I just tried to view the rest of the list...
... I couldn't find it, the blog is so old. But, I did find this other gem you wrote:
'Honestly, I've been procrastinating about publishing a final form, afterall I don't feel too motivated because ".NET" appears to be dead anyway. '
Very funny!



You could write a whole 'nother 100 reasons for why Eclipse is better than VS...
Has anybody ever tried to create a solution with 20 or 30 projects in it in VS and in Eclipse? and then tried to run anything? Eclipse is lighning fast and VS sends me to the coffee machine every time...
etc, etc...
Replies to this comment