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…
How learning Smalltalk can make you a better developer
21–30 of 73 posts
Re: How learning Smalltalk can make you a better developer
#22I'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…
Re: How learning Smalltalk can make you a better developer
#23I 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
Re: How learning Smalltalk can make you a better developer
#24I 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
For example:
f "hi" == "HI"
Gives: f = (map toUpper)Re: How learning Smalltalk can make you a better developer
#25Earlier 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)
> 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
#26Earlier 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…
Re: How learning Smalltalk can make you a better developer
#27Unstoppable pop-ups
Re: How learning Smalltalk can make you a better developer
#28I'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…
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?