He says that the reasons for its extinction are mysterious. Not so much. It was never successful because the overall design is unsuitable for modern applications. It’s slow because of late binding. Dynamic type system gets out of hand with large codebases. Messaging passing and GC also slow it down. Maybe as a scripting language, the features are pretty cool. You can manipulate object members on the fly.
Pretty well all the optimisations that allow Javascript to work efficiently were originally pioneered in Smalltalk implementations, so they actually managed to get pretty decent speed. Never as good as C/C++ or Rust, but as good as Python, JavaScript and pretty well in the same ballpark as Java and C#. It's main problem was that it was designed to be the entire operating environment, and doesn't interop with other systems very well.
The real problem was smalltalk licences were so expensive and then java came aling which was free. Now we have opensoirce smalltalk like Pharo, Squeak, dolphin and cuis smalltalk. Smalltalk is the best language i have used except for perhaps common lisp.😊
24:28 - that's pitty. all Smalltak presentations on youtube are like this - smalltalk is best thing ever, here, look at this dumb hello world, it's awesome, but I will not show anything more because reasons. Sounds like scam and it wasn't so awesome after all, just old, now weird, nostalgic thing.
The fascination being alluded towards isn't in the example though, rather in the environment being presented, as this big, self-sufficient, well held together piece of language engineering that proves to be an idiosyncratic example of what could have been (although , in my opinion, just like LISP, if not more, it is doomed to be a romantic example, and will never be widely adopted in its purest form, while the idioms they brought along will find their way into the mainstream).
@@moofymoo Really? I didnt know that you can program in a running image in Visual Studio or that you can debug a running process when it hits an error, modify code and have it continue.
@@johngibson4874 Exactly. Saying "I can do this in Visual Studio" is like seeing a word processor and saying "Meh, I can do that with a type writer and Tipp-Ex"
What is an Implicit receiver as opposed to an explicit receiver. He does not explain anything. He is only talking to people who are already programmers.
In Smalltalk, the receiver variable when not explicitly referenced will have its data field or method implicitly applied to the current object. The Smalltalk video where Dan Ingalls was explaining Smalltalk gives a good explanation and example on the matter.
The intro sounds like you're about to hack a james bond villain's computer while HALO jumping into his underwater lair
1st thing comes to everyone's mind for sure hahahahaha I was like "what is coming here dude" lol lol
Fantastic intro to Smalltalk
Great talk Noel.
How is the macros created in Pharo, ,,mat and so on?
3:24 welp time to take a look at simula. Hopefully it's not terrible.
Tried Amber as parallel branch to Pharo. No. Documentation. At. All. :/
That is blatantly untrue.
Smalltalk is Anakin Skywalker, and the programmer is Palpatine.
13:48 That is why i will continue using Matlab. But Great Video, Great Talk!
He says that the reasons for its extinction are mysterious. Not so much. It was never successful because the overall design is unsuitable for modern applications.
It’s slow because of late binding.
Dynamic type system gets out of hand with large codebases.
Messaging passing and GC also slow it down.
Maybe as a scripting language, the features are pretty cool. You can manipulate object members on the fly.
Pretty well all the optimisations that allow Javascript to work efficiently were originally pioneered in Smalltalk implementations, so they actually managed to get pretty decent speed. Never as good as C/C++ or Rust, but as good as Python, JavaScript and pretty well in the same ballpark as Java and C#.
It's main problem was that it was designed to be the entire operating environment, and doesn't interop with other systems very well.
The real problem was smalltalk licences were so expensive and then java came aling which was free. Now we have opensoirce smalltalk like Pharo, Squeak, dolphin and cuis smalltalk. Smalltalk is the best language i have used except for perhaps common lisp.😊
24:28 - that's pitty.
all Smalltak presentations on youtube are like this - smalltalk is best thing ever, here, look at this dumb hello world, it's awesome, but I will not show anything more because reasons. Sounds like scam and it wasn't so awesome after all, just old, now weird, nostalgic thing.
The fascination being alluded towards isn't in the example though, rather in the environment being presented, as this big, self-sufficient, well held together piece of language engineering that proves to be an idiosyncratic example of what could have been (although , in my opinion, just like LISP, if not more, it is doomed to be a romantic example, and will never be widely adopted in its purest form, while the idioms they brought along will find their way into the mainstream).
oh I see, tooling.
in .NET land, Visual studio + resharper (or Rider) also have neat features. Took couple decades, but now tools have caught up.
@@moofymoo From where do you think these tools piggybacked from?
@@moofymoo Really? I didnt know that you can program in a running image in Visual Studio or that you can debug a running process when it hits an error, modify code and have it continue.
@@johngibson4874 Exactly. Saying "I can do this in Visual Studio" is like seeing a word processor and saying "Meh, I can do that with a type writer and Tipp-Ex"
What is an Implicit receiver as opposed to an explicit receiver.
He does not explain anything.
He is only talking to people who are already programmers.
Yes, this is for programmers coming from another language.
Who would have thought that Ruby programmers may know a bit about these things already?
In Smalltalk, the receiver variable when not explicitly referenced will have its data field or method implicitly applied to the current object.
The Smalltalk video where Dan Ingalls was explaining Smalltalk gives a good explanation and example on the matter.
1-indexing and no operator precedence. That's two deal breakers.
No you shouldn't, just like Cobol, Forth or Logo.
BUT I JUST BOUGHT TURBO PASCAL FOR $4000 ON EBAY
Sorry for necro but there's so much jargon and stuff in this talk he shows and mentions but never really explains
Why not?
Ruby doesn't claim to be descended from Cobol, Forth, or Logo.
@@totalbrainfail1812 OP probably doesn't think it is important to expand the way that you think about programming by using different languages.