www.Pixabay.com

Java ecosystem observations – Part 1

Below are some notes on Java which help us to decipher how it has evolved over time since 1995. This is part 1 of the series. This acts as a mini caselet to understand how a successful ecosystem related to an application programming language has evolved over decades.

  • Origins: Bytecode, compile once, run anywhere concept via Java Virtual Machine – 1995
  • Object oriented origins, largely focussed on application programming
  • Steadily in one of the top choices for programming since origin
  • Liberal license & forks under TCK/JCK & OpenJava along with paid, enterprise options of Oracle / IBM and more as of 2022
  • Large open standards, open collaboration & open source influence since the beginning
  • Automatic memory management
  • Top languages built on top of JVM: Java, Kotlin, Groovy, Scala, Clojure as of 2022
  • Associated top products, frameworks, libraries and platforms built on top of Java: Spring, Activiti, jBPM, Drools, Log4j, Kafka, Tomcat, Spark, ElasticSearch and more as of 2022
  • Multi-threaded
  • Platform independent & Just in time
  • Influenced by C/C++
  • Over time, both Java Spring & Jakarta EE have evolved for enterprise Java
  • Has developed coding standards
  • Has a well defined specification ecosystem
  • Spring ecosystem has support for microservices, reactive programming, cloud, webapps, serverless, events, batch, security and more
  • JNI is an option to run native code
  • Thousands of tutorials, blogs, websites, news, videos & technology articles cover Java on routine basis
  • Functional programming concepts recently introduced

References:

  • https://en.wikipedia.org/wiki/Java_(programming_language)
  • https://en.wikipedia.org/wiki/List_of_JVM_languages
  • https://en.wikipedia.org/wiki/List_of_Java_frameworks
  • https://en.wikipedia.org/wiki/Spring_Framework
  • https://docs.oracle.com/en/java/
  • https://openjdk.org/
  • https://google.github.io/styleguide/javaguide.html
  • https://docs.oracle.com/javase/specs/
  • https://cr.openjdk.java.net/~iris/se/11/latestSpec/java-se-11-jls-draft-diffs.pdf
  • https://en.wikipedia.org/wiki/Java_Native_Interface
  • https://www.baeldung.com/jni
  • https://www.baeldung.com/java-functional-programming
  • https://jakarta.ee/

Leave a Reply