Java is a VM-based, object-oriented programming language developed by Sun Microsystems (now owned by Oracle) in 1995. It's design philosophy is to require as few dependencies as possible and be able to write code once and run on any platform that supports it. Over the years, Java has become one of the most popular languages (especially with beginning and intermediate programmers), but is also one of the most hated due to poor design choices and its userbase. Also, JavaScript has absolutely nothing to do with Java other than the name.

Pros and cons


  • Easy to learn
  • Large community
  • Plenty of tutorials and documentation
  • Cross-platform and platform-independent
  • Built in memory-management and garbage collection
  • Support for web-applications via applets (Deprecated)
  • Natively supported on Android


  • Very verbose syntax
  • Bad reputation in both the game industry and software industry mostly due to being used by the worst programmers
  • Poor design choices and features that are refused to be implemented because of compatibility
  • No support for operator overloading
  • No support for indexers
  • No support for plain-data structs
  • Arrays are only one-dimensional
  • No GOTO control flow
  • Supports only object-oriented programming
  • Very resource heavy
  • Java programs are very easily decompiled or reversed engineered, but this may not be an issue depending on your point of view

Supported tools







Sample code

Hello world

public class HelloWorld  // Class name must be the same as the .java file
    public static void main(String[] args) {
        System.out.println("Hello, world!");
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License