Transcript
Page 1: JVM ecosystem languages and the future of JVM

JVM Ecosystem Languages and

The Future of JVM

Sazzadur RahamanEngineer

Kona Software Lab.

Mizanur Rahman KhanEngineer

Kona Software Lab.

Page 2: JVM ecosystem languages and the future of JVM

Outline

- Rise of Modern Programming Paradigms- Time to make Hands Dirty- JVM Language Profiles- Why JVM Languages are Growingly Popular- Polyglot Programming in JVM- Some Successful Real Life Architectures- Roadmap of JVM

Page 3: JVM ecosystem languages and the future of JVM

Rise of Dynamic Typed Languages

- Dynamic Typing- Simplicity of Usage- Rich Built in Data Structures- Automatic Memory Management

Pioneered, Rapid Application Development

Page 4: JVM ecosystem languages and the future of JVM

Rise of Functional Programming Languages

- Concurrency and Parallelism inherently

- Succinct, Concise, Understandable

- Modularity

Page 5: JVM ecosystem languages and the future of JVM

Time to Make Hands Dirty

Page 6: JVM ecosystem languages and the future of JVM

Pure Functions

functions without side effect

Page 7: JVM ecosystem languages and the future of JVM

Curried Functions

- f(x,y) = x + y- f(1,y) = 1 + y = g(y)- So, g(2) = 1 + 2- And, g(3) = 1 + 3

Page 8: JVM ecosystem languages and the future of JVM

Curried Functions

Page 9: JVM ecosystem languages and the future of JVM

Tail Recursion

No stack overflow

Page 10: JVM ecosystem languages and the future of JVM

JVM Language Profiles

Page 11: JVM ecosystem languages and the future of JVM

groovy JRuby Jython

Scala Clojure Kotlin

Page 12: JVM ecosystem languages and the future of JVM

Groovy

- Created by James Strachan, around 2003- Strong, Supports both Static and Dynamic Typing- more compact, less verbose- Inspired by Python, Ruby, Perl, and Smalltalk.

Page 13: JVM ecosystem languages and the future of JVM

Scala- Designed By Martin Odersky around 2001- Designed to be a better java, Yet built on top of java - Non-unified type system (primitives vs. objects)- Functional Meets OOP- Type Inference, Anonymous Functions

Page 14: JVM ecosystem languages and the future of JVM

Why JVM Languages are growingly popular

- Access to Java EE technologies, those are scalable, very stable, secured, proven in decades

- Largest developer community- Jvm code optimization- Native threads- Access to extensive java libraries(library, dev tool, ops tool)

- Just in Time Compiler

- Remeber? “Write once, Run everywhere”

Page 15: JVM ecosystem languages and the future of JVM

Polyglot Programming On JVM

Page 16: JVM ecosystem languages and the future of JVM

Classical Class

Page 17: JVM ecosystem languages and the future of JVM

Classical Class

Page 18: JVM ecosystem languages and the future of JVM

Classical Class

Page 19: JVM ecosystem languages and the future of JVM

Polyglot Programming On JVM

- Load test: Gatling- Build and Automation tool: Gradle- Testing Framework: Spock- ORM: Hibernate

Page 20: JVM ecosystem languages and the future of JVM

Real Life Architecture

Page 21: JVM ecosystem languages and the future of JVM

LinkedIn

Page 22: JVM ecosystem languages and the future of JVM

Twitter

- initially monolith application with ruby- backfired on massive scale

Page 23: JVM ecosystem languages and the future of JVM
Page 24: JVM ecosystem languages and the future of JVM
Page 25: JVM ecosystem languages and the future of JVM

Twitter Stack

Page 26: JVM ecosystem languages and the future of JVM

Roadmap of JVM

- JDK 7- invokedynamic- new file I/O

- JDK 8- re-organising memory (remove perm gen)

- JDK 9- Hypervisor-aware JVM - Java module system- Co-operative memory page sharing

Page 27: JVM ecosystem languages and the future of JVM

Whatever happened with Java, JVM will stay and Rock!!!

Page 28: JVM ecosystem languages and the future of JVM

Thank You


Top Related