Live data from Hacker News

How learning Smalltalk can make you a better developer

techbeacon.com

11–20 of 73 posts

Re: How learning Smalltalk can make you a better developer

#11
post #10
post #9

Earlier quoted context omitted.

Haskell has this through hoogle. http://www.haskell.org/hoogle

Does Hoogle let you search by example?

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

Re: How learning Smalltalk can make you a better developer

#12
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 excellent docs you'd expect from a GNU project, unix integration, and while it does have a class browser and an image, it supports plain old text files for code, so you don't have to master an IDE if you don't want to, plus it's good for scripting. However, it has (mostly) the same class library as Squeak and other smalltalks, so it lessens the learning curve somewhat.

Re: How learning Smalltalk can make you a better developer

#13
post #11
post #10

Earlier quoted context omitted.

Does Hoogle let you search by example?

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.

Re: How learning Smalltalk can make you a better developer

#14
Article very briefly mentions Squeak[0], which I think would be worth looking into if you wish to pursue Smalltalk as a modern language instead of simply a historical footnote. Alan Kay, Smalltalk's creator, continues to contribute to Squeak, which he considers closer to his original ideal of what the language should be than Smalltalk-80.

[0]https://en.wikipedia.org/wiki/Squeak

Re: How learning Smalltalk can make you a better developer

#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!) book: http://sdmeta.gforge.inria.fr/FreeBooks/ByExample/

And a great (free!) book for GNU Smalltalk: http://stephane.ducasse.free.fr/FreeBooks/Gnu/ProgrammingUsi...

And a great set of instructional videos from the late James Robertson: http://www.jarober.com/blog/st4u.ssp

And a great Pharo blog: https://medium.com/concerning-pharo

And, of course, you may ask questions at StackOverflow and the Pharo user forum: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html

Re: How learning Smalltalk can make you a better developer

#18
I learned to program in Dolphin SmallTalk at a small business run out of barn next to a bunch of soybean farms. While probably not the best language to run a production application with (because of the tininess of the community), I agree that it's a great language to learn on. I think the SmallTalk development environment is one of the closest things available to what Bret Victor was talking about in this article: http://worrydream.com/LearnableProgramming/. The IDE integration and live coding experience is fantastic. I really miss this feature in other languages/IDEs. It's also amazing how the refactoring engine in Dolphin is as good/better for a dynamically typed language than many IDEs for statically typed languages.

Re: How learning Smalltalk can make you a better developer

#19
Ahh Smalltalk. My 2nd Object Oriented Language & the Father/Mother of Objective-C, which was my 1st OOL on NeXTStep. ParcPlace VisualWorks - What a very nice system. I loved it at the time. It did have some crashing issue on windows NT and then Windows 2000. I've played with Squeak and Pharo. They are nice.

Smalltalk could have been Java. Only if it didn't cost so much money back then, mid to Late 90's and if it wasn't "closed" by the companies that own it (like IBM's VisualAge.)

Learn Smalltalk. It's an excellent language (IDE / debugger included!)

Peace

Sun MicroSystems was smart. Throwing Java out there there for "free." Now all these years later, it's practically in every major Financial institution's production environment.

Re: How learning Smalltalk can make you a better developer

#20
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.

Searching by type signature is very useful. I think searching by example input and output pairs would be a great addition to Haskell as well, especially for beginners and the base libraries.

A technique I use for poorly documented libraries is searching in github ' language:'. Unfortunately there are some serious limitations in github search, no way escape certain characters.

Post reply on HN