I'm angry because the cult-building around Smalltalk is stupid and I fell for it and wasted years trying to see what was there.

- It's stupid because you can use Pharo today; Smalltalk isn't dead. Try it and find out if it's great. They're trying as hard as they can to keep it relevant and it's a constant struggle because they have to build from scratch everything Smalltalk didn't invent.

- It's stupid because tiny languages like Smalltalk beget huge libraries; I have owned ~20 books on Smalltalk and all but two of them were essentially useless tours of defunct libraries. (The other two are fantastic and useful no matter what language you're using, if it's OOP.)

- It's stupid because most of what was powerful about Smalltalk is either nowhere in sight or became mainstream years ago. I'm angry at the cult-building because it builds nostalgia instead of systems. It makes it easy to spurn what we have and make excuses for our own non-productivity—obviously I'd be so much more productive if only it were 1985 and I had Smalltalk! If Smalltalk GUI building is so great, how come nobody uses it today? Because it's maddeningly inferior to everything we have today. Take your "Javascript fatigue" and try out Morphic, tonight. Here's a bottle of Rogaine and vue-cli for when you lose your hair and sanity trying that little experiment.

The cult-building is maddening because it misses the truly amazing things. To appreciate the amazing things requires immersion, and immersion sucks! You know, if you make a web app with Seaside and it throws an exception, you can serialize the debug window, bring it down to your image and continue the debugging session locally. The serialization works on blocks, which is to say closures, so you get the whole state of the app locally. Has the OP tried this lately? Because it only works if you use the newest serialization method, if you have exactly the same code in both images, and once you make the change in your local image, how do you get it up to the server again? Oh, you either have to endure the awful homegrown Monticello VCS (inseparable from its insufferable GUI, because Smalltalk) or you have to do the file-out file-in trick with git, because Smalltalk hates external tools.

It's a cult because MVC, in the overarching sense that it would have to mean to be applicable to all the aforementioned systems, would have arisen organically without Smalltalk because it's just a sensible design. It's a cult because messaging in the broadest sense that must be meant by including completely different things like Erlang and LINQ predates Smalltalk. If you ascribe things to Smalltalk (or influential people who happened to use Smalltalk) that did not originate in Smalltalk, you are taking Smalltalk as more important than history or fact, and that is the essence of building a cult. Methods-as-messages originate in Smalltalk, sure. If you say Smalltalk invented that, that's true. But of the five things mentioned, only Ruby has that. Java, Javascript, LINQ and Erlang do not. They are not Smalltalk's inheritors; they don't owe their concepts to Smalltalk, even if the same people worked on it.

Smalltalk was great, is great. Pharo is great. What makes it a cult is the alpha-and-omega bullshit. Great ideas happened before and after Smalltalk. They chose general names for specific ideas. History is mutilated if we ascribe to Smalltalk the general ideas or give Smalltalk credit for unrelated things because some of the same folks were in the room.