Java

Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers “write once, run anywhere” (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation.

For example, you can write and compile a Java program on UNIX and run it on Microsoft Windows, Macintosh, or UNIX machine without any modifications to the source code. WORA is achieved by compiling a Java program into an intermediate language called bytecode. The format of bytecode is platform-independent. A virtual machine, called the Java Virtual Machine (JVM), is used to run the bytecode on each platform.

  • Mobile applications (specially Android apps)
  • Desktop applications
  • Web applications
  • Web servers and application servers
  • Games
  • Database connection
  • And much, much more

  • Java works on different platforms
  • It is one of the most popular programming language in the world
  • It is open-source and free
  • It is secure, fast and powerful
  • It has a huge community support (tens of millions of developers)
  • Java is an object oriented language which gives a clear structure to programs and allows code to be reused, lowering development costs
  • As Java is close to C++ and C#, it makes it easy for programmers to switch to Java or vice versa

Java can be downloaded from the website, oracle.com, then follow the right installation procedures.

Java is the most used language in the world and is used still in creating games and mobile applications so it is still a much needed skill to have.

Java is definitely considered easier to be used than C++ due to the library part. Java generally has better libraries. Java is purely based around object-oriented programming with the whole "everything is a class" mentality. Java has no structs, but better enums.

Data types are divided into two groups:

  • Primitive data types - includes byte, short, int, long, float, double, boolean and char
  • Non-primitive data types - such as String, Arrays and Classes

  • Simple and straightforward to use
  • Object-oriented
  • Platform-independent
  • Shortage of security risks

  • Uses too many words in coding
  • Java programs take much longer time to run compared to C or C++
  • Takes more memory space