Friday, August 10, 2007

Smalltalk is dying

I just saw that ObjectArts has discontinued development of Dolphin Smalltalk.

It seems Smalltalk is going the way of the dodo bird. Basically, we're left with a rapidly dwindling number of commercial implementations which are way overpriced considering their relatively low level of polish and functionality; and the only open source option is Squeak, which is not production-ready and never will be. Then there are various dead and semi-dead pre-alpha-stage projects. One commercial Smalltalk which stands out from the rest is Ambrai, but it is in early development, and it is unlikely a proprietary Mac OS X-only product will attract a significant base of library contributions. Perhaps Pepsi will get somewhere, who knows.

A pity, really, considering how computing might look today if things went differently in the early days of Smalltalk.

Update: I wasn't talking about popularity at all. It doesn't matter if Smalltalk isn't popular; for some reason, popular languages tend to suck (Java, Ruby, COBOL, etc.) The problem with Smalltalk is that the implementations are in terrible shape. The closest thing to a usable open source implementation is Squeak, and it leaves a lot to be desired. Common Lisp is an example of a less popular language which doesn't suffer from this problem; open source Lisp implementations are fantastic.

33 comments:

Stinckwich said...

Squeak is production ready : DabbleDb ,based on Squeak is used by numerous users.

Anonymous said...

Squeak use is on the rise because of Seaside, and it is production ready, though not nearly as pretty and polished as Dolphin. Sad to see Dolphin be discontinued.

Smalltalk use is on the rise overall, it's not dying.

Anonymous said...

You just noticed?

Anonymous said...

"Smalltalk use is on the rise overall, it's not dying."

Gee--I guess we just have to take your word for it? Care to provide some hard numbers?

Chris Double said...

That's sad to hear about Dolphin. I purchased and used their professional product at the version stage and used it a lot - until I switched to using Linux. Interesting to read their comment on open source:

"Both Blair and I dislike the Open Source movement intensely and we would rather see Dolphin gradually disappear into the sands of time than instantly lose all commercial value in one fell swoop."

Anonymous said...

Calling Squeak production ready is like calling a tricycle transportation.

I love Smalltalk and think Dolphin was a work of art, but making someone use Squeak day in and out to accomplish production-quality stuff sounds like torture.

Anonymous said...

Well Cincom Smalltalk is growing and people are realizing once again that Smalltalk does things no other can do.

There were plenty of Java IDE vendors that didn't make it does that mean Java is dead? At least with Smalltalk, you have a lnaguage you can depend on that scales unlike Java that made promises that never got delivered on.

I know customers who are taking thier Java apps and moving them to Smalltalk and once again we are on the rise. Is Java dead or dying of course not. The battle for market share goes on and competition is a good thing, it makes us all better and makes us come new ideas etc.

It is sad to see that a fine prodcut like dolphin go under. Maybe some one will buy the rights to it and take it and bring in the features they offered.

James Robertson will be more than happy to provide you numbers. Also There are production apps written in squeak so it is production ready and its feature set is growing all the time. It does some pretty neat stuff as well. Like any language / tool you use the right tool for the right Job.

The thing Smalltalk has suffered from is management that didn't understand it and comit to it. Cincom is commeted to Visual works and look at all the features it has comapred to 6 years ago. faster engine, a huge rich Net library from web services to SSL/ TLS. opentalk and the list goes on. Object Studio is still going and customers are writting new applications it it as well.

Plenty of IDL's went out of business from assembler to C, Than language didn't die.

Smalltalk will thrive for as long as computers are around.

Anonymous said...

Awww. I just started using Smalltalk today. I've been playing with Seaside on Squeak, and it's pretty great.


Care to say _why_ Squeak isn't production-ready and never will be?

Anonymous said...

There's some hypocrisy of some Smalltalk supporters who worship Smalltalk but haven't been able to make it be the preferred platform at their jobs.

Anonymous said...

"making someone use Squeak day in and out to accomplish production-quality stuff sounds like torture."

No, that would be Java. I use Squeak for my living, work in it every day, prefer it to the usual mess market solutions, and have been generally watching Smalltalk continue to gain steam as a whole class of developers begins to mature to the point that they can appreciate it.

