Why Smalltalk is not Popular

First - is it popular? The first 10 min of this video list several places it is heavily used, but are in the background (such as shipping and Kapital).

Check this blog relative to Uncle Bob, and a page specific to Pharo.

Check the Caper-Jones Study

This is a loaded question that can easily start a language war. Others have asked the same, others are actively promoting it; and the programming language adaption may be a lemon market with too much institutional knowledge. In general, many popular languages weren't intended to be popular.

Some blame the editor, other langues like J have a similar forced editor, and they haven't done too well. The Smalltalk browser optimizes coding.

Most of the answers to this involve history, which isn't that helpful. Alan Kay gave the reason that it was too new, which can be subjective.

Some may complain that it's lack of binary precidence rules is a problem, for example this evaluates to 8, not 6:

2 + 2 * 2

In school it was blamed on the age of the parser, however this paper indicates precidence rules may not be a good thing anyways.

2024-Feb-3 - Need to look at the companies behind it in the 80s

Why Smalltalk Should be Popular

Programming language choices matter. Smalltalk has a simple syntax making it easy to use. It is more productive than most languages. Here's a smalltalk report about the debugger, Pharo has custom debuggers, Ruby lacks the full object implementation to support it.

Smalltalk does get some love, and here too http://www.sapphiresteel.com/Tutorials/sapphire-ruby-in-steel-tutorials/Programming/Ruby-The-Smalltalk-Way-1, order of arguments (ln example). As well as http://blog.smartbear.com/devops/todays-smalltalk-a-second-look-at-the-first-oo-language/.

Smalltalk proponents usually mention productivity comparisons

The world needs better quality software - for security, and ... Its my experience that the simplicity of Smalltalk improves the quality of the software written in it.

Other languages blame their unpopularity on difficult concepts like monads. This is not to say Smalltalk does not have difficult concepts, it just seems to express them better than other languages.

One thing that hasn't helped Smalltalk it that the original setup and configuration is done in a GUI. For example, to write a Ruby hello world app, one can completely describe it in text. For Smalltalk, those first steps need several screenshots.

Past the first steps, one can easily run into a frustrating problem, once one is aware of the solution, recalling it relies on recognition, not recalling text. In many cases, the solution is never documented.

Therefore, as Smalltalkers, it is very important to explain with screenshots and videos.


Examples

Knowing the problem and doing something about it are very different.


Why Not Self or Lisp

Smalltalk traces it ideas back to the Self programming language, it has ...

Smalltalk is designed to be interactive, like lisp.

http://practicaltypography.com/why-racket-why-lisp.html, similar to PicoLisp, you can define your own if

Would Smalltalk be more popular if it was provably more understandable?

An in-depth look into why Lisp isn't popular.

Posted by John Borden link