Image for post
Image for post

In general, becoming proficient in Scala is a benefit for many reasons: It is a multi-paradigm language (functional, object-oriented) with syntax closely resembling that of Java, and even has access Java libraries and compiles programs on a JVM. In this post, we look over the lesser-known benefits of Scala, and why one might consider using the language to approach a task or project.

Benchmarking Speed

In terms of execution speed, we already know Scala has great benefits since it is a compiled language. But how does it stack up to other compiled languages, such as C++ and Java? …


Image for post
Image for post

In our previous Scala guides, we covered Scala on a very external level; installation, syntax and semantics, debugging and unit testing. In this guide, we aim to explore Scala’s toolchain and internals.

Finally, please ensure that you have installed both Scala and scalac, the language and its compiler respectively. This means you will also need the Java Development Kit (JDK), preferably JDK8. If you require assistance in setting up any of these, you can refer to our Scala installation guide.

Toolchains and the Scala Compiler (scalac)

A toolchain is a set of ‘chained’ software development tools used to perform complex software development tasks or create software products, including program compilation, debugging, etc. …


Image for post
Image for post

Debugging is an essential skill in any programmer’s toolkit. In general, it is the process of locating and removing errors or bugs within a program. Thankfully, there are a variety of tools that simplify the debugging process to make the programmer’s job more efficient.

In the case of Scala, other than your standard stack trace and print statements, there is not much flexibility in terms of debugging programs when using a command line interface. Instead, the real power of debugging in Scala comes from external software, including Scala-supported IDEs, APIs, and libraries.

In this guide, we will focus on debugging Scala programs using the IntelliJ IDE, a method of debugging that has become increasingly popular and well-documented. In case you need to help installing the IntelliJ IDE, or need to know the necessary steps to set up a Scala project in IntelliJ, we recommend you take a look at our installation guide. Note that we are using sbt to build our Scala projects. …


Image for post
Image for post

Picking up a new programming language can be tricky, this guide aims to simplify that for those looking to learn Scala. We will introduce and go over the main ideas one should know to program in Scala, including expressions, data types, as well as abstraction of data and control.

Introduction to Expressions

Expressions, Values, and Variables

Simply put, Expressions are computable statements, such as adding two values or string concatenation, and a Value is the result of an expression. Using the val keyword, The following Scala code stores a computed value and prints it.

val x = 1 + 1 // implicit declaration
println(x)
val y: Int = 1 + 1 // explicit…


Image for post
Image for post

Scala is a multi-paradigm programming language that runs on the Java Virtual Machine (JVM). In other words, it is a language that supports many different styles of coding, including object-oriented, imperative, and functional programming. The fact that it runs on JVM means that any executable Scala code is guaranteed to yield the same results on a variety of different platforms (A.K.A. portability), including Windows, MacOS, Linux, and Android, among many others.

In this guide, we will show how to get started writing Scala code for both Windows and Linux operating systems. We will also install a user-friendly Integrated Developer Environment (IDE) called IntelliJ that comes packaged with all the tools needed to build Scala Projects, as well as to manage them. …

Alex Heres

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store