Live data from Hacker News

If Smalltalk Is So Good Why Does Nobody Use It

c2.com

41–50 of 74 posts

Re: If Smalltalk Is So Good Why Does Nobody Use It

#41

A lot of people point out here Smalltalk is not great. I personally don't know either ways, because I haven't used it. However, I do want to point out that adoption and quality need not be correlated. Haskell, for e.g., was relatively obscure till recently (and even now I would say very few people use it). But it is absolutely amazing compared to most mainstream languages. The article linked makes some excellent poin…

I sense a similar thing happening with languages stealing functional features from Haskell, similarly to how languages stole OO features from Smalltalk.

C++, Java, Objective C, Ruby borrowed OO ideas from Smalltalk to varying degrees. Eventually, you could get most of the benefit of Smalltalk OO ideas without actually using Smalltalk.

Swift, Rust, Scala borrow functional programming ideas from Haskell (and ML) to varying degrees. My hunch is many programmers will encounter and use functional programming constructs in those languages, without ever programming in Haskell.

To complete the comparison, Smalltalk is still arguably OO in its purest form, as Haskell is probably the purest embodiment of the functional programming paradigm. But in both cases, most programmers are happy to adopt some subset of those features in languages more similar to the onese they already know.

Re: If Smalltalk Is So Good Why Does Nobody Use It

#42

I worked in a Smalltalk shop, smalltalk is not that great. I've discussed it at length, my problems with it. As a language it is impressive what they built at the time. In practice it was a terrible pain in the ass with tons of "ravioli" code everywhere. The language has no qualms with letting you wreck havoc within the standard base classes, which makes integrating anothers code almost impossible.

Oh I do want to add that it is a language behind a paywall as well. Which i find rather strange. Being charged as a customer to one) use their language and two) being charged per user we allowed into the environment. Because Smalltalk is an enclosed runtime (similar to Java, but much worse). We had to tell them how many users would be using non-developer editions of the runtime and they charged us for that.

correction smalltalk WAS a language behind a paywall... which, as others have suggested was probably a significant contribution to its decline. Squeak http://www.squeak.org/ (kid oriented) and Pharoah http://pharo.org/ (professional oriented) are both excellent and free.

Re: If Smalltalk Is So Good Why Does Nobody Use It

#44
post #38

Maybe Self was the best chance. We all know that java has won, but Self could have been Java (and thus the success of smalltalk). Maybe my understanding of this history is imcomplety, if it is please help me out. Java should never have reached where it is today. Im not hatting on java btw. Just historiclly speaking, java was a embeded language that was pushed for the internet. At the same time Sun had the well advanc…

Java probably won because of its C-inspired syntax. At that point smalltalk was falling behind and C++ started to take off. To me Java was always meant as a better C++. At least that is my guess.

A lot of the people behind Self went on to work on the JVM JIT and later the Chrome V8 engine. Self produced many influential ideas in the JIT space like polymorphic inline caches and deoptimization and stack rewriting. Some of the papers published by the Self group at UCSB are fascinating.

Re: If Smalltalk Is So Good Why Does Nobody Use It

#45
post #27

Earlier quoted context omitted.

Oh I do want to add that it is a language behind a paywall as well. Which i find rather strange. Being charged as a customer to one) use their language and two) being charged per user we allowed into the environment. Because Smalltalk is an enclosed runtime (similar to Java, but much worse). We had to tell them how many users would be using non-developer editions of the runtime and they charged us for that.

I don't find that strange, as I remember the days we had to pay for every single one of our tools, including distribution royalties. Open source kind of killed this way the industry used to work forcing companies to find other ways of revenue, except for big corporations that kind of still work this way.

cough borland cough :) Oh I guess, i just felt it was strange that Cincom still charges a significant amount of money to run their stuff, per seat and per server pricing.

When you look at the market of tools today. Historically speaking, they were par for the course.

Re: If Smalltalk Is So Good Why Does Nobody Use It

#46
post #3

The question is moot -- Smalltalk isn't so good. Back in the 90s we were developing sales force automation software in VB3 (ugh!) which was by no means wonderful. Our stuff ran far faster on modest hardware than similar Smalltalk software running on (by the standards of the time) ludicrously powerful hardware. Delphi, when it came out, was far, far better still. Smalltalk also seems to have accumulated annoying cruft…

Even IBMers didn't really like it. I heard similar stories of complexity over dynamicism turning into a 'Message Not Understood' fest. Maybe they didn't really understand the language.

Re: If Smalltalk Is So Good Why Does Nobody Use It

#47
post #23

Earlier quoted context omitted.

Now, as a follow-up: is anything holding back Rust?

Anyone who understands Rust's good points (and there are many) is probably already using Haskell. What compelling advantage does Rust have over Haskell to justify the cost of switching (and, more importantly, the cost of losing higher-kinded types, and of adding macros)? Manual memory management is unlikely to be enough.

Predictable performance.

That seems to be the main selling point for Rust, anyhow. Zero cost abstractions, predictable data sizes, well defined memory scopes, etc.

Re: If Smalltalk Is So Good Why Does Nobody Use It

#48

Earlier quoted context omitted.

Oh I do want to add that it is a language behind a paywall as well. Which i find rather strange. Being charged as a customer to one) use their language and two) being charged per user we allowed into the environment. Because Smalltalk is an enclosed runtime (similar to Java, but much worse). We had to tell them how many users would be using non-developer editions of the runtime and they charged us for that.

correction smalltalk WAS a language behind a paywall... which, as others have suggested was probably a significant contribution to its decline. Squeak http://www.squeak.org/ (kid oriented) and Pharoah http://pharo.org/ (professional oriented) are both excellent and free.

and still IS depending on the distribution. Squeak and Pharo are great from what I understand, but are lacking some of the enterprise features present in Cincoms distribution. Though for 99.999% squeak and pharo are going to be more than enough.

Re: If Smalltalk Is So Good Why Does Nobody Use It

#49
Smalltalk is a little shrewd in some ways as outlined here. Self has already been mentioned as a great alternative (and the related papers are amazing IMO and influence most modern JITs).

But there are some other really interesting alternatives that IMO keep with the spirit: Io (io-lang.org), Ioke (defunct now, ioke-lang.org - some awesome ideas IMO) and Squeak which is being actively developed.

I'd recommend checking out some of these, I think you can easily install io via brew on Macs and used to be able to install joke as well. They improve syntax and/or add significant language features.

Re: If Smalltalk Is So Good Why Does Nobody Use It

#50
post #23

Earlier quoted context omitted.

Now, as a follow-up: is anything holding back Rust?

Anyone who understands Rust's good points (and there are many) is probably already using Haskell. What compelling advantage does Rust have over Haskell to justify the cost of switching (and, more importantly, the cost of losing higher-kinded types, and of adding macros)? Manual memory management is unlikely to be enough.

Anyone who understands Rust's good points wouldn't write a comment like yours. Rust's goal is to be a systems language that allows one to write programs with native performance (equivalent to C's) without sacrificing the safety of higher-level languages by leveraging an advanced type system. Haskell is an extremely poor candidate for that niche.
Post reply on HN