Live data from Hacker News

The Rise and Fall of Commercial Smalltalk

wirfs-brock.com

21–30 of 141 posts

Re: The Rise and Fall of Commercial Smalltalk

#21
One of the things that Allen only barely hints at and I'm not sure Gilads piece really touches on was the shifting economics in Software development. In 1995/96 when Java gut punched the wind out of Smalltalk and the other OO solutions (CLOS, Eifel, Beta, etc), they spent a butt load on marketing and gave the stuff away for free. In other industries it would be called "dumping." It wasn't just Sun giving Java away. It was also the beginning of the rise of Linux, also free. I remember a colleague pointing out "there is no money in tools anymore, there's a few niche islands left, but they'll fail too."

I think neither of these articles aptly covers this counter trend enough. Whilst Smalltalk had come out of the kind of freeish academic research zone with its small band of developers of un-patroned developers trying to eke out a living, the industry was clamoring to free and open source.

What I wouldn't give to have closures that were as simple and robust and approachable as Smalltalk in any of the languages I work in today (Swift, Kotlin, Python, Dart, C).

(Did 20 years of Smalltalk, including 6 years at Cimcom)

Re: The Rise and Fall of Commercial Smalltalk

#22
post #13

Earlier quoted context omitted.

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?

No, the project got cancelled before Java showed up. Sybase pretty much went down the tubes after that as a major DBMS vendor. Not because our project failed, but because Sybase had a dud release in 1993 named System 10 that had serious quality problems and tanked sales.

Re: The Rise and Fall of Commercial Smalltalk

#23
post #15

Earlier quoted context omitted.

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…

Not only did I saw plenty of interviews of Alan Kay, I learned OOP with Turbo Pascal 5.5, improved my OOP skills with Turbo Vision 6.0 in TP 6 and Borland C++.

Later moved into Turbo Pascal for Windows and Turbo C++ for Windows, using Object Windows Library, followed by early versions of C++ Builder and Delphi, using Visual Component Library.

Used Smalltalk/V during university, was introduced to the alternative OOP programming models of SELF, SWI Prolog, Native Oberon (including Oberon-2 / Component Pascal) and plenty of other stuff, including being a Java early adopter and pushing C++ with IDE tooling on places still stuck in C.

So yeah, Smalltalk was a genius environment and everyone has a different learning process.

For example I try to stay away from UNIX cli as much as I can, yet I learned UNIX via Xenix in 1993 and used almost every major UNIX variant since then.

Re: The Rise and Fall of Commercial Smalltalk

#24

One of the things that Allen only barely hints at and I'm not sure Gilads piece really touches on was the shifting economics in Software development. In 1995/96 when Java gut punched the wind out of Smalltalk and the other OO solutions (CLOS, Eifel, Beta, etc), they spent a butt load on marketing and gave the stuff away for free. In other industries it would be called "dumping." It wasn't just Sun giving Java away. I…

That was definitely a major point.

Re: The Rise and Fall of Commercial Smalltalk

#25
post #20

Earlier quoted context omitted.

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.

I would guess pretty much all the DBMS vendors in the early 1990s had people looking at VMs and were mentally prepared for Java when it arrived.

In addition to other advantages DBMS designers were looking for better ways to compile queries into executable representations (aka bytecode). That path still exists but I think the tendency now is to harness tools like LLVM and do JIT compilation.

Re: The Rise and Fall of Commercial Smalltalk

#26
Discussions about Smalltalk almost always remind me of Self[0] from Sun. It is an extremely simple prototype-based programming language. An object can have many "parents", and defines properties on itself to expose an interface. It's really fun to mess around with. The Morphic UI is kind of archaic though.

[0]: https://selflanguage.org/

Re: The Rise and Fall of Commercial Smalltalk

#27
post #19
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?

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.

The free part certainly helped adoption over time, but at the time Java first arrived everyone was conditioned to pay for IDEs and most compilers for that matter. Java took off because of the reasons I cited up-thread rather than cost. It was initially marketed as a language for web browsers. Most of us just ignored that use case and put it to work in enterprise apps.

Re: The Rise and Fall of Commercial Smalltalk

#28
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…

> I couldn't believe that anyone would want to mouse-around to poke through the available classes and methods. So I dont know a ton about smalltalk outside of what I've read and poking aside in squeak for a few minutes, but is this how smalltalk apps were supposed to be distributed and run? Inside a sandboxes system like that?

On certain systems, there are tools that make them feel more native. Eg. on Dolphin Smalltalk which ran on Microsoft Windows, you can run a utility to stripped off the unnecessary parts (eg. the browser/editors and unused classes) of the image and it gets bundled into an .exe which includes a VM. A user wouldn't know it's running Smalltalk.

It turned out to be an excellent tool to write Windows app during its time. The live environment worked extremely well in working with and figuring out ActiveX and COM objects.. Even better than VS Studio at that time.

Re: The Rise and Fall of Commercial Smalltalk

#29

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…

Same: the first thing i ever did in a Smalltalk environment - after grinding through swapping floppies in and out of my Mac Plus for twenty minutes - was define an empty LinkedList class, or rather, redefine the LinkedList class that the Smalltalk kernel used to schedule threads to be empty.

Re: The Rise and Fall of Commercial Smalltalk

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

Also, you could share Java code, or entire libraries or applications, by posting some files on a website. You already had the files, and someone downloading them could use them straight away. To share Smalltalk code on a website, you would go through the file out / file in process, which was considerably clunkier.

Also, i don't think Smalltalks of the time had namespaces, which also makes sharing code harder to get right. Java's reverse-DNS package naming is a surprisingly important innovation.

Post reply on HN