sig said...

I wonder, how i come up with smalltalk after years of C/Pascal/Php/Java e.t.c. development.
I telling you: smalltalk is the best programming language i met before.

Anonymous said...

Anyone who says Squeak is production ready has never used Squeak in production. Recently quite a prominent member of the Squeak community seriously considered moving to Java because he could not get uptimes bigger than a two days. It turned out Delays and Semaphores (!!!) were broken all time along. There are dozens of issues like this. One example is that the settings of the GC are tuned for memory sizes of about 1 MB. Don't even get me started about the 1 GB and 120 MB memory issues which tend to crash the image. Or the bugs in ClassBuilder, InterpreterSimulator, Decompiler, .... You need to have several Squeak images per CPU because there is a limit to the amount of punishment a single Squeak image can take. Squeak itself is heavily forked (Squeak, Croquet, Sophie, SqueakLand, SmallLand, ... ). All the code in the image in unmaintained. There are teams but most of the time they don't even integrate submitted fixes for bugs. Development of these packages has stopped. The same situation for the VM. The only VM that is maintened is the Mac VM. The Windows VM will only get new builds if the maintainer needs some fixes for himself. The Unix VM is unmainted. The maintainer of the main VM code publically stated he will do shit unless someone pays him. Squeak is fully of ugly shit code that has just been hacked in for abandoned experiments. That http server Seaside uses on Squeak? Unmaintained and has bugs with HTTP 1.1. That really is just a small list of issues Squeak has.


GNU Smalltalk is the only open source Smallalk I know about. Squeak is not open source.

Anonymous said...

Calling Squeak "Production Ready" is like calling lumber a building material.

Anonymous said...

There are people that continue thinking in terms of "languages". Under this point of view one language born to replace another...
Smalltalk let us (the smalltalkers) think in other ways of building software, as open systems; and show us that we do not need another language when we have the power of change anything...
Smalltalk, as an open system can have many languages inside, and any succesor of smalltalk will be a smalltalk.
Smalltalk will never die because is is not constrained by a formal definition (it is open by definition), nor by it contents (it is open in contents) nor by the number of instances (is is open in time).
Hope you will understand what I am talking about, and it is not a waste of time writing this note in this medium.
Ale.

Stinckwich said...

Could you argument a little more about why are the Common Lisp implementations are better than the Smalltalk one ?

Anonymous said...

Oh maybe we should use Factor? Phah.

Anonymous said...

If you want to see an application built with Cincom you have to give them royalties for each sale. I just can't see putting up with that in this day and age. It's like they're stuck in the 80s.

I would've loved to use Dolphin to build XP apps.

Seaside is cool, I could see using it with Squeak, for web apps with really complex interaction. But for any site the might get huge I'll use Erlang.

Sad day.

jarober said...

Rapidly dwindling? There's been one Smaltalk vendor that has thrown in the towel in the last decade. By this reasoning, Java is in deep trouble, what with all the tool vendors that bailed in the late 90's and early aughts.

Anonymous said...

"Calling Squeak "Production Ready" is like calling lumber a building material."

WTF?!?! Lumber *is* a building material.

Ron Teitelbaum said...

Thanks for your interesting discussion. Slinging worlds back and forth really doesn't define our community.

Smalltalk is only what the developers and the community does with it. From my perspective everything is possible with Smalltalk. We are not limited any more or less then other languages.

Squeak is a very new community, still learning to walk without a corporate sponsor. I would say that we are hanging together extremely well.

As for the production quality of Squeak. There is no question that it is and will be production quality software for a long time to come. Production quality comes from developers that can deliver production quality software. I've seen plenty of bad code in many different languages. If you look seriously at fundamental limitations of the language itself you will find plenty, but you will find the same situation in every language. Finding solutions given your tools is the job of experienced developers.

You will find no better qualified developers in any language. Smalltalk is not dead or dying. It is difficult for some people to understand. For those that do get it, it is so much easier then anything else. For those that don't get it, no amount of polish will help them understand. Anyone interested in Object Oriented Programming should study Smalltalk. If you can get it there, where everything is an object, you can transfer your knowledge anywhere.

