Smalltalk ruined my life

The cost of a happy addiction

Richard Kenneth Eng
2 min readAug 17, 2016

--

There are many different kinds of addiction…drugs, alcohol, tobacco, gambling, food, television, videogaming, work, sex, etc. Some are extremely destructive. Others are relatively benign. There is one addiction, however, that I am very happy to have, and that’s Smalltalk programming. It is unlike anything else I’ve used in my 20+ years in the IT industry. The reasons for this addiction can be summed up in the following…

The do-everything sonic screwdriver

Smalltalk has virtually no syntax! Everything is done by message passing, even control structures such as selection and iteration! That makes message passing a sort of sonic screwdriver. Thus, Smalltalk is just about the easiest programming language of any significance to learn and to master. (Scheme is arguably a candidate. Forth is not.)

Smalltalk is the only language to fully embrace “live coding and debugging.” It is baked into the language and its ethos. Some other languages have made feeble attempts to incorporate this quality, but none do it as well as Smalltalk. Smalltalk’s debugger is probably the single biggest reason for the language’s unrivaled productivity.

Smalltalk’s image-based persistence is a powerful and prevalent concept. You find it in OS virtualization such as VMWare and VirtualBox. You find it in a web page’s DOM. You find it in spreadsheets such as Excel. No other language has adopted this, except for JavaScript in the Lively Kernel. I’m not sure how many people actually use Lively Kernel.

Smalltalk is provably the most productive programming language in the world. The velocity of development with this language in unmatched by JavaScript, Python, Ruby, or any other language you care to name. Credit goes to the language’s low cognitive friction and incredibly powerful and easy-to-use environment/IDE/debugger.

Smalltalk is so much fun to use that I don’t want to use any other programming language. Not Java, nor Python (except with web2py), nor C++, nor Ruby, nor JavaScript (because it killed my dog), nor C#. This makes it harder for me to find employment.

Smalltalk is so addictive that it’s constantly on my mind. I crave it. I dream about it. It makes me feel so damn good that I absolutely need it. It has me in its Vice-Grip™ and it won’t let go. I would do anything for it. Absolutely anything.

--

--