Live data from Hacker News

The Rise and Fall of Commercial Smalltalk

wirfs-brock.com

11–20 of 141 posts

Re: The Rise and Fall of Commercial Smalltalk

#11
post #2

Speaking as a Smalltalk programmer active in the 1990s we pretty much dropped everything when Java showed up. It had the things we loved in Smalltalk (portable virtual machine, garbage collection, self-documenting APIs, collection classes, etc.) with the familiar syntax of C++ and concurrency. In a way Smalltalk prepared the way for Java in that it showed how great VMs and garbage collection were.

It’s funny because I’ve only started using it recently and what really captivates me is the live environment. The fact that you can dig in and evaluate/change everything in the same environment you are running it provides an amazing feedback loop. To me it really seems like the “killer feature” of the language but I can’t think of any modern language that has adopted it.

Smalltalk was inspirational, but the environment was a double-edged sword. In ParcPlace Smalltalk even things like stack frames were editable classes. One of the first mistakes I made was trying to edit the stack frame class in a running VM. It immediately corrupted the VM.

BTW another brilliant innovation of Smalltalk was incremental compilation. Edit a method, save, and it was instantly part of the runtime. It must have existed in other systems but Smalltalk was the first language where I encountered it.

Re: The Rise and Fall of Commercial Smalltalk

#12
post #3
post #2

Speaking as a Smalltalk programmer active in the 1990s we pretty much dropped everything when Java showed up. It had the things we loved in Smalltalk (portable virtual machine, garbage collection, self-documenting APIs, collection classes, etc.) with the familiar syntax of C++ and concurrency. In a way Smalltalk prepared the way for Java in that it showed how great VMs and garbage collection were.

I can't understand. People says that ST ecosystem is much superior to nowadays languages, so why people at that time switched to the starter version of java, that is so bad compared to today? After the shift, did you miss something?

I worked on a project at Sybase that attempted to rewrite the Sybase SQL Server using VM-based technologies.

We looked at Smalltalk early on but found a number of problems. They included slow execution speed (there was no JIT), lack of static typing (hard for maintenance), and difficulty to strip the VM environment to create an efficient runtime. Finally it had very limited ability to manage storage and memory directly. Without these it's difficult to build fast database systems.

Sybase tried to acquire a Smalltalk vendor in order to fix the VM problems but could not reach a deal so we ended up moving to other technologies. When Java came along we felt it was the language we had been looking for even with the early performance problems.

Re: The Rise and Fall of Commercial Smalltalk

#13
post #3

Earlier quoted context omitted.

I can't understand. People says that ST ecosystem is much superior to nowadays languages, so why people at that time switched to the starter version of java, that is so bad compared to today? After the shift, did you miss something?

I worked on a project at Sybase that attempted to rewrite the Sybase SQL Server using VM-based technologies. We looked at Smalltalk early on but found a number of problems. They included slow execution speed (there was no JIT), lack of static typing (hard for maintenance), and difficulty to strip the VM environment to create an efficient runtime. Finally it had very limited ability to manage storage and memory direct…

What happened then, did it get rewritten in Java?

Re: The Rise and Fall of Commercial Smalltalk

#14
post #6

I took my first college-level programming class in 1997, learning Smalltalk. 1. IBM VisualAge didn't run in Linux, so I had to buy a second hard drive and a copy of Windows 95. 2. I wanted to be working in a terminal, Smalltalk only let you work in an IDE. I couldn't figure it out. I couldn't believe that anyone would want to mouse-around to poke through the available classes and methods. 3. The text was the IBM manu…

You didn't like Smalltalk. It didn't work for the way your brain works, so much so that you failed a class twice. I'm not quite sure how this adds to the discussion. Clearly IDEs and having to "mouse-around through the available classes and methods" works for many people since this is how documentation in Xcode/Android Studio/Visual Studio works. If the documentation for one Smalltalk implementation was bad, that doesn't mean that others were bad. I don't quite see your point other than that Smalltalk (and one specific implementation of it at that) didn't work for you, a sample size of 1.

Re: The Rise and Fall of Commercial Smalltalk

#15
post #6

I took my first college-level programming class in 1997, learning Smalltalk. 1. IBM VisualAge didn't run in Linux, so I had to buy a second hard drive and a copy of Windows 95. 2. I wanted to be working in a terminal, Smalltalk only let you work in an IDE. I couldn't figure it out. I couldn't believe that anyone would want to mouse-around to poke through the available classes and methods. 3. The text was the IBM manu…

You didn't like Smalltalk. It didn't work for the way your brain works, so much so that you failed a class twice. I'm not quite sure how this adds to the discussion. Clearly IDEs and having to "mouse-around through the available classes and methods" works for many people since this is how documentation in Xcode/Android Studio/Visual Studio works. If the documentation for one Smalltalk implementation was bad, that doe…

