KEMBAR78
Beyond Java - Evolving to Scala and Kotlin | PDF
Evolving to Scala and Kotlin for Modern Development
Beyond Java
Haim Michael https://lifemichael.com
Key considerations for transitioning
to modern JVM languages
life michael meetups
https://meetup.com/lifemichael
Introduction
• The goal of this session is to equip you with insights that will allow you to
make informed decisions about moving to Scala or Kotlin.
Why Moving Beyond Java?
• Modern development demands more expressive, concise, and
functional-capable languages. Java is robust but lacks many capabilities
that developers find in modern languages such as Scala and Kotlin.
The Scala Programming Language
• Scala is a high-level, statically typed, multi-paradigm programming language
designed to combine the best features of object-oriented and functional
programming.
• Scala was developed by Prof. Martin Odersky. The first version of Scala was
released in 2003.
• The code in Scala can be compiled into java byte code.
The Scala
Programming
Language
The Kotlin Programming Language
• Kotlin is a modern, statically typed programming language developed by
JetBrains. The first version was officially released in 2011.
• Kotlin supports both object-oriented and functional programming paradigms.
• Kotlin has gained popularity due to its ease of adoption for Java developers,
making it an accessible yet powerful language for modern applications.
• The code in Kotlin can be compiled into Java byte code.
The Kotlin
Programming
Language
Scala and Kotlin Similarities
• Both Scala and Kotlin are very similar. Moving from Scala to Kotlin or from
Kotlin to Scala should be relatively simple. Both languages share the
support for most of today’s modern languages’ capabilities, such as
Pattern Matching, Primary Constructor, Extension Functions, Defining
Objects, Properties, and Lambda Expressions.
Scala and Kotlin Similarities
• Scala and Kotlin allow us to integrate smoothly with systems already
developed in Java. Whether we choose to develop a new project in Kotlin
or Scala and use a Java library that was already developed or whether we
choose to do the other way around, the integration is straightforward.
Scala and Kotlin IDEs
• I strongly recommend using the IntelliJ IDEA. The community-free version
is sufficient.
• The IntelliJ IDEA’s support, both for Kotlin and for Scala, is smooth and
straightforward.
The Popularity of Kotlin and Scala
community
popularity
Big
Small
Low
High
Scala
Kotlin
Java
The TIOBE Index:
https://www.tiobe.com/
The Support for Big Data & Coroutines
Big Data
Coroutines
High
Low
Low
High
Scala
Kotlin
Java
Learning Curve and Ease of Development
Ease of Development
Learning Curve
High
Low
Simple
Difficult
Scala
Kotlin
Java
The null Safety & First Class Functions
First Class Functions
The null Safety
Mechanism
High
Low
Doesn’t Exist
Exists
Scala
Kotlin
Java
Mobile Apps & Server Side Development
Support for Server Side Development
Support for
Mobile Applications
Development
Strong
Weak
Strong
Weak
Scala
Kotlin
Java
Mobile Apps & Server Side Development
Support for Functional Programming
Support for OOP
Strong
Weak
Strong
Weak
Scala
Kotlin
Java
Summary & Conclusions
• Both Scala and Kotlin are very similar. Moving from Kotlin to Scala and
from Scala to Kotlin is very simple.
• Scala would most likely be the preferred option if support for big data is
needed. If the support for Big Data isn’t a factor, it would most likely be
better to move forward with Kotlin.
Questions & Answers
• Thanks for attending my talk.
haim.michael@lifemichael.com
+972 54 6655837
https://blog.lifemichael.com

Beyond Java - Evolving to Scala and Kotlin

  • 1.
    Evolving to Scalaand Kotlin for Modern Development Beyond Java Haim Michael https://lifemichael.com Key considerations for transitioning to modern JVM languages life michael meetups https://meetup.com/lifemichael
  • 2.
    Introduction • The goalof this session is to equip you with insights that will allow you to make informed decisions about moving to Scala or Kotlin.
  • 3.
    Why Moving BeyondJava? • Modern development demands more expressive, concise, and functional-capable languages. Java is robust but lacks many capabilities that developers find in modern languages such as Scala and Kotlin.
  • 4.
    The Scala ProgrammingLanguage • Scala is a high-level, statically typed, multi-paradigm programming language designed to combine the best features of object-oriented and functional programming. • Scala was developed by Prof. Martin Odersky. The first version of Scala was released in 2003. • The code in Scala can be compiled into java byte code.
  • 5.
  • 6.
    The Kotlin ProgrammingLanguage • Kotlin is a modern, statically typed programming language developed by JetBrains. The first version was officially released in 2011. • Kotlin supports both object-oriented and functional programming paradigms. • Kotlin has gained popularity due to its ease of adoption for Java developers, making it an accessible yet powerful language for modern applications. • The code in Kotlin can be compiled into Java byte code.
  • 7.
  • 8.
    Scala and KotlinSimilarities • Both Scala and Kotlin are very similar. Moving from Scala to Kotlin or from Kotlin to Scala should be relatively simple. Both languages share the support for most of today’s modern languages’ capabilities, such as Pattern Matching, Primary Constructor, Extension Functions, Defining Objects, Properties, and Lambda Expressions.
  • 9.
    Scala and KotlinSimilarities • Scala and Kotlin allow us to integrate smoothly with systems already developed in Java. Whether we choose to develop a new project in Kotlin or Scala and use a Java library that was already developed or whether we choose to do the other way around, the integration is straightforward.
  • 10.
    Scala and KotlinIDEs • I strongly recommend using the IntelliJ IDEA. The community-free version is sufficient. • The IntelliJ IDEA’s support, both for Kotlin and for Scala, is smooth and straightforward.
  • 11.
    The Popularity ofKotlin and Scala community popularity Big Small Low High Scala Kotlin Java The TIOBE Index: https://www.tiobe.com/
  • 12.
    The Support forBig Data & Coroutines Big Data Coroutines High Low Low High Scala Kotlin Java
  • 13.
    Learning Curve andEase of Development Ease of Development Learning Curve High Low Simple Difficult Scala Kotlin Java
  • 14.
    The null Safety& First Class Functions First Class Functions The null Safety Mechanism High Low Doesn’t Exist Exists Scala Kotlin Java
  • 15.
    Mobile Apps &Server Side Development Support for Server Side Development Support for Mobile Applications Development Strong Weak Strong Weak Scala Kotlin Java
  • 16.
    Mobile Apps &Server Side Development Support for Functional Programming Support for OOP Strong Weak Strong Weak Scala Kotlin Java
  • 17.
    Summary & Conclusions •Both Scala and Kotlin are very similar. Moving from Kotlin to Scala and from Scala to Kotlin is very simple. • Scala would most likely be the preferred option if support for big data is needed. If the support for Big Data isn’t a factor, it would most likely be better to move forward with Kotlin.
  • 18.
    Questions & Answers •Thanks for attending my talk. haim.michael@lifemichael.com +972 54 6655837 https://blog.lifemichael.com