3 ms·
> He is talking about the ought I think he's wrong, both about the "is" and about the "ought". The reason I posted originally, way upthread, was to respond to
by tonyg 5y ago
> He is talking about the ought
I think he's wrong, both about the "is" and about the "ought".
The reason I posted originally, way upthread, was to respond to OP's claim of "Smalltalk's rejection of the file-system and command-line". I don't believe it rejected either thing. It has an internal file system, as discussed, but it also had and has perfectly reasonable support for reading and writing external, traditional files. And it has various kinds of command-line, as discussed.
I don't think it was anything about Smalltalk's ability to handle JPEGs or email or NFS or even text files that was the problem. I don't believe that appeasing the Unix world is (or would have been) either necessary or sufficient for Smalltalk success. I think the success of Unix is path-dependent; a historical accident. It had momentum and Smalltalk didn't. It blows my mind that people still think Unixisms are somehow some kind of universal apex of computing [†]! I suppose there are, at some level, reasons for Smalltalk's relative lack of success; and while I don't know what they are, I don't think OP gives a good one.
> [Interacting via networks] turns out to be significantly more difficult than various languages interacting on the same box.
I... don't believe this to be the case. At all. In theory or practice. It has certainly not been my experience.
> Objective-S supports [a bunch of Unix stuff]
Sure, OK. So do a million other languages.
What is, to my mind, special about Smalltalk is exactly that it takes the identity between programming language runtime and operating system seriously, and tries to flip the script: what if, instead of dumbing down our languages to fit our operating systems, we raised our ambitions about what an operating system could be, to fit our languages?
Smalltalk as it stands is a poor operating system, of course. You're right that it doesn't come close to covering "the functions OSes are expected to fulfil these days". It is basically a time capsule of 1978. Semi-cooperative scheduling, Monitors and Semaphores for mutexing, flat file system, insufficient internal isolation/namespacing, poorly integrated networking. If even a small fraction of the energy put into making Unix cover those functions had been put into Smalltalk... well. We'll never know unless someone puts in the time.
--
[†] "... an utterly insignificant little blue green planet whose ape-descended life forms are so amazingly primitive that they still think [Unix is] a pretty neat idea"
- mpweiher 5y ago> I don't believe it rejected either thing. [files/command line] I understood that you believe that. My point is that you are wrong. The point of files and the command line is not to have some sort of analogous mechanisms somewhere, no matter how far you had to stretch the analogies, and you had to stretch them pretty much to or slightly beyond the breaking point. The point is to be integrated into the Unix filesystem and the Unix command line (or the Windows one, doesn't matter). Because they are integration mechanisms. > It blows my mind that people still think Unixisms are somehow some kind of universal apex of computing Well, that should blow your mind, because they are not the "apex", they are the lowest common denominator, the minimum that you need to play. But if you don't adhere to this minimum, you can't play. And so Smalltalk got left behind. > [..] Smalltalk is exactly that it takes the identity between programming language runtime and operating system seriously The point is that this, while an attractive idea, and a locally productive one, it is not actually a good one, because it creates isolated worlds. And it turns out that not being isolated is more important than being locally optimal. Just like the image is a great hack, because it provides so many things "for free" that other environments have to work really hard at. But, paradoxically, it turns out the price is still too high. Which doesn't mean that other systems couldn't and shouldn't learn from the image. Just not duplicate it. What Objective-S is trying to do is combine the two, because I don't think you have to isolate yourself and try to be the OS to achieve the good parts of Smalltalk. And no, GNU-Smalltalk wasn't it, otherwise I would have just used that.