9 ms·
How learning Smalltalk can make you a better developer
- Sam_Harris 10y agoUnstoppable pop-ups
- guiambros 10y agoI almost can't read anything more than a page long without Print Friendly[1] or Readability[2]. Not because of ads, but getting rid of all the distraction makes it so much more pleasurable. No wonder why Medium has grown so much. [1] https://www.printfriendly.com/ https://www.printfriendly.com/ [2] https://www.readability.com https://www.readability.com
- agumonkey 10y agoIf browsers showed stats, I wouldn't be surprised printfriendly being on the first spot. printfriendly will lower your blood pressure. When I feel anarchist enough I use dillo.
- horrido 10y agoI don't understand what you mean. I've only ever gotten one pop-up, if even that. I've never found TechBeacon to be intrusive.
- na85 10y agoJoin the NoScript master race. Javascript is the cancer killing the Web. With that and uBlock I haven't seen a popup in years.
- i_feel_great 10y agoI 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.
- Kinnard 10y agoI'd love to see a dance-off between pg and a smalltalk advocate.
- endlessvoid94 10y agoThis thread between Alan Kay and Rich Hickey was pretty close: https://news.ycombinator.com/item?id=11945722 https://news.ycombinator.com/item?id=11945722
- wrefordt 10y agoThat was painful. Two smart people talking around each other.
- endlessvoid94 10y agoI 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
- GFK_of_xmaspast 10y agoI think that's vacuously true in that learning any language that's dissimilar enough from the ones you already know can make you a better developer. (Smalltalk's nowhere close to the top of the "learn next" stack for me tho)
- malisper 10y agoI 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 the languages that I use everyday to be able to do it.
- efnx 10y agoHaskell has this through hoogle. http://www.haskell.org/hoogle http://www.haskell.org/hoogle
- Klockan 10y agoDoes Hoogle let you search by example?
- efnx 10y agoIt 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 https://www.haskell.org/hoogle/?hoogle=Char+-%3E+Char
- eudox 10y ago>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.
- mchaver 10y agoSearching 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 '<some keywords> <optionally library name> language:<language>'. Unfortunately there are some serious limitations in github search, no way escape certain characters.
- qwertyuiop924 10y agoI'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.
- horrido 10y agoThe 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 (<cough> Java <cough> C# <cough>)? Smalltalk documentation isn't that bad. Here's a very, very gentle tutorial: http://amber-lang.net/learn.html http://amber-lang.net/learn.html Here's a great (free!) book: http://sdmeta.gforge.inria.fr/FreeBooks/ByExample/ http://sdmeta.gforge.inria.fr/FreeBooks/ByExample/ And a great (free!) book for GNU Smalltalk: http://stephane.ducasse.free.fr/FreeBooks/Gnu/ProgrammingUsingGnuSmalltalk.pdf 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 http://www.jarober.com/blog/st4u.ssp And a great Pharo blog: https://medium.com/concerning-pharo 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 http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
- qwertyuiop924 10y agoSBE 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.
- AdmiralAsshat 10y agoArticle 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 https://en.wikipedia.org/wiki/Squeak
- gokr 10y agoHmmm, I find this slightly misleading. It was a long time ago that the original Smalltalk creators were involved in Squeak (Dan Ingalls is the main developer, Alan Kay the visionary). It should also be mentioned that Squeak (and Pharo too) was and still is VERY close to Smalltalk-80.
- lyjackal 10y agoI 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/ 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.
- USANEEDSHELP 10y agoAhh 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.
- chadcmulligan 10y agoI 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.
- horrido 10y agoI use Amber Smalltalk to write cross-platform mobile apps for Android and iOS: https://medium.com/smalltalk-talk/amber-alert-we-can-do-mobile-apps-34b2d4d32731 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-c6fdaa6319a 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.
- chadcmulligan 10y agoDo 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.
- horrido 10y agoUnfortunately, no.
- niftich 10y agoThe article highlights several contributions of Smalltalk to CS, but here's a few more: David Ungar and Randall Smith, originally at Xerox PARC, then Stanford, designed Self, a prototype-based dynamic JITted Smalltalk dialect. In 1991 they joined Sun Microsystems, where Self kept being developed. In 1994, Urs Hölzle at Stanford wrote a better compiler for Self. He was approached by Dave Griswold, who wrote a paper in 1993 with Gilad Bracha titled 'Strongtalk: Typechecking Smalltalk in a Production Environment', and together with Lars Bak the four of them started a company to commercialize Strongtalk. They were acquihired by Sun in 1997. Together, the Self and Strongtalk teams' work resulted in the HotSpot VM for Java in 1999. - David Ungar went on to be a member of the 'Dynamic Optimization Group' at IBM Research. - Randall Smith now works at the 'Modeling, Simulation, and Optimization Group' at Oracle Labs. - Urs Hölzle was one of Google's first hires and its first VP of Engineering and significantly shaped the company. - Lars Bak joined Google in 2004 and went on to design the V8 runtime and Dart. - Gilad Bracha went on to co-author much of the Java Language Specification and the Java VM Specification, then started a company to design the language Newspeak, and now works at Google on Dart. - Dave Griswold continued to develop Strongtalk well into the 2000s, but I can't find any current info on him. If you know what he's up to these days, let me know!
- horrido 10y agoThank you for this! I learned something today. I shall have to post this in the Comment section of the article.