Live data from Hacker News

How learning Smalltalk can make you a better developer

techbeacon.com

31–40 of 73 posts

Re: How learning Smalltalk can make you a better developer

#31
post #16

I'm not really an ST fan myself. I'm not averse to it, or anything, but it has a steep learning curve, because you have to learn the class library, the IDE, and the language, and the poor tutorials and documentation make it even worse. Lisp had way better docs, and could be written in any text editor, so that's what I learned. However, if you want to learn Smalltalk, might I reccomend GNU smalltalk? it's got the exce…

The language and IDE are so simple that it takes very little effort to learn, at least, in my experience. But you're right about the class library. However, is this really any different for any OOP language that has a rich class library? Or any language that has a rich API ( Java C# )? Smalltalk documentation isn't that bad. Here's a very, very gentle tutorial: http://amber-lang.net/learn.html Here's a great (free!)…

SBE is so far out of date that many of its details are now simply wrong. GST's docs are actually up to date, organized, and easy to find.

However, I haven't seen all of these resources, so thanks for the tips.

Re: How learning Smalltalk can make you a better developer

#32

I'm not really an ST fan myself. I'm not averse to it, or anything, but it has a steep learning curve, because you have to learn the class library, the IDE, and the language, and the poor tutorials and documentation make it even worse. Lisp had way better docs, and could be written in any text editor, so that's what I learned. However, if you want to learn Smalltalk, might I reccomend GNU smalltalk? it's got the exce…

That you're so unwilling to leave your text editor makes you unsuitable for Smalltalk, because Smalltalk without its image and IDE stuffed into text files that work with all your normal tools isn't Smalltalk. It's missing everything Smalltalk'ers love about developing in Smalltalk. Someone who wants to learn Smalltalk should try Pharo or Squeak, not GNU, GNU will just leave them with a bad taste of weirdness for no g…

I'm not adverse to leaving my text editor, but I'd rather learn the language before learning a totally new and unfamilliar environment. Is that such a bad thing?

Re: How learning Smalltalk can make you a better developer

#33

I remember learning smalltalk years ago and would have loved to use it commercially, it always had many problems though. Platform support, databases connectivity, performance, you couldn't make a shrink wrapped distributable. It was always stuck as an academic language imho, which is a shame. Even now lets say I wanted to use it to develop my mobile app, I don't think this is possible? Learn it by all means it has so…

I use Amber Smalltalk to write cross-platform mobile apps for Android and iOS: https://medium.com/smalltalk-talk/amber-alert-we-can-do-mobi...

Smalltalk is not stuck as an academic language. Cincom and GemTalk would be very surprised to hear that. It is, and has been, used all around the world for commercial purposes for over three decades: https://medium.com/smalltalk-talk/who-uses-smalltalk-c6fdaa6...

It is possible to create shrink-wrapped distributables, but these days there really isn't much call for it. Most of the action is in the web and mobile space and IoT and so on.

Regarding performance, it was an issue prior to circa 1995, but today's hardware is more than fast enough. That's why Python and Ruby and Perl and Erlang are so popular, being no faster than Smalltalk.

Re: How learning Smalltalk can make you a better developer

#34

Earlier quoted context omitted.

That you're so unwilling to leave your text editor makes you unsuitable for Smalltalk, because Smalltalk without its image and IDE stuffed into text files that work with all your normal tools isn't Smalltalk. It's missing everything Smalltalk'ers love about developing in Smalltalk. Someone who wants to learn Smalltalk should try Pharo or Squeak, not GNU, GNU will just leave them with a bad taste of weirdness for no g…

> Someone who wants to learn Smalltalk should try Pharo or Squeak, not GNU, GNU will just leave them with a bad taste of weirdness for no good reason. As someone who has tried Pharo and Squeak, I was left with a bad taste of weirdness for no good reason. The colorful Playskool environment, while neat at first, was not only ugly and alien, but also quite minimal compared to Vim or Emacs. I still don't understand how a…

The article explains how you can be productive. It's mostly in the "live coding/debugging" environment, which dramatically shortens the edit-test-debug cycle. The low cognitive friction of the language itself is also preeminent.

The clutter-free Smalltalk IDE is one its main selling points. I've used Xcode and Eclipse and Visual Studio, and the Smalltalk IDE is a breath of fresh air. Beauty is in the eye of the beholder, and I like Smalltalk very much. Dolphin, in particular, is prized for its excellent IDE implementation.

In practice, you don't need the full power of Vim or Emacs in a programming environment where you're ever only dealing with small methods and where everything is laid out neatly in the System or Class Browser. I love Vim, but I don't miss it here.

Re: How learning Smalltalk can make you a better developer

#35
post #33

