Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Common ones I hear:

- He hasn't shipped anything popular (he's a researcher, expanding the tree of knowledge, not an engineer optimizing for shipping) - Smalltalk isn't as great as Alan makes it out to be (again he's a researcher) - That the computer revolution has happened but he's stuck in the 70's - Many, many more things



Being stuck in the 70's isn't that bad, many avantgarde things from that era still have to make it to mainstream adoption.


I watched a presentation on YouTube that Christopher Alexander did in 1996, talking about work he did in the 70s and it continued to amaze me at its relevance today. +1 to you for realizing there are still a lot of good, under appreciated ideas out there and that technology actually moves super slow.


Computer tech folks have this stronger than healthy equation of new == good, old is wrong, needing replacement.

Just because we do something doesn't make a better idea than ideas we had in the past that are not being used. There are lots of dead great ideas.


Could I ask you what these are?


FWIW: I used Smalltalk a bit in college and then for about a year professionally, about four years into a now twenty year career. I've shipped software in about five languages over my career and have never again come anywhere close to as productive as I was during that time using Smalltalk. Ironically, the work environment at that time was perhaps the worst of my career but Smalltalk just makes it so darn easy to crank out functionality and test it at the same time. So, sure it is old but there's a lot we could still learn from it.


If it’s so great, why isn’t it used in industry? Cranking out functionality is what everyone wants. As someone who has never seen or used it, I always hear about how all these languages are inspired by smalltalk but just don’t get it right or whatever. Why doesn’t somebody do a straight up port of it if it’s that great?


There’s quite a few reasons, but I suspect the largest is lack of a corporate sponsor. People use what they know of, and few things have shipped with smalltalk.

And honestly, the language itself isn’t that remarkable by today’s standards; there’s so many dialects floating around most of the features have made their way into mainstream languages. It’s the tooling that I dream of. Sadly, it’s probably also another reason why it never took off: people couldn’t easily incrementally adopt it.


I'd generally agree with what you are saying... it was the tooling more than the language itself. That said, there was something to be said for the absolute simplicity of the language. With everything being an object that receives messages and the minimal syntax, you could teach people very quickly.


Why don't you just use it, rather than waiting for the industry to adopt it and translate it for you? The industry doesn't adopt things because they are great. It adopts things because it has to.

In my little corner of the industry, we've adopted a big heap of things for entirely political reasons, and they're mostly crap in one way or another.


I think people who say other languages "just don't get it right" are living in a fantasy world. At the end of the day, Smalltalk is a pretty extreme language. The insistence that, e.g., every integer value is an object that can be sent messages, or that every code block is an object, or that every code block can introspect its caller, all lead to a pretty extreme amount of flexibility but an inability to write efficient code or do much optimization.

At the end of the day, languages that were less extreme won the popularity contest. Ruby and Python, for example, are just more accessible and full-featured.


People unfamiliar with history live in a fantasy world.

Smalltalk or more specifically one of it's dialects, Self (an even more "extreme" Smalltalk), made huge advances in JIT compilation. Advances which later ended up in the Java HotSpot virtual machine. Some benchmarks hit half the performance of optimized C. That was in the late 90s.


I'd say more of a dystopia than a fantasy world


I believe the Squeak/Pharo VMs are much faster than the Python and Ruby interpreters. There are other tricks - an Int maybe be an object, but a special one that fits in a register. The part that other languages don’t get is it’s the Smalltalk environment that makes it special, and there is just nothing like it in our modern tooling.


History is really important here. When Smalltalk systems first spun out of Xerox PARC, they carried hefty licensing fees. The whole free software / open-source movement wasn't as ingrained in developer culture back then. Worth remembering that SUN was marketing Java everywhere for free and that made a world of difference.


Did you ship anything in Smalltalk? (I didn't, when I was using it.) If so, how? Ship the whole image?


Yes - you just shipped the whole image. At the time I was building desktop apps, but that made install super easy - you just dropped it onto the user's desktop. A guy a few cubes over was building server apps and that was equally easy - a self-contained deal with the vm, all the dependencies, etc that just needed to be dropped into /opt or wherever and was ready to run.


Are those criticisms in response to claims of his otherwise? Does he blame current problems programmers have on not listening to him more? Or make some other critical claims to trigger what kind of sound like ad hominem* responses?

I will google these questions also, but am always interested the HN crowd's take. Like the original question I didn't know he'd ruffled any feathers.

Edit: top hit was Alan Kay himself addressing criticism on a Quora question: https://www.quora.com/Has-anyone-criticized-Alan-Kay, but on further read it obliquely addresses criticisms other than his role in developing OOP.


You made me curious. Do you have any links to the criticism you quote?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: