An Introduction To Java
Java is not just a programming language, but an entire platform of libraries, execution environment - security, portability, automatic garbage collection.
Brief history:
1991 : Java founders at Sun Microsystems want to create a language suitable for consumer devices(cable) - so it has to be small and also platform neutral.
1994 : Mosaic browser - need for a language like java. Sun creates HotJava browser to show off java and the craze begins.
1996: Java 1.0 - no print
1997: 1.1 - refelection, GUI event model, inner classes
1998: 1.2 - SE, ME(embedded devices), EE
2000-2002: 1.3-1.4 - libraries, performance
2004: 1.5-> 5 - for each, loops, autoboxing, annotations, enums, static import
2006: 6 - libraries, performance
2009: Oracle buys Sun
2011: 7 - switch string, diamond op
2014: 8 - functional style prog, lambda expressions, streams, interfaces with default methods
2017: 9 - modules
2018: 11- var
2021: 17-records
Buzz words:
Simple : cleaned up C++, small(embedded devices)
Object oriented : data=objects, interfaces to objects
Distributed: access objects across net(HTTP/FTP)
Robust: compile time and run time checks, memory cant be overwritten and corrupted
Secure: secure over a network
Architecture neutral : code compiled to bytecode that can run anywhere
Portable: No implementation dependency, datatypes size doesnt vary as in C++
Interpreted : executes bytecode - fast
High performance: frequently executed bytecode to machine code - hotspots - Just In Time Compiler
Multithreaded: fast and real time
Dynamic: changing libraries without impacting dependent code, adding code to running programs
~