Scala

Showing 1-9 of 12 results
EngineeringIcon ChevronTechnology

How to Approach Writing an Interpreter From Scratch

By Sakib Hadžiavdić

How source code becomes a running program is often opaque: "Just run the compiler" is all that developers normally need to know. Writing an interpreter from scratch—including its lexer and parser—is an illuminating challenge.

13 minute readContinue Reading
EngineeringIcon ChevronBack-end

Reduce Boilerplate Code With Scala Macros and Quasiquotes

By Alain-Michel Chomnoue Nghemning

The concise syntax of Scala usually helps developers avoid writing boilerplate. When repetitive code is required anyway, developers can use macros and quasiquotes to keep code clean and maintainable. Here's how.

6 minute readContinue Reading
EngineeringIcon ChevronBack-end

Option/Maybe, Either, and Future Monads in JavaScript, Python, Ruby, Swift, and Scala

By Alexey Karasev

If you're searching for the holy grail of bug-free code in JavaScript, Python, Ruby, Swift, and/or Scala, look no further! This monad tutorial by Toptal Freelance Functional Programmer Alexey Karasev takes you from category theory to the practical implementations of the Option/Maybe, Either, and Future monads, plus a sample program—in all five languages.

23 minute readContinue Reading
EngineeringIcon ChevronBack-end

Scaling Scala: How to Dockerize Using Kubernetes

By Michele Sciabarra

Are you a Scala developer hoping to scale your application in the cloud? If so, meet Kubernetes, a cluster manager for Docker applications. Developed by Google, it's the latest in new open source tools making major waves. In this article, Toptal Freelance Software Engineer Michele Sciabarra guides us through a step-by-step tutorial on how to take a generic Scala application and implement Kubernetes and Docker to launch multiple instances of the application.

11 minute readContinue Reading
EngineeringIcon ChevronTechnology

Get Your Hands Dirty With Scala JVM Bytecode

By Sergey Reznick

The Scala language has continued to gain popularity over the last several years, thanks to its excellent combination of functional and object-oriented software development principles, and its implementation on top of the proven Java Virtual Machine (JVM). Creating a language that compiles to Java bytecode requires a deep understanding of the inner workings of the Java Virtual Machine. To appreciate what Scala's developers have accomplished, it is necessary to go under the hood, and explore how Scala's source code is interpreted by the compiler to produce efficient and effective JVM bytecode.

21 minute readContinue Reading
EngineeringIcon ChevronBack-end

Using Scala.js With NPM And Browserify

By Michele Sciabarra

Today, writing applications in languages that compile to JavaScript is a very common practice. Scala developers, for example, can use Scala.js and have the same language for both the server and the client. That said, Scala's compiler and standard dependency management tools are too limiting in the modern JavaScript world. In this article, Toptal Freelance Software Engineer Michele Sciabarra shows us how to integrate Scala.js with the plethora of JavaScript modules available on NPM, using tools like Browserify, and explains how to do this without even having to install Node.js.

11 minute readContinue Reading
EngineeringIcon ChevronBack-end

Developing for the Cloud in the Cloud: BigData Development with Docker in AWS

By Michele Sciabarra

More and more people are moving their work from desktop applications to the cloud using an equivalent online web application. However, this has unfortunately not been true for software development IDEs. Although there have been some attempts to provide an online IDE, they have not come anywhere close to traditional IDEs. In this article, Toptal Freelance Software Engineer Michele Sciabarra guides us on how to build a cloud-based development environment for Scala and big data applications, with the help of Docker in Amazon AWS.

14 minute readContinue Reading
EngineeringIcon ChevronBack-end

Creating Usable JVM Languages: An Overview

By Federico Tomassetti

Java Virtual Machine (JVM), the powerful virtual machine behind programming languages like Java and Scala, provides a platform-independent environment for executing compiled bytecode. Programming languages built for the JVM can be used to write programs that can run on a wide range of platforms without modification and can even leverage all the libraries and frameworks that exist for the JVM. In this article, Toptal engineer Federico Tomassetti presents an overview of the strategy and various tools involved in creating our very own programming language for the JVM.

9 minute readContinue Reading
EngineeringIcon ChevronBack-end

Context Validation in Domain-Driven Design

By Josip Medic

Handling all validation in domain objects results in objects that are huge and complex to work with. In domain-driven design, using decoupled validator components allows your code to be much more reusable and enables validation rules to rapidly grow. In this article, Toptal engineer Josip Medic shows us how validation can be decoupled from domain objects, made context-specific, and structured well to achieve more sustainable validation code.

10 minute readContinue Reading

Join the Toptal® community.