Start Rust

Rust is a low-level programming language that can generate native binaries and Web Assembly code. It touts itself as being performant, reliable, and productive. The main idea behind Rust is to avoid as many runtime exceptions as possible, especially those related to memory access. For that reason, it provides an additional "borrow checker" that verifies that memory is used safely and throws errors at compile-time when it's not: this adds a layer of complexity compared to most other languages. This focus is dedicated to understanding more about Rust in general and data ownership in particular.

From Imperative to Functional Programming

Whether one likes it or not, there's now denying that there's currently a huge trend toward Functional Programming. It started with the Scala language that bridged Object-Oriented Programming and Functional Programming. But there's also the Clojure languages that fully embraces FP. And even since Java 8, features of FP have started to creep in. However, most codebases in so-called OOP languages are imperative. This focus is all about the migration from one type of programmning to another.

Scala vs. Kotlin

Scala and Kotlin are both JVM languages. Scala was incepted earlier, and got some traction thanks to developers interested in Functional Programming on the JVM. Kotlin is more like the cool kid on the block, but has recently seen tremendous success, thanks to both Google and Pivotal supporting it respectively on Android and with the Spring framework. Scala is more powerful and academic, while Kotlin is more pragmatic. This focus aims to compare both languages in specific areas.