News for hackers. Stuff that matters.
Re:The Smalltalk Revolution by gamache on Thursday January 08, 2015 @02:52PM (#8858506)
Smalltalk is not the Grand Old Man of programming languages, but the future of software development created 40 years in the past.

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!

Re:The Smalltalk Revolution by i_am_ralpht on Thursday January 08, 2015 @03:11PM (#8858630)
Smalltalk as a live environment blurs the boundaries between runtime and editing code. There's a video on ThingLab[1], a constraint solver, from 1978 where Alan Borning draws constraints graphically and then switches view to show the code that was generated. When he manipulates a constraint the runtime creates and compiles a new method based on the system that was graphically defined. That kind of thing would still be pretty awesome today (who generates JS at runtime for performance?).

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...

Re:The Smalltalk Revolution by gamache on Thursday January 08, 2015 @03:39PM (#8858843)
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?"

Seeing features you like and porting them to a system where you can use them isn't cargo culting. It's progress.

Re:The Smalltalk Revolution by jbergens on Friday January 09, 2015 @10:20AM (#8862541)
Unless you miss the bigger picture. Of course you can use any part you like but if the main value comes from a combination which you are no longer using while you still thinks you're using the same method/idea it might be seen as cargo culture.
Re:The Smalltalk Revolution by klibertp on Thursday January 08, 2015 @03:34PM (#8858794)
Reducing "Smalltalk experience" to "windows, images, menus and pointer" is a gross mischaracterisation. Reducing "Smalltalk the language" to message passing is similarly unfair.

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.

Re:The Smalltalk Revolution by drather19 on Thursday January 08, 2015 @04:48PM (#8859244)
We use Smalltalk for a good portion of our distributed control system on our semiconductor manufacturing equipment (at least the non-RT critical portions). It's actually sort of awesome to be able to test/rework/enhance the software on the fly as we discover things we'd like to change in the clean room without having to go through traditional implement/build/deploy cycles. There's certainly other caveats about working in the environment we have, but those we can chat about offline :).

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.

Re:The Smalltalk Revolution by cbsmith on Thursday January 08, 2015 @09:01PM (#8860326)
> And tons of languages (not least of which is C++) have taken Smalltalk's cue on object oriented design.

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".

Re:The Smalltalk Revolution by GregBuchholz on Friday January 09, 2015 @12:41PM (#8863252)
>Is that a joke? C++'s approach to OO is practically antithetical to Smalltalk's. There's a famous Alan Kay quote about it.

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..."

Re:The Smalltalk Revolution by ScottBurson on Thursday January 08, 2015 @08:04PM (#8860124)
"Actually I made up the term "object-oriented", and I can tell you I did not have C++ in mind." -- Alan Kay