I'm no programmer, but I remember back when Ruby 1.8.7 got really popular because of Rails even though Ruby 1.8.7 was not that secure or stable compared to other environments. (Yes, I know Ruby is better now.) But, I was wondering why someone didn't take Smalltalk (or Squeak or Pharo) and find a way to make it more popular? We have Node, Electron, Java, etc. So why not Smalltalk? Wouldn't it be easier to develop, run faster, and be more cross-platform than those popular environments? Is there something in Squeak or Pharo holding it back?
Maybe the next Tim-Bernes Lee could use it to develop new protocols + a browser and create a safer and secure WWW-alternative?
The short answer is it's different and unfamiliar to most newcomers:
1. The image-based paradigm [1] holds it back. Using Smalltalk, there's quite a change in development style, the existing development tools (text editors, version etc) mostly don't work [2], and deployment is at least slightly different.
2. The unfamiliar UI (mostly Morphic) looked very different.
3. The different (but incredibly simple) syntax looks strange to newcomers.
There are paid tools that fix some of these, but they never quite caught on with lots of momentum, and they were used mostly in bigger enterprise shops. The biggest might have been IBM VisualAge (for Smalltalk), which later morphed into IBM VisualAge for Java and then Eclipse.
[1] The image-based paradigm is really really great. If you haven't experienced it before, give it a go. It's worth it even if you are never going to use Smalltalk. [2] There's been effort to get git to work. I haven't been tracking it, but this was only in the recent few years.
How exactly does the image-based approach mesh with version control like git? I'm trying to picture a possible approach, but failing.