staticallytyped JVMtargeted programming language JAVA compatible JVM Java
statically-typed JVM-targeted programming language
JAVA compatible JVM Java Script
JVM
How to make a cup of coffee?
A cup of JAVA 7?
Not alone…
What is that “main stream” language? • Language C# Go Kotlin • Libraries A lot So-so All Java • Tools (IDE? ) Visual Studio No IDE Jet. Brains Tools
Modern language for industry
More • Traits (interfaces with code) • First-class delegation • Modules • Generic with proper variance • Extensions (like in C#) • Null safety • Operator overloading • …
What Kotlin is not • NOT A Research project • NOT A proprietary language • NOT A Domain language
Little hands on
Nulls Can be Null
Nulls 2
How JAVA is seen from Kotlin?
Annotations
External annotations
Inferring annotations
What Buys Me?
Jefferson Lab at Newport News
Hall. D
Calibrations problem 11 000 channels Calibration constants 250 000 values Physics 2014 2024
CCDB Infrastructure Map<String, Int> data = calib. Get(“/target/position”) JAVA Python calib->Get(data , “/target/position”) C++ CCDB >Command line tools_ WEB Maintain 2/19/2021 24
My feelings • Language pleasant. • IDE is great • Feels like concise updated C# • Mixing JAVA and Kotlin really works • Readability is high when you know language at least a little
Kotlin for Web?
Web problem 1
No abstraction for css and html
Bravery stupidity?
HTML in Kotlin
CSS in Kotlin
KARA Framework • https: //github. com/Tiny. Mission/kara
Kotlin for Android? • YES! • Jetbrains has Android studio • Kotlin fully works there
Spek specification (testing) framework
How it works • Given – Establish the context of the test, i. e, Arrange • On – Execute the action, i. e. Act • It – Validate the results, i. e. Assert Test run in IDEA
Thank you! • kotlin. jetbrains. com
- Slides: 37