Absolutely. It's great hearing tales of people who used and loved Smalltalk.

I'm pushing back against anyone repeating the received wisdom "zomg genius! it was too good to live in this fallen world" without having ever used it.

I don't pretend to be a sample size greater than one, but I think it's worth noting that, in this batch of comments, if you only count the people who used Smalltalk, and not the people who saw an old Alan Kay interview on Youtube, you're likely to be somewhere south of n=20.

Re: The Rise and Fall of Commercial Smalltalk

#16
post #6

I took my first college-level programming class in 1997, learning Smalltalk. 1. IBM VisualAge didn't run in Linux, so I had to buy a second hard drive and a copy of Windows 95. 2. I wanted to be working in a terminal, Smalltalk only let you work in an IDE. I couldn't figure it out. I couldn't believe that anyone would want to mouse-around to poke through the available classes and methods. 3. The text was the IBM manu…

Thanks for the comment. When people talk about smalltalk or lisp, downsides are rarely mentioned.

Re: The Rise and Fall of Commercial Smalltalk

#17
post #5

From inside ParcPlace, it looked like we were starting to gain traction. There'd been a number of spectacular C++ project failures, and people seemed to be willing to try this weird, new (to them) thing that let them get prototypes up quickly and then grow them. Then Java arrived and sucked all of the air and mindshare out of the ecosystem. Java lucked into ideal circumstances, and Sun Marketing played their hand ver…

Then Java arrived and sucked all of the air and mindshare out of the ecosystem. Java lucked into ideal circumstances,

Not only that but Java was free and Smalltalk was $50k/seat. There was a chicken-and-egg problem, no one could learn Smalltalk unless their organisation had already committed to it. It sounds weird to say it now but Java won by grassroots adoption.

Re: The Rise and Fall of Commercial Smalltalk

#18

Earlier quoted context omitted.

It’s funny because I’ve only started using it recently and what really captivates me is the live environment. The fact that you can dig in and evaluate/change everything in the same environment you are running it provides an amazing feedback loop. To me it really seems like the “killer feature” of the language but I can’t think of any modern language that has adopted it.

Smalltalk was inspirational, but the environment was a double-edged sword. In ParcPlace Smalltalk even things like stack frames were editable classes. One of the first mistakes I made was trying to edit the stack frame class in a running VM. It immediately corrupted the VM. BTW another brilliant innovation of Smalltalk was incremental compilation. Edit a method, save, and it was instantly part of the runtime. It must…

BTW another brilliant innovation of Smalltalk was incremental compilation.

Actually, Smalltalk compilation to bytecodes isn't incremental, from a certain point of view. The compiler finishes completely with bytecodes, usually instantly from the POV of the programmer. The compilation is complete. However, the binding is late. (Usually termed "late binding." You see, usually only one method has to be compiled at any given time.)

If the VM is a JIT VM, then there's another compilation step to machine code. Arguably, one could term this "incremental compilation" as well. It fits the colloquial definition of "incremental."

Another weird way one could term the features of Smalltalk, is the argument that it's a strongly typed language. Yes, that's right. It's just that the only type is Object. The differing of behaviors of instances of different classes is just runtime magic. (Late binding again.)

Re: The Rise and Fall of Commercial Smalltalk

#19
post #3
post #2

Speaking as a Smalltalk programmer active in the 1990s we pretty much dropped everything when Java showed up. It had the things we loved in Smalltalk (portable virtual machine, garbage collection, self-documenting APIs, collection classes, etc.) with the familiar syntax of C++ and concurrency. In a way Smalltalk prepared the way for Java in that it showed how great VMs and garbage collection were.

I can't understand. People says that ST ecosystem is much superior to nowadays languages, so why people at that time switched to the starter version of java, that is so bad compared to today? After the shift, did you miss something?

It was free beer, while most Smalltalk products had prices on the enterprise ranges.

Then all C / C++ compiler vendors, jumped on the wave by adding support for the free beer Java SDK on their IDEs.

Just like Linux versus commercial UNIXes of the day, free is a mighty power.

Re: The Rise and Fall of Commercial Smalltalk

#20
post #3

Earlier quoted context omitted.

I can't understand. People says that ST ecosystem is much superior to nowadays languages, so why people at that time switched to the starter version of java, that is so bad compared to today? After the shift, did you miss something?

I worked on a project at Sybase that attempted to rewrite the Sybase SQL Server using VM-based technologies. We looked at Smalltalk early on but found a number of problems. They included slow execution speed (there was no JIT), lack of static typing (hard for maintenance), and difficulty to strip the VM environment to create an efficient runtime. Finally it had very limited ability to manage storage and memory direct…

Interesting, I always felt that Oracle was the first RDMS vendor to take that path (with Java's early adoption and NC).

I was at their shared session (together with Sun) in Lisbon about NC and how it would change the workplace.

Thanks for sharing.

Post reply on HN