Browsing Reddit introduced me to RailsConf: What killed Smalltalk could kill Ruby, too The keynote speech by Robert Martin. I found it to be quite interesting as I had been monitoring odd posts on the Rails community and its general attitude.
Some of the points made by Robert on why Smalltalk contracted in popularity included:
It was too easy to make a mess.
And the mess was found late in the project timeline, leading to failed projects.
Smalltakers didn't want to deal with the boring 'corporate' tasks.
Leading to the rise of programmers using other languages to earn a corporate living.
When Smalltalk was 'riding high', a tendency to look down on other languages.
This would alienate the general population of programmers.
Robert put in a big, recurring, plug for both TDD and refactoring IDEs as ways to keep Ruby alive.
One comment he made was that he thought that in the dynamic vs static typing, language wars: Dynamic won and cited as evidence that most mainstream 'static' languages such as Java, C++ and C# have ways to do dynamic type checking – although badly. I wouldn't go that far, as I suspect that little of the mindset of programming in a dynamic language such as Python would be adopted by a C# or Java programmer. I suspect that they will use the dynamism available to them as a last resort as part of a design pattern to solve a particular sub-problem.