Live data from Hacker News

How learning Smalltalk can make you a better developer

techbeacon.com

21–30 of 73 posts

Re: How learning Smalltalk can make you a better developer

#21

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 good reason.

Re: How learning Smalltalk can make you a better developer

#22

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…

Completely off-topic: I'm caught with your comments, can you, please, send a ping to me to s.seletskiy@gmail.com? I want to chat with you.

Re: How learning Smalltalk can make you a better developer

#23
post #9
post #8

I tried out Smalltalk for a day and I was completely amazed by the some of the features that still haven't made it into other languages. One of the features that I remember in particular was the ability to search for functions by examples. I don't remember the exact syntax for it, but you could search by something like: "hi" => "HI" and Smalltalk would tell you "toUpperCase". Immediately after seeing this, I wanted t…

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

Well, not exactly.

Re: How learning Smalltalk can make you a better developer

#24
post #9
post #8

I tried out Smalltalk for a day and I was completely amazed by the some of the features that still haven't made it into other languages. One of the features that I remember in particular was the ability to search for functions by examples. I don't remember the exact syntax for it, but you could search by something like: "hi" => "HI" and Smalltalk would tell you "toUpperCase". Immediately after seeing this, I wanted t…

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

Haskell has something even cooler. Automatic program synthesis through examples: http://nautilus.cs.miyazaki-u.ac.jp/~skata/MagicHaskeller.ht...

For example:

    f "hi" == "HI"
Gives:

    f = (map toUpper)

Re: How learning Smalltalk can make you a better developer

#25
post #9

Earlier quoted context omitted.

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

Haskell has something even cooler. Automatic program synthesis through examples: http://nautilus.cs.miyazaki-u.ac.jp/~skata/MagicHaskeller.ht... For example: f "hi" == "HI" Gives: f = (map toUpper)

From the abstract:

> The synthesis algorithm takes a generate-and-test approach: it generates an infinite stream of all the expressions having the same type as f; then, they are tested against the given predicate.

I'm really impressed that such a simple approach works. Initially I thought it was something similar to FOIL[0]. FOIL was a program that could learn function definitions by examples. One version of FOIL was able to solve exercises from a Prolog book. For one of the exercises, it was able to come up with a solution that was shorter than what humans had previously come up with. I don't remember exactly how FOIL worked, but if I recall correctly, it would repeatedly add predicates to it's currently best solution while trying to maximize the number of test cases which it had solved correctly.

[0] http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=4AD...

Re: How learning Smalltalk can make you a better developer

#26

Earlier quoted context omitted.

Haskell has something even cooler. Automatic program synthesis through examples: http://nautilus.cs.miyazaki-u.ac.jp/~skata/MagicHaskeller.ht... For example: f "hi" == "HI" Gives: f = (map toUpper)

From the abstract: > The synthesis algorithm takes a generate-and-test approach: it generates an infinite stream of all the expressions having the same type as f; then, they are tested against the given predicate. I'm really impressed that such a simple approach works. Initially I thought it was something similar to FOIL[0]. FOIL was a program that could learn function definitions by examples. One version of FOIL was…

There's probably some overlap with the different search strategies that can be applied to logic languages and Prolog-like systems. Further heuristics can limit the search space. Now we have programs that write programs!

Re: How learning Smalltalk can make you a better developer

#27

Unstoppable pop-ups

I used to have the same feeling, until I realized that the popups were actually prompting me to the next step. I now depend on the popups (I "live in the debugger" as it were), and I get concerned when they don't happen at all.

Re: How learning Smalltalk can make you a better developer

#28

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…

> 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 anyone could possibly be productive in such an environment. What is it that's so attractive about it to Smalltalkers?

Re: How learning Smalltalk can make you a better developer

#29
post #6

I'd love to see a dance-off between pg and a smalltalk advocate.

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.

Re: How learning Smalltalk can make you a better developer

#30
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 some great ideas.
Post reply on HN