Earlier quoted context omitted.
Yes, but today they're both free. Why don't you download Pharo today and use Morphic? Then come back and tell me it's competitive with Cocoa, Qt, JavaFX. Morphic was a neat idea where it was born (in Self!) but there are reasons it hasn't taken off among hobbyists—it's bloated, it's slow, it is worse for most usecases. If it were better today , where's the community of people being hyper-productive and trumpeting it…
That's not what I was arguing. I was arguing that a better idea does not (necessarily) get adopted, even if it is superior. Sure, Smalltalk might not compete today, but I'd say it was superior /then/ (and still didn't see wide adoption!). That's why I don't have any hope that a superior idea will get adopted in the /future/, whatever it may look like (and this is my main issue here). I'm especially not thrilled about…
Design Principles Behind Smalltalk (1981)
51–57 of 57 posts
Re: Design Principles Behind Smalltalk (1981)
#52Earlier quoted context omitted.
> If Smalltalk GUI building is so great, how come nobody uses it today? Because it's maddeningly inferior to everything we have today. I'd argue that the CompSci community DOESN'T choose the best thing that comes along, but merely the first one that fits the bill. It's a mixture of darwinian processes and market force. If you take the example of Smalltalk vs UNIX vs DOS in the 80s then you get exactly that. People ch…
Yes, but today they're both free. Why don't you download Pharo today and use Morphic? Then come back and tell me it's competitive with Cocoa, Qt, JavaFX. Morphic was a neat idea where it was born (in Self!) but there are reasons it hasn't taken off among hobbyists—it's bloated, it's slow, it is worse for most usecases. If it were better today , where's the community of people being hyper-productive and trumpeting it…
Where did Cocoa come from? It came from NeXT, which was Steve's second attempt at implementing the ideas he got from his PARC visit where he saw Smalltalk, the first obviously being Lisa/Mac.
And of course Cocoa is implemented in Objective-C, which is Smalltalk added to C.
And I would claim that Cocoa is hands down superior to Qt or JavaFX (does anyone actually use JavaFX?), and for precisely the reasons that are made possible by the dynamic nature of Objective-C. Having experienced 4GLs and other UI building systems, Cocoa managed and still manages to achieve the holy grail of combining 4GL-/screen-painter-like productivity with complete flexibility to implement anything you want, on a smooth curve.
We take that achievement for granted nowadays, but it is no mean feat.
But yes, Pharo/Squeak etc. are somewhat fossilized, but still amazingly productive compared to most anything else, and that's why there are communities of people committed to these fossils, being amazingly productive on them and trumpeting it.
Re: Design Principles Behind Smalltalk (1981)
#53Earlier quoted context omitted.
Can you be more specific? If anything, a lot of the ideas in Smalltalk ended up being abandoned: - Image based distributions - Dynamic typing - Extreme object orientedness (boolean ifTrue: foo ifFalse: bar) - Meta object protocol
How has dynamic typing been abandoned? What is Javascript? what is Python? What is Ruby? The meta object protocol is alive and well in Python, Ruby, and to a lesser extent lua with metatables. I don't see the point in exaggeration.
Javascript will be the last mainstream dynamically typed language, and while it's going to be around for a while, even it is slowly being replaced by statically typed versions of itself (Typescript, Dart).
The trend is crystal clear for anyone who's been paying attention to the field for the past decade. There's simply no longer any good reason to use a dynamically typed language.
Re: Design Principles Behind Smalltalk (1981)
#54Earlier quoted context omitted.
That sounds......too emotional.
No, it's the right amount of emotional. When people distort the truth, it makes me angry. This is misinformation well beyond the protection of Hanlon's razor. And I resent that you are unable to attack my facts, so you have decided to try to go after my tone instead. If you are in possession of better facts, you should trot them out. But if you're somehow harmed by my honesty or passion then that's your problem.
Re: Design Principles Behind Smalltalk (1981)
#55Earlier quoted context omitted.
How has dynamic typing been abandoned? What is Javascript? what is Python? What is Ruby? The meta object protocol is alive and well in Python, Ruby, and to a lesser extent lua with metatables. I don't see the point in exaggeration.
Nobody would consider starting a large project with Python or Ruby these days. Javascript will be the last mainstream dynamically typed language, and while it's going to be around for a while, even it is slowly being replaced by statically typed versions of itself (Typescript, Dart). The trend is crystal clear for anyone who's been paying attention to the field for the past decade. There's simply no longer any good r…
Re: Design Principles Behind Smalltalk (1981)
#56Earlier quoted context omitted.
Nobody would consider starting a large project with Python or Ruby these days. Javascript will be the last mainstream dynamically typed language, and while it's going to be around for a while, even it is slowly being replaced by statically typed versions of itself (Typescript, Dart). The trend is crystal clear for anyone who's been paying attention to the field for the past decade. There's simply no longer any good r…
Explain GitHub
Github was created in 2008.
Re: Design Principles Behind Smalltalk (1981)
#57Earlier quoted context omitted.
On the other hand, the big idea behind Smalltalk, message passing (i.e. programming with computers rather just the programming of computers), keeps getting recapitulated in various forms such as Ruby, Erlang, Docker, etc. Even C#'s LINQ, in its most powerful form, is ultimately a message passing system (and version 4 of the language that introduced `dynamic` went even further). Consider that the first MVC paper conce…
> Ruby, Erlang, Docker Erlang is about messaging between processes, a smalltalk object is not a process and I really don't understand why Docker is in that list.
I mentioned Docker because of the similarity to the Smalltalk image.