''"The SmalltalkLanguage is so great! Where can I get it?"'' Except for VisualAgeForSmalltalk, all implementations listed are believed to provide a FreeAsInBeer version sometimes with a degree of license limitations. '''SqueakSmalltalk''': SqueakSmalltalk has excellent support for Internet-related technologies, and a lot of practical support via various class libraries that people have written. In addition to the very practical stuff, it also has a lot of experimental code written for it. The UI can look a bit funky at first, but it is easy to modify - for instance, with one package, you can load IceWM themes. Contrary to what was written here before, there is support for various OODBs (Magma, MinneStore, GemStone/S, GOODS), ORM support, improved programming team support (via Monticello + SqueakSource), and the RefactoringBrowser can be installed within a two minutes of downloading a virgin image using the SqueakMap package loader, which is sort of like Debian's apt-get (but without dependency resolution - soon, though!). * + Small footprint * + Widely portable/ported * + Has a Windows CE port * - On the other hand, I have occasionally had Squeak crash on me, usually when trying my hand at JustInTimeProgramming. * + Is quite stable for most folks, including the people using it for enterprise apps. * + Has a decently sized and vibrant community around it- the folks in #squeak on irc.freenode.net are always up to helping someone new toSqueak. * + It may look like a bright, shiny toy, but can easily be converted into looking like a boring Windows/Unixish app. * - UI needs getting used to. * Dissenting Opinion: I got started on Smalltalk first by reading SmalltalkTheLanguageAndItsImplementation, then by using TekSmalltalk. As far as I am concerned, Squeak is ''the'' Smalltalk interface. While I will agree it is different from the interfaces one often sees around, this, to me, is more a limitation of the other interfaces than of Squeak.... -- BillTrost * First time I ran Squeak, I was stunned. I got this weird sense of how much history there was to GUIs, and how I knew nothing about it compared to what I thought I knew. This UI was almost 20 years old, and looking just fine. (Update: Yesterday at Oopsla, Dan Ingalls showed a salvaged SmalltalkSeventyTwo system running on top of Squeak. I was only BORN in '71. That was a really humbling experience.) ''-- RichardEmerson'' * Squeak's interface, Morphic, is extremely powerful and flexible. However, it suffers from a lack of newbie-friendly documentation. Even many VAST/VW/etc vets often dismiss Squeak, not wanting to learn Morphic by poking around in the Browser. I've used Squeak as my windowing environment at various points in time- using AppleScript or the FFI I've controlled a web browser (the only app outside Squeak I really need); some apps I used were written in Squeak; and what was left over I was able to run from the command line using the totally useful vt100/xterm TeletypeMorph that IanPiumarta wrote- this includes running emacs/vi just like it was in a 'real' xterm. I can tailor the Squeak GUI in a way that just isn't possible in OS X, Windows, or X11, at least not in the time it takes to accomplish in Squeak. -- AaronReichow '''VisualWorks''': VisualWorksSmalltalk has excellent support for Internet-related technologies, has good and growing support for programming teams, has the RefactoringBrowser, but the only transaction-based persistence engine I have been able to find is GemStone. GemStone bothers me a bit because you must first develop in VisualWorks and then export to GemStone. The idea of developing on one platform and exporting to another seems troublesome to me. Now owned by CincomSystemsInc. * + feels feature-rich and powerful * + nice goodies (RefactoryBrowser) * + courseware not beautiful, but usable * + Free to individuals * - big footprint (~40 MB) * - weird commercial licence with royalties This is the one I'll stick to. -- FalkBruegmann '''VisualAgeSmalltalk''': VisualAgeSmalltalk has some support for Internet-related technologies, but seems to lag VisualWorks in this regard (no XSL support, for example). The RefactoringBrowser is available for it, but with reduced (albeit minor) functionality. VAST seems to have at least a couple of transaction persistence engines (Tenacity and VOSS). This "product" is insanely expensive (like many thousands per seat) when you get a quote from IBM. According to the website, VisualAgeSmalltalk (enterprise edition, which is the only way to get Envy/Developer) costs $7,431. That's right. One seat. Seven Thousand. Oh, and by the way, support has been "extended" through 2006. Is VAST otherwise dead? I used it as an intern at Progressive Insurance and have been wondering if they- and VAST shops like them- have migrated to another Smalltalk or switched to something else? -- AaronReichow '''GnuSmalltalk''': GnuSmalltalk, though free (GPL) does have the relatively fatal legalism that any of the image files you create with it are automatically GPL whether you want it or not. It might make sense for smalltalkers interested in using a *nix smalltalk to lobby the FSF to rerelease it under the LGPL, particularly since there seems to be a fairly sizeable community that would be interested in it. ''I don't think this is a "flaw", since it appears to be quite intentional. Besides, you can still ship your own code around as .st-files under any licence you like. RichardStallman likes to do what ever he can to encourage others to see the world the way he does. He especially tries to leverage this view when equivalent tools are scarce or non-existent, and encourages others to do the same.'' ''Besides, what's so bad about shipping your code under the GPL? Just refuse to service it for Machines without a support contract, or something along those line. You just need to be a bit more flexible in thinking about how to set your pricing. Maybe we need a page on DoesGplWorkForAllPrograms?'' GnuSmalltalk is supposed to be ANSI-compliant FWIW. ''The latest version also includes an IDE based on Tk. But it is rather slow, I believe that Smalltalk is passing strings to an embedded Tcl/Tk interpreter...'' '''SmalltalkMT (SmalltalkEmTee)''' (http://www.objectconnect.com/): SmalltalkMT is a very different take on Smalltalk (limited reflection capabilities, for example), but I am considering using it for a WindowsCE application - they have a free 30-day version. '''BuddsLittleSmalltalk''': A small and simple Smalltalk. Written with the intent that any single programmer would be able to know of each class and method in its implementation. It is very far from a full-blown Smalltalk-80 system, and doesn't implement the ANSI standard. Little Smalltalk has a few derivatives (Public Domain Smalltalk [PDST], Susie, Chi Parla) which are generally being developed by one person in their spare time, but Little Smalltalk itself is no longer in development and has no community base of support. The book of the same name teaches the reader how they could implement such a small Smalltalk system. More recently development of Little Smalltalk has been taken over (with permission from the original developer) by a community-run project. * + Small and easy to understand. * + Command line (all) and GUI (5.x) * + Small, but growing community. * - No libraries. '''SmalltalkExpress''': Please post comments. '''CincomSmalltalk''': Please post comments. '''ObjectStudio''' from CincomSystemsInc: Please post comments. '''Smalltalk/X (SmalltalkEcks)''' (http://www.exept.de): A full blown Smalltalk system - free for commercial use. * + feels feature-rich and powerful * + nice goodies (RefactoryBrowser, UIBuilder...) * + Free to for commercial use * + can generate standalone executables * + builtIn WebServer, XML, SOAP... * - relatively big footprint '''DolphinSmalltalk''': It looks and feels like a ''real'' Windows application unlike some other Smalltalks. It has the RefactoringBrowser and everything for networking, XML etc. because you can use the Windows stuff. * + Windows-conforming UI * + additionally downloadable free courseware ("Education centre") looks good * + proprietary product with zero-cost version available * - behaved buggy *on my machine* (time for a fresh OS-installation, maybe) * - only windows * - doesn't talk DotNet * - development has now (August 2007) ended, though the proprietary version is still sold "as is" '''PocketSmalltalk''': Please post comments. * - Development has been dead for years, but programs written using it still work on current versions of the Palm OS, though they are run through the m68k emulaton environment on the newer ARM-based devices. '''BistroLanguage''': a Smalltalk-ish compiler that runs on top of Java. (Looks interesting, haven't tried it:) * - Development seems to be dead for years. '''SharpSmalltalk''' ( http://www.refactory.com/Software/SharpSmalltalk/ ): for DotNet; please post comments * - Appears to have targetted .NET 1.0 and 1.1. Circa 2003. * + The DotNet advantages * - The DotNet architecture does not allow "real" Smalltalk implementations -- ''Possibly not true: IronPython was apparently quite well-integrated with the old, pre-DynamicLanguageRuntime .NET platform, though it took considerable developer effort. And now there's the DLR, which was apparently influenced by the IronPython experience.'' * - No development environment (Browser, Workspace, etc); is debugged using Microsoft's CLR Debugger. '''AmbraiSmalltalk''': (http://ambrai.com/) A MacOsx Smalltalk. New Smalltalk implementation In Beta * + subclass arbitrary ObjectiveCee classes * + Great way to build real OS X apps with native widgets * - Mac OS X only '''VistaSmalltalk''': (http://vistasmalltalk.wordpress.com/) [BrokenLink - try http://web.archive.org/web/20080611143306/http://vistasmalltalk.wordpress.com/.] A Smalltalk that runs on top of the .Net CLR. In development now, but has some nice demos of it running in IE7 and on the client side. '''AmberSmalltalk''': (http://amber-lang.net/) Web and command line based Smalltalk which compiles to JavaScript. There are two IDEs for which work in the browser. ---- See SmalltalkEnvironmentComparisons ---- CategorySmalltalk