Java Programming Introduction
Java Programming LanguageJava is a general multi-paradigm computer programming language supporting object oriented, imperative programming, functional programming, Reflection and Concurrency paradigms. It is created on the philosophy on Write once Run anywhere. It is a simple, dynamically typed, interpreted, robust, architecture-neutral language and supports portability, high performance, and concurrent execution. It supports creation of Web applications, Desktop UI applications, Mobile applications, Batch processing applications and Distributed applications. Embedded Java is used in smart cards, TV applications, TV applications with internet content, digital watches, digital cameras, GPS receivers, USB devices, SIM cards, Utility meters, sensors, printers, Games, Video-on-demand devices, Bluray Disc players and Set top boxes, ATM, time clocks, slot machines, industrial Robotics and so on. Embedded java is gearing up to be used for Internet of Things (IoT).
Java HistoryJames Gosling and his team initiated the Java project in 1991 and first version released in 1995. It was developed with the C/C++ syntax. It was initially developed so that it can be used in embedded systems. It was initially named Oak after the Oak tree outside James Gosling's office. It was later renamed as Java after the famous Java coffee in James Gosling's area.
Java Evolution | Evolution of Java over C++
C >>> C++ >>> JavaJava was influenced by C and C++. Java was written from scratch to overcome the security and memory issues in C++. C had issues in structuring and maintaining the code. C++ came to the rescue with the option of structuring the code with Objects - Object Oriented Programming. However, C and C++ had complete control over the low level system. This caused issues as programmers had the option of carelessly using the memory and accidently corrupting the data or causing other system level issues. Java was carefully written such that programmers can not cause so many memory issues accidentally.
Java vs Other Programming Languages
Java is an object oriented language and compiled code is highly portable across Operating systems and Platform architectures which no other language could compare itself to.
Java is a general purpose language usable for many type of application - desktop, web, mobile, embedded systems, smart cards and more
- While C and C++ are primary suitable for process based applications, desktop applications and batch processing
- Ruby more suitable for web applications
- Python suitable for desktop and web applications but not for mobile applications
- Android suitable for only mobiles
Java - different editions
- JDK 1.0 (1996)
- JDK 1.1 (1997)
- J2SE 1.2 (1998)
- J2SE 1.3 (2000)
- J2SE 1.4 (2002)
- J2SE 5.0 (2004)
- Java SE 6 (2006)
- Java SE 7 (2011)
- Java SE 8 (2014)
- Java SE 9 (September 21, 2017)
Java as a Motivator
Java is a motivation for many other languages like C#, Android and JRE languages like Groovy, Scala, Clojure, Jython, JRuby and Kotlin