I remember learning smalltalk years ago and would have loved to use it commercially, it always had many problems though. Platform support, databases connectivity, performance, you couldn't make a shrink wrapped distributable. It was always stuck as an academic language imho, which is a shame. Even now lets say I wanted to use it to develop my mobile app, I don't think this is possible? Learn it by all means it has so…

I use Amber Smalltalk to write cross-platform mobile apps for Android and iOS: https://medium.com/smalltalk-talk/amber-alert-we-can-do-mobi... Smalltalk is not stuck as an academic language. Cincom and GemTalk would be very surprised to hear that. It is, and has been, used all around the world for commercial purposes for over three decades: https://medium.com/smalltalk-talk/who-uses-smalltalk-c6fdaa6... It is possibl…

Do you know of a native version of smalltalk for mobile and desktop (produces native executables that is)? Not a web browser version - too slow for my purposes. I haven't been able to find one.

Re: How learning Smalltalk can make you a better developer

#36
post #33

Earlier quoted context omitted.

I use Amber Smalltalk to write cross-platform mobile apps for Android and iOS: https://medium.com/smalltalk-talk/amber-alert-we-can-do-mobi... Smalltalk is not stuck as an academic language. Cincom and GemTalk would be very surprised to hear that. It is, and has been, used all around the world for commercial purposes for over three decades: https://medium.com/smalltalk-talk/who-uses-smalltalk-c6fdaa6... It is possibl…

Do you know of a native version of smalltalk for mobile and desktop (produces native executables that is)? Not a web browser version - too slow for my purposes. I haven't been able to find one.

Unfortunately, no.

Re: How learning Smalltalk can make you a better developer

#37
post #13
post #11

Earlier quoted context omitted.

It lets you search by type signature. If you know the inputs and output then you know the type signature. So in short, yes. Edit, example: https://www.haskell.org/hoogle/?hoogle=Char+-%3E+Char

>It lets you search by type signature. If you know the inputs and output then you know the type signature. So in short, yes. In short, no.

In short, yes. You give it an example of the types involved. Instead of "hi" -> "HI" you give String -> String.

Re: How learning Smalltalk can make you a better developer

#38

Earlier quoted context omitted.

That you're so unwilling to leave your text editor makes you unsuitable for Smalltalk, because Smalltalk without its image and IDE stuffed into text files that work with all your normal tools isn't Smalltalk. It's missing everything Smalltalk'ers love about developing in Smalltalk. Someone who wants to learn Smalltalk should try Pharo or Squeak, not GNU, GNU will just leave them with a bad taste of weirdness for no g…

I'm not adverse to leaving my text editor, but I'd rather learn the language before learning a totally new and unfamilliar environment. Is that such a bad thing?

Yes, because you incorrectly presume those are different things that should be separated; in Smalltalk the language and environment are so deeply interwoven to create a live coding experience that what you want is simply the wrong approach, you can't get the correct experience doing what you want. This is a case of "what you already know" getting in the way of learning.

Re: How learning Smalltalk can make you a better developer

#39

Earlier quoted context omitted.

That you're so unwilling to leave your text editor makes you unsuitable for Smalltalk, because Smalltalk without its image and IDE stuffed into text files that work with all your normal tools isn't Smalltalk. It's missing everything Smalltalk'ers love about developing in Smalltalk. Someone who wants to learn Smalltalk should try Pharo or Squeak, not GNU, GNU will just leave them with a bad taste of weirdness for no g…

> Someone who wants to learn Smalltalk should try Pharo or Squeak, not GNU, GNU will just leave them with a bad taste of weirdness for no good reason. As someone who has tried Pharo and Squeak, I was left with a bad taste of weirdness for no good reason. The colorful Playskool environment, while neat at first, was not only ugly and alien, but also quite minimal compared to Vim or Emacs. I still don't understand how a…

If you see programs as a collection of static text files, you're not going to understand, but if you approach it as Smalltalk does, no files, no compile time, see the image as a live runtime, you'll realize you can prototype things via on the fly tinkering faster than virtually any other environment; you don't even need a database as you can just store collects of objects in class variables since it's always run-time in Smalltalk your object instances live in the image as long as you want them to.

Smalltalk'ers believe that code should be optimized for reading, not writing, which is why Smalltalk code browsers focus far more on organization than any other languages IDE's do and the power of this cannot be emphasized enough.

Simply put, once you let go of your text editor addiction, and embrace the image, it's the most productive programming environment there is as far as Smalltalk'ers are concerned.

Re: How learning Smalltalk can make you a better developer

#40

Earlier quoted context omitted.

This thread between Alan Kay and Rich Hickey was pretty close: https://news.ycombinator.com/item?id=11945722

That was painful. Two smart people talking around each other.

I thought it was really interesting to hear what they had to say, even if they weren't conversing well with each other.

This IS HN, after all :-P

Post reply on HN