Friday, May 27, 2011

Java - Advantages & Disadvatages

Java is now the world's most popular programming platform. About 20% of the developers worldwide use Java as their sole or main development language. But what are the main advantages & disadvantages of this platform ?

In my view, Java enjoys the following advantages:

1. Cross-platform compliant - a Java program can run as it is on every operation system. This means that a developer doesn't have to issue a version for every operation system. This feature is due to the fact, that the compilation in Java produces an intermediate code that the Java platform installed on the computer transforms into a final code compatible with the specific operation system of that computer.

2. Automatic memory dismissal - Java releases every memory block right after it ends its function. In other languages, the programmer has to free the memory by himself, which makes the work harder for him.

3. No double inheritance - when a programmer defines that a class inherits another class (i.e. a class 'Officer' inherits a class 'soldier'), he/she may do it once for every inheriting class. In other object oriented languages, a class may inherit many classes, which may cause many errors.

4. Threads - Java lets developers run several code blocks in parallel, which means that the computer performs a code block for a period of time and when the time ends, the computer starts running another code block and so on.
This feature is especially good for computer with multiple processors (cores), because it makes the computing time shorter.

5. Simplicity - Java is by far the simplest programming language among the main languages. It was designed to be easily learned and easily implemented .

But not all is good about Java. I've found the following disadvantages using Java:

1. Slowness - Java is slower than the other main languages (like: C++ or c#) and more memory consuming. This feature can be crucial in games or graphics development.

2. Weird look - applications developed in Java look to the user quite different compared to applications developed in other main languages. To fix that, the developer has to put extra efforts in.

3. Only objects oriented - basically, it's possible to use Java only as an object orient language. In other language (like c++) there's a possibility of using OOP and procedural code alike.

No comments:

Post a Comment