Wednesday 14 December 2016

Advantages and Disadvantages of java

Advantages:

  1. Java is Simple: Java was designed to be easy to use and is therefore easy to write, compile, debug, and learn than other programming languages.
  2. Java is Object-Oriented: Java is object-oriented because programming in Java is centered on creating objects, manipulating objects, and making objects work together. This allows you to create modular programs and reusable code.
  3. Java is Platform-Independent: One of the most significant advantages of Java is its ability to move easily from one computer system to another.
  4. Java is Distributed: Distributed computing involves several computers on a network working together.
  5. Java is Interpreted: An interpreter is needed in order to run Java programs. The programs are compiled into Java Virtual Machine code called bytecode. The bytecode is machine independent and is able to run on any machine that has a Java interpreter.
  6. Java is Secure: Java is one of the first programming languages to consider security as part of its design.
  7. Java is Multithreaded: Multithreaded is the capability for a program to perform several tasks simultaneously within a program.
  8. Language is common. Pick two random Java developers and you can be certain they "speak" same Java. Pick two random Haskell developers and you may be surprised.
  9. Lots of mature off-the-shelf libraries and tooling, both free and commercial.
  10. JVM provides a lot of standard off-the-shelf functionality that would otherwise need custom devopsing.



Disadvantages:


  1. Performance: Java can be perceived as significantly slower and more memory-consuming than natively compiled languages such as C or C++.
  2. Look and feel: The default look and feel of GUI applications written in Java using the Swing toolkit is very different from native applications.
  3. Single-paradigm language: Java is predominantly a single-paradigm language. However, with the addition of static imports in Java 5.0 the procedural paradigm is better accommodated than in earlier versions of Java.
  4. Checked Exceptions
  5. Thread.currentThread().stop(e)
  6. Using static
  7. Singletons
  8. Get a library or framework
  9. Using double
  10. Using null value
  11. Limited options for latency-critical tuning. If you have to spare every millisecond, Java is not the best choice.
  12. Not very handy for one-off throwaway scripts.
  13. Desktop GUI packages take effort to make application look native; especially on Mac.

                No comments:

                Post a Comment