[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

Re: Java: Slow, ugly and irrelevant

Hi Mithun!

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
> mess. 

That is true. Java has a lot of overhead for trivial
applications. They are better off in some scripting languages.

Sandip Bhattacharya 
sandipb @ bigfoot.com