[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
Re: Java: Slow, ugly and irrelevant
Another Java bashing session ??? ;)
The article is too shallow in it's content - a typical piece from
a "techno-journalist" growing up in every nook and corner now a days.
However, as always I have some comments to make.;)
> Lies. Number one: Java is as fast, or faster, than other programming
1. Java is NOT fast, atleast where it should matter - desktop
apps. This is definitely the most worrying part of this
field. The speed disadvantage is in two sides - one, in starting of
the JVM and two, in executing applications.
In server end applications, the first reason is not applicable as
they are ongoing processes. And in point number two, it can't be
EVER be as fast as native apps because of it's bytecode
interpretations. However, I have yet to see the performance of
native code Java compilers, but again they can't be as fast too
because of several reasons. Just comparing with apps in C/C++, when
you trash memory with overrunning pointers, what happens? You take
the machine down. In Java , an exception stops the program. In C,
you keep worrying about memory-leaks, in Java you have a background
garbage collection system. All these slow down the code. In C/C++
you ARE on your own, in Java the JVM does a lot of homework for
you. If they EVER make Java as fast as C/C++, it's got to be a
major science discovery like, einstein's theory being proven
wrong or something...
Java has NEVER been touted as being fast, atleast by people who
know Java or deal with it. This is a lie, or the result of some
marketing propaganda by clueless sales folks.
> languages. And Number two: Java is "portable" -- it is "write-once,
2. Java IS more portable than any other language.
Attempts to make C portable have somewhat succeeded, howver C makes
it too easy to get system specific, while Java makes it very
difficult. While both in C(to some extent) and Java, if you want
you CAN make the program portable, ANSI C is too limited to give an
user complete freedom to design an app)e.g. in areas like GUI, etc.
Using Java you can make even full fledged GUI apps portable.
Again it is all in the programmers hands. You would know that. When
a programmer knows that the s/w has to work on two different
systems, he has a better chance to do it in Java than C/C++.
> <p>Java is far from even being the first attempt at
> portability. Let's not forget that the original motivation behind the
> C<a href="/tech/fsp/glossary/index.html#c">*</a> language, way back in
> the early 1970s, was to create a portable computer language. The
> theory was that a programmer would be able to take a program written
> in C and be able to run it on different computers simply by
> recompiling<a href="/tech/fsp/glossary/index.html#compiler">*</a> the
> source code. And to this end, C has been tremendously successful. I
In those time only *nix systems existed(i think), it was easier to
make C runs the
same way on somewhat similar machines. No one had even dreamt in their
wildest nightmares about the onslaught on Windoze. ;)
> have many programs that can compile and run on Windows, on Intel-based
> Unix workstations and even on Sun Ultra-SPARC servers.
Name one popular application that compiles cleanly on both windows and
unix. And no, cygwin is not an option. ;)
> recompiled. But while the portability works most of the time, Java is
> not, and never will be, a replacement for C or its successor C++.
Java can NEVER be a replacement for C/C++. That's a definite
true. C/C++ is ireplaceable in system related software, and are the
best tools for native development. However Java has it's strengths,
and should be considered as an option in higher level applications.
> <p>The creators of Java tried to make a better C++. But they ended
> up with a language that is ugly, hard to read, and which requires an
Ugly? This guy has never seen a Java code before - that is a definite
true. Rather, he has never seen a perl-obfuscation contest entry in
his lifetime!!! ;) Java and python are some of the most readable
> inordinate amount of typing because of a variety of pedagogical
> restrictions imposed by Java's creators. They ended up with a slow
That is true. Java has a lot of overhead for trivial
applications. They are better off in some scripting languages.
sandipb @ bigfoot.com