Earlier quoted context omitted.
There is great danger in learning OOP with Smalltalk. Everything fits together so elegantly, the first time I opened a book about C++, I closed it in disgust (after seeing the bit-shift operator being used for console output, wtf?!), only to give the language a second chance 8 years later. I even learned Java before giving C++ a try. When a young programmer asks me for advice about the next language to learn is, my a…
> I even learned Java before giving C++ a try I must admin from all the stuff I saw on the internet I am now scared even try to learn C++. I think it is the looks as a least desireable language to learn for me. Which sucks a bit because there is position at a company I wouldn't mind work for.
Smalltalk: Swimming with the fish
61–70 of 87 posts
Re: Smalltalk: Swimming with the fish
#62Articles about how great Smalltalk is usually remind me of articles about how great the Lisp Machine was. And there is a lot of merit to an entire system, hardware and software, designed to operate in a high-level language. My complaint is that neither of these things is coming back in a relevant way. Perhaps the biggest shift in software engineering in the last decade or two is the fact that no one writes entire sys…
> My complaint is that neither of these things is coming back in a relevant way. I think one could make the case that Android shares many design decisions with a "Smalltalk machine". And the same actually goes for iOS, as objective-c is basically Smalltalk bolted on to c. And then there is javascript that's modelled after Self -- so by extention chrome OS is also similar to a "Smalltalk machine". Now why all these sy…
Because Worse is Better[1]. For example Internet and the Web is a bastardized version of Xanadu Project[2]. HTML is a bastardized version of XML or XHTML. Worse is here now, when Better gets here, it's not Better anymore, only marginally more useful. That or it turns out the benefits Better has aren't that important or are highly impractical.
Re: Smalltalk: Swimming with the fish
#63The analogy given in the article is pretty accurate. The Smalltalk environment is unique in that it allows very easy access to the libraries, the IDE and the language’s internals (including the compiler!). The Smalltalk debuggers are among the best ones I have ever used. (I’m mostly speaking out of my experience with VisualWorks, a commercial Smalltalk implementation, but other implementations are similar.) I would g…
> many parts of the Smalltalk IDEs are horribly outdated My opinion is the opposite: I find the IDE in Pharo to be simple and very elegant, far more human-friendly than any I've seen in 'mainstream' languages. And this version of Smalltalk is under heavy development, with a push towards even greater cohesion. This small corner of computing is seething with hot, cutting-edge activity. > The text editors are pretty bad…
Any amount of text is still text, and Emacs excels at text editing.
Re: Smalltalk: Swimming with the fish
#64Articles about how great Smalltalk is usually remind me of articles about how great the Lisp Machine was. And there is a lot of merit to an entire system, hardware and software, designed to operate in a high-level language. My complaint is that neither of these things is coming back in a relevant way. Perhaps the biggest shift in software engineering in the last decade or two is the fact that no one writes entire sys…
No. A few of them have, usually in needlessly restricted and nigh-broken forms (Ruby's blocks are a pale and pitiful shadow of Smalltalk's). I've yet to see message cascading or conditions outside of lisps and smalltalk.
Re: Smalltalk: Swimming with the fish
#65Earlier quoted context omitted.
There is great danger in learning OOP with Smalltalk. Everything fits together so elegantly, the first time I opened a book about C++, I closed it in disgust (after seeing the bit-shift operator being used for console output, wtf?!), only to give the language a second chance 8 years later. I even learned Java before giving C++ a try. When a young programmer asks me for advice about the next language to learn is, my a…
> I even learned Java before giving C++ a try I must admin from all the stuff I saw on the internet I am now scared even try to learn C++. I think it is the looks as a least desireable language to learn for me. Which sucks a bit because there is position at a company I wouldn't mind work for.
But, again, there may be other languages more worthy of your effort.
I only leaned Java before touching C++ again because of my peculiar introduction to OOP and because I discarded the language after considering it an inelegant kludge, but, compared to Smalltalk, what language isn't?
And, finally, I decided to swallow my pride and learn C++ because I wanted to be part of the Brazilian electronic voting system projecy. Now, every ballot runs some C++ code I wrote.
If the company is that cool, give it a shot.
Re: Smalltalk: Swimming with the fish
#66Earlier quoted context omitted.
> My complaint is that neither of these things is coming back in a relevant way. I think one could make the case that Android shares many design decisions with a "Smalltalk machine". And the same actually goes for iOS, as objective-c is basically Smalltalk bolted on to c. And then there is javascript that's modelled after Self -- so by extention chrome OS is also similar to a "Smalltalk machine". Now why all these sy…
> Now why all these systems end up with some bastardized crappy programming languages rather than just using Smalltalk -- that I don't know. Because Worse is Better[1]. For example Internet and the Web is a bastardized version of Xanadu Project[2]. HTML is a bastardized version of XML or XHTML. Worse is here now, when Better gets here, it's not Better anymore, only marginally more useful. That or it turns out the ben…
Javascript was probably born out of Not Invented Here. Worse Is Better only contributed the curly braces from C, and the continued use of the first widely known scripting engine.
If The Right Thing is already there, Worse Is Better simply doesn't win without exterior help. Worse is better only because it's first. And even so…
> when Better gets here, it's not Better anymore, only marginally more useful.
I would say perceived as marginally more useful in the short term. This is a point where Worse easily looks Better, but whether it is is more debatable.
Re: Smalltalk: Swimming with the fish
#67Articles about how great Smalltalk is usually remind me of articles about how great the Lisp Machine was. And there is a lot of merit to an entire system, hardware and software, designed to operate in a high-level language. My complaint is that neither of these things is coming back in a relevant way. Perhaps the biggest shift in software engineering in the last decade or two is the fact that no one writes entire sys…
There is great danger in learning OOP with Smalltalk. Everything fits together so elegantly, the first time I opened a book about C++, I closed it in disgust (after seeing the bit-shift operator being used for console output, wtf?!), only to give the language a second chance 8 years later. I even learned Java before giving C++ a try. When a young programmer asks me for advice about the next language to learn is, my a…
Re: Smalltalk: Swimming with the fish
#68Earlier quoted context omitted.
Pruned? How do we do that? I mean, how do you distinguish the changes you want to deploy from the changes you want to drop?
Image pruning is really not a good way to do it, it's much better to take a clean base image and load your code into it as part of the deploy process. Pruning a development image is a very old fashioned way to create a production image.
You can only avoid pruning for server side applications.
Re: Smalltalk: Swimming with the fish
#69Earlier quoted context omitted.
> Now why all these systems end up with some bastardized crappy programming languages rather than just using Smalltalk -- that I don't know. Because Worse is Better[1]. For example Internet and the Web is a bastardized version of Xanadu Project[2]. HTML is a bastardized version of XML or XHTML. Worse is here now, when Better gets here, it's not Better anymore, only marginally more useful. That or it turns out the ben…
No. Worse is Better would explain why browsers would use Smaltalk (or Self) directly, instead of inventing a new programming language. Javascript was probably born out of Not Invented Here. Worse Is Better only contributed the curly braces from C, and the continued use of the first widely known scripting engine. If The Right Thing is already there, Worse Is Better simply doesn't win without exterior help. Worse is be…
Worse is Better is omnipresent. Linux vs Minix vs BeOS vs Windows is example of Linux despite being bad relatively, simply winning out (on servers) due to its developer base and losing to Windows that despite numerous faults/warts won the desktop market by a large margin.
When I said Right Thing being here, I didn't mean existence, but presence. Right thing may exist in heads of few masters that know it super well, but them being unable or unwilling to spread it dooms the Right Thing. A Worse Thing that spreads far and wide will win and has always won.
Xanadu vs Internet
Linux vs BeOS
MacOS vs Windows
Lisp/Smalltalk vs C
Re: Smalltalk: Swimming with the fish
#70Earlier quoted context omitted.
Image pruning is really not a good way to do it, it's much better to take a clean base image and load your code into it as part of the deploy process. Pruning a development image is a very old fashioned way to create a production image.
That way you cannot prevent regular users to access Smalltalk classes they shouldn't be touching at all. You can only avoid pruning for server side applications.