I spent some years coding in this language and that gave me the opportunity to hear a lot of stupid things about Java. Some bigger than others. There are a lot of hilarious beliefs but I will count here only the most hilarious ones, which I heard myself in the past:
Java is lazy, a hundred times more than C++
False. It is true that Java uses a virtual machine to run, and that can hurts performance. But the differences are now very small. Years ago I read an article exposing a comparison analysis on math computations, which gives almost identical result. Thanks to JIT. Yes, I know that this not cover everything, but gives us a clear hint on that.
This mass rumours smell like Microsoft Good Guys propaganda. On that time they gives us COM and COM+ as being the most advanced way to integrate applications. Maybe just because tehy received a slap over their hands when they tried to modify Java in their own way. Maybe not. But that was the most presius slogan everywhere: virtual machine is bad, binary code integration is the way. Of course, they "forgot" when they put on the table .Net.
Java is not well suited for writing serious applications
There are some important hackers which still believe that Java is a too higher level language to write serious applications. We hear everytime that great hackers use C. And it is said that there are no great programmers which prefers Java.
So I should think that Josh Bloch, Geir Magnusson or Gavin King are some script kiddies, or that Geronimo, JBoss AS or Sun Application Server are some pitty tools on which you can play tetris, at most?
In Java you can write anything, don't have to know anything else
Here we meet other kind of fanatics, the ones which don't like the prevoius point. In my opinion, anybody with medium experience in programming understands that a technology (programming language, library, paradigm, standard) looks at a problem from its own point of view. Here we found Pareto. 80% of the things are done easily, the rest of 20% are possible to be done. Java is no exception, even if nobody had ever count the numbers.
Swing is slow
Is true that Swing is slower than any other native GUI. But when comes to graphic interfaces this is the less critical aspect. The most important thing is how good is the model behind UI. In practice an excelent model underneath the GUI is better native controls which implies a lot of tricky things when writing code. From this point of view, Swing is probably the best.
Who don't believe I invite him to try to implement a rich form with some validation inside in Visual Basic. Or to try to implement a frame with hundreds of controls. Wish him luck.
Java is better/worse than PHP/C#/C/C++/VisualBasic
Finally we meet the last category of fanatics. That kind of comparisons are often unappropriate moslty because are too general or too specific. As a sample comparing Java and PHP is a nonsense. PHP is a rich set of tools which helps creating web applications, so you can compare that with JSP, JSF or something like that.
As a clue for all kind of extremists, there are no programming languages or technologies which solves all the problems. Even if they do, they solves well only some of them. Also, often the reasons behind choosing something or other are far away from classifications and personal affections.
"A fanatic is one who can't change his mind and won't change the subject" -- Winston Churchil
No comments:
Post a Comment