Your comment reads a bit like "we cargo-culted the things we could see in the Smalltalk environment, but didn't understand the underlying philosophy or elegance of what had been made; what's left to learn?" (I know that's probably not what you meant, but I feel like there's a lot left to learn from Smalltalk and the tools that were built with it).
[1]: http://en.wikipedia.org/wiki/ThingLab (see link 4 for the video; it's really fun to watch).
Also check out: https://github.com/cdglabs/thinglab -- there's a link to a St-78 image with ThingLab. Also interesting to note proportional fonts, text selection (by Larry Tesler) and popup menus, all of which I thought came later...
Seeing features you like and porting them to a system where you can use them isn't cargo culting. It's progress.
Imagine an environment where you can modify and debug every single program you run without ever restarting it; where every little part of GUI of every program is there for you to manipulate (in real time, without restarting) if you want. Environment where you can grab an item from a deeply nested menu and pin it to the desktop, change its color and make it spin, while still being able to click it and invoke the function it's supposed to call. Environment where you can inspect and modify everything in real time (have you seen "Inventing on Principle" by Bret Victor?), from GUI artifacts to underlying models, to system resources, to the very core of the system. An environment which you can clone with one click and run anywhere with a real, not Java-like, guarantee that it will work exactly the same way as for you.
Well, that's still not quite it and there are many other things "left for Smalltalk to accomplish", but hopefully you get the picture.
From what I've read and played with (briefly), JRebel gives you a bit of this experience on the Java side as well, though I've never used it extensively enough to know if it delivers a comparable experience.
It's not that far removed from what many web application developers take for granted in terms of ability to make/test/refine changes on a live system with ease, but it does bring more of this experience to other functional domains.
Is that a joke? C++'s approach to OO is practically antithetical to Smalltalk's. There's a famous Alan Kay quote about it.
> Objective-C and later Ruby swiped Smalltalk's message passing semantics and basic object model and freed it from its all-or-nothing execution environment.
Actually, there have been many implementations of Smalltalk since the old days of park that have "freed it from its all-or-nothing execution environment".
Alan Kay's C++ quote comes from his speech, "The Computer Revolution Hasn't Happened Yet":
http://blog.moryton.net/2007/12/computer-revolution-hasnt-ha...
"...it's interesting, again, to look at what is actually being done in the world under the name of OOP. I've been shown some very, very strange-looking pieces of code over the years by various people, including people in universities, that they have said is OOP code, and written in an OOP language—and actually, I made up the term object-oriented, and I can tell you I did not have C++ in mind. [Laughter and applause] An important thing here is—I have many of the same feelings about Smalltalk..."
Yup. And that future was realized in systems less monolithic than Smalltalk. The WIMP interface made it to most major platforms by 1990. Objective-C and later Ruby swiped Smalltalk's message passing semantics and basic object model and freed it from its all-or-nothing execution environment. And tons of languages (not least of which is C++) have taken Smalltalk's cue on object oriented design.
What more is there left for Smalltalk to accomplish? That's not bad, for a language which basically never made it out of PARC for two decades!