Design a site like this with WordPress.com
Get started

Why I Love Rust and Smalltalk

Rust is a great language for its intended purposes and usage. Unfortunately, no language is good for everything and there are always major trade-offs.

Personally, I think a great companion language for Rust is Smalltalk. Its strengths are Rust’s weaknesses, and its weaknesses are Rust’s strengths.

Smalltalk is supremely simple and easy to learn and use. The entire language can be summarized on a post card! Smalltalk is much easier than even Python or JavaScript.

Smalltalk is supremely productive. It is not uncommon to write a Smalltalk application in a fraction of the time it would take in Python, JavaScript, or Java.

Smalltalk is highly extensible just like Lisp! No, it doesn’t have macros but the language itself is practically a DSL!

Smalltalk is infinitely scalable thanks to its OOP purity. Alan Kay has likened Smalltalk to an internet of tiny servers (or objects), or to a biological system of cells.

Smalltalk allows for “live programming.” You can inspect and modify code and data while the application is running! This practically eliminates the edit-compile-test-debug cycle that hampers most developers.

Smalltalk’s image-based programming is great for application portability. It’s very much like a Docker container. Smalltalk’s image resembles a compiler, IDE, and virtual OS host (VirtualBox, VMware) all rolled into one. And just like in VirtualBox, you can save/restore the Smalltalk image preserving the total execution state of your application! This is enormously powerful and convenient.

And with TDD (test-driven development), which Smalltalk pioneered under Kent Beck, Smalltalk can be used to write highly reliable software. No need to worry about ownership and memory leaks. Admittedly, garbage collection can be both a strength and a weakness, which is why I propose Smalltalk as a companion language.

Smalltalk is wonderful for most kinds of applications…enterprise, web, IoT, robotics, AI, AR/VR, etc. No, I wouldn’t use Smalltalk for number-crunching or real-time control systems. But for many developers, it delivers ease of learning, ease of use, productivity, shortest time to market, and so on.

This is why, for example, Rust and Smalltalk are the two favourite languages of Prof. Dave Mason, Chair of Computer Science at Ryerson University in Toronto, Canada. And they’re my favourite languages, too.

One response to “Why I Love Rust and Smalltalk”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: