Smalltalk to the Redline


Java is the world’s most popular, high-performance, general-purpose programming language. Its JVM (or Java Virtual Machine) is the foundation for several other languages, such as Groovy, Scala, Clojure, and Kotlin. Even non-JVM languages have been implemented for JVM, such as Python (Jython), Ruby (JRuby), and Erlang (Erjang). The reason is simple: everyone wants to take advantage of Java’s popularity, performance, and vast ecosystem of libraries.

Smalltalk is no exception. As good as this language is (and it is very good), it does suffer from several drawbacks, such as a limited ecosystem and less than blistering performance. A Smalltalk implementation on the JVM would address both of these [1].

Enter Redline Smalltalk. It was developed by James Ladd to bring Smalltalk to a much wider audience and to make it more attractive to the enterprise, where running on the JVM is de rigueur. For the enterprise, the benefits are many: ease of training; stress-free development; high development velocity leading to an enormous productivity boost.

Redline creator and maintainer, James Ladd, says:

Redline Smalltalk was created to bring Smalltalk to the JVM to take advantage of the Java ecosystem and tooling, for example, running Smalltalk as Amazon (AWS) Lambda services or integrating with any Java based framework, and to take advantage of the JVM which is improving at a great rate, including support for dynamic languages and taking advantage of 64-bit architectures.
Redline Smalltalk wants to remove as many barriers to Smalltalk adoption as possible by working with current IDEs, source control and development practices. While the traditional Smalltalk IDE and code browser are incredible, they are foreign to developers who have started with a file-based approach. Changing the IDE and development approach while also learning a new language is just too much to ask.
Redline Smalltalk is still a Smalltalk in that you can do everything at runtime, including adding methods to classes, generating and compiling code, and you can even do this with the Java code you integrate with from Redline.
Redline Smalltalk brings Smalltalk to existing developers rather than existing developers to Smalltalk.

Since Redline is based on the JVM, it can work closely with many other JVM-based languages. In the end, it’s all just JVM bytecode.


A year and a half ago, James Ladd took a hiatus from the Redline project to work on something else, but he has returned. We can look forward to Redline 2.0 in 2017.

I’ve recently joined the Redline project to help develop it. I share James’ vision for Smalltalk on the JVM and I expect Redline to make a big splash this year.


[1] So would a Smalltalk that transpiles to JavaScript. See https://medium.com/@richardeng/a-gentle-introduction-to-amber-8c532631e9ab