Smalltalk builds great programmers. Great programmers create terrific programs. Squeak, and Smalltalk have a lot to add. Programming itself is changing and embracing the techniques born in Smalltalk. Distributed dynamic software is not dying it is becoming essential. If you haven't noticed that Smalltalk was right all along then you haven't been paying attention.

Wait and see,

- Ron Teitelbaum

Anonymous said...

Lumber *is* a building material.

Precisely. And Squeak is production ready, the raw material -- the lumber -- in many well-functioning existing products and many yet to come. The idea that Squeak is doomed because it's still being improved is a bit like the idea that chickens are extinct because somebody saw an omelet.

Anonymous said...

"Slinging worlds back and forth really doesn't define our community."

And yet you just participated. You didn't event answer any of the assertions/questions directly--instead preferring to respond with assertion after assertion of your own without any data:

"Smalltalk builds great programmers."

How and why? What is a Lisp/Haskell/OCaml/Erlang/Oz programmer going to learn from Smalltalk that will make them a "great" programmer?

"Squeak, and Smalltalk have a lot to add."

Like what?

"Programming itself is changing and embracing the techniques born in Smalltalk."

Again, another useless assertion. How is programming changing and embracing those techniques? If you've been paying attention, a lot of people are getting excited about Erlang and Haskell. Where does mutable stateful objects fit in with those languages?

"If you haven't noticed that Smalltalk was right all along then you haven't been paying attention."

Right about what, exactly? See above. Do you have any substantive arguments?

Anonymous said...

Smalltalk is dead. Long live Smalltalk.

Smalltalk is everywhere. It's in Java, it's in Objective C, it's in Ruby, it's in Qt's slots, it's in ECMAScript 4... and more!

The ideas of Smalltalk have won out in the end, with other approaches like C++ breaking under the strain of different demands on old designs.

Smalltalk has some problems because of its design choices, but Objective C can be used almost as a pure Smalltalk (with line noise spattered through it).

So no, Smalltalk continues to live in changed form, just as it was designed to write programs that could change.

Anonymous said...

"Smalltalk is everywhere. It's in Java, it's in Objective C, it's in Ruby, it's in Qt's slots, it's in ECMAScript 4... and more!"

The same could be said of Lisp, which Kay has called "the greatest single programming language ever designed". Without Lisp there would be no Smalltalk. But what's the point of that anyway?

"The ideas of Smalltalk have won out in the end, with other approaches like C++ breaking under the strain of different demands on old designs."

What the heck are you talking about? I can't think of a single piece of software that I use daily that was written in Smalltalk. The same cannot be said for C/C++, Lisp, Java, Python, Perl and php, whatever you think of those languages.

It's cool that you really dig
Smalltalk, but keep it honest. A lot of the Smalltalker comments have been using the appeal to emotion fallacy instead of using any basic logic.

Anonymous said...

I wish VisualWorks was a freeware given away by some big company.

Then there would be only one dialect and others contribute libs to it.

Anonymous said...

Smalltalk is dead!
Compare the number of Smalltalk jobs on any internet job site against jobs for say C#, C++, Java, etc. The numbers squeak (speak) for themselves.. If you are a Smalltalker, get out while you still have a job!

Anonymous said...

The shift of Microsoft away from the Win32 API to the .net platform (and the associated presentation foundation) has not helped and would mean a dedicated development effort of sufficient intensity that we just can't commit to it given the potential returns.

What really killed it was this commitment to one platform. I remember reading a presentation by an old software developer and the things he learned: commit to standards and commit to open platforms. UNIX is open and it's still standing. OTOH, these guys aren't the only product Microsoft killed.

Anonymous said...

I note that Object Arts have changed their minds - they are still not planning to continue development, but they will continue to sell the current version. They originally announced that sales would stop immediately.

This is a great shame - Smalltalk is my favourite language, but not all implementations of it are equally nice. Dolphin, despite being limited to the Windows platform, is the best development platform I know of.

Anonymous said...

It's cool that you really dig Smalltalk, but keep it honest.

You have no idea what I said, do you?

My point was that the ideas of Smalltalk have gone past the specific syntax that people are calling "Smalltalk", and gone out into many other languages.

Alan Kay changed the syntax of Smalltalk numerous times, and the syntax of the current version (80) of Smalltalk was by Dan Ingalls.

That you don't use any software written in Smalltalk is entirely beside the point and has no relevance whatsoever.

Anonymous said...

"Smalltalk is dead!
Compare the number of Smalltalk jobs on any internet job site against jobs for say C#, C++, Java, etc. The numbers squeak (speak) for themselves.. If you are a Smalltalker, get out while you still have a job!"

Hmm. This is the same anonymous who posted here:

"Smalltalk is dead. Compare the number of job opportunities on any internet job site against the number of job opportunities for C#, Java, C++, etc. The numbers speak for themselves. This recent event just proves the lack of money offered for Smalltalk skills..."

Someone paying this guy to post this stuff? It sounds scripted.

Anonymous said...

"What really killed it was this commitment to one platform. I remember reading a presentation by an old software developer and the things he learned: commit to standards and commit to open platforms. UNIX is open and it's still standing. OTOH, these guys aren't the only product Microsoft killed."

I agree. It's possible to work with Smalltalk in a way that is multi-platform, both in terms of the underlying OS and the VM you use. Some VMs are themselves multi-platform. There's an ANSI standard for Smalltalk.

To the anonymous post-er who ticked off a litanny of problems with Squeak I'd ask him/her to try out the maintainers' distribution of Linux (from the source) for a while (not the commercial distros). You'll see the same kind of chaos and encounter similar frustrations. The difference with Linux is it has corporate backing which smooths it out. Squeak has had corporate backing at various points in its life, but it doesn't right now.

If you want a reliable Smalltalk platform that you don't have to tinker with to get the bugs out, buy a commercial version. That's what Dolphin Smalltalk was. It was well liked. Something about the business model just didn't work. If they can find a buyer, great. That'll save it. If they'd open source it rather than let it fade into oblivion that would alleviate the pain for the developers as well, at least in the short term.

Anonymous said...

"Both Blair and I dislike the Open Source movement intensely and we would rather see Dolphin gradually disappear into the sands of time than instantly lose all commercial value in one fell swoop."

it's so sad to hear this kind of talk. the "dislike intensely" part really annoyed me, and i don't really think that open sourcing a project makes it lose all its commercial value; it might or might not be true of dolphin, but there are many counter-examples.
on the other hand, if dolphin is really being forgotten and became economically unsustainable, i can understand the frustration of the developers in seeing the result of many years of dedicated work go wasted.
in the end i can only thank them big time for releasing a free community edition of x6, it's a really nice and well-done product. now if it weren't for that "dislike intensely" i might consider buying the pro version, i hope they won't be out of business by the time i forget about it.

"What really killed it [dolphin smalltalk] was this commitment to one platform [windows]".

it probably plays a part. and that "dislike intensely" probably explains such commitment... if so, it really paid back, i can see.
but the general turn of the corporate world away from smalltalk plays a much bigger part in my opinion; it's not that windows is disappearing anytime soon, and many projects are still being developed in pure (not "managed" .net) c++ on windows.

"I wish VisualWorks was a freeware given away by some big company."

well...

http://www.strongtalk.org/
http://code.google.com/p/strongtalk/
http://strongtalk.googlecode.com/files/strongtalk.gcc-linux.image.tgz

the next best thing, if not even better.
developed by sun microsystems, given away as open source (fortunately they don't hate it), already in the process of being ported from windows to linux. it has a reputation of being the fastest smalltalk implementation ever. i'm using it since too short to really say much about it; it has a somewhat "dated" look in the gui but otherwise rocks.
btw i've read of plans about using its vm for squeak and ruby. now if ruby (which i like anyway) could lean a bit more towards smalltalk than perl it would be a good thing i think.

Kirk Fraser said...

I've committed to Squeak variant Cuis to run my robot because of the license and cross platform capacity that will enable my hardware to be sold without paying Microsoft for anything. I will move to Ubuntu, Susse, or something similar as soon as I can rewrite some legacy code. For my webpages, eventual conversion to Seaside.

Unfortunately money is important and I'm working to make it unimportant by redefining church without the business component, building a free power device, and building a robot to do my work.