[hand with pencil]
Stuff For Sale
2004 Summer Tour
About
Blog
Class Stuff
Email Me
Events
Gallery
Home
In The Press
Newsletter
Services
Smalltalk
Veggie Van Gogh

Credits
© 2002,
Bytesmiths

[this is simply a banner and menu bar]

Please patronize sponsors of this page!

Bytesmiths no longer is involved in software consulting. Maintenance of this web site is currently subsidised by unrelated business activities. Please pass the word to other interested folks, so I can continue to host this page!
Your site could be listed here, for as little as $12 per month! Go to Bytesmiths Press for details.

This site has been selected by PC Webopaedia as one of the best on this topic!
This site has been awarded a Links2Go Key Resource Award in the Smalltalk category!

What Is Smalltalk?

If you're reading this page, you probably already have a good idea. But if you haven't a clue, we suggest you start with Goldberg and Robson (listed in our bibliography). Although it is obsolete because it describes no current Smalltalk dialect, this seminal work is still one of the best introductions. Another good starting point is Craig Latta's Smalltalk FAQ, available from Ohio State, Berkeley, Oxford, CMU, et. al. (Ohio State has the nicest HTML port, the others are plain text.)

From there, it is best to get a version to play with. A very new (July 1996) implementation of a Smalltalk learning environment which appears to include the ability to program in Smalltalk by using the "nerd" book is available from the LearningWorks project. The project has impressive leadership -- Adele Goldberg!

There are two freely distributed Smalltalk dialects. Either Steve Byrne's GNU Smalltalk or Timothy Budd's Little Smalltalk can serve to "get your feet wet," but both are fairly limited, especially in graphical user interface, which is where the commercial Smalltalk versions shine. Another low-cost implementation for UNIX with X-Windows is Tomcat's Smalltalk/X.

Bob Sutherland mentions that ST/V-16 for Windows is still available for $300 with WindowBuilder from The Smalltalk Store. It is not a current product, but still a bargain for someone who wants to learn Smalltalk on a budget.

Once you decide Smalltalk is worth paying for, there are numerous commercial versions to choose from. VisualWorks® from ParcPlace-Digitalk is perhaps the most popular, and (for the present, at least) features zero-cost portability for properly written applications. Built on top of VisualWorks is Distributed Smalltalk, which adds CORBA-compliant object distribution. However, VisualAge® from IBM is making a strong showing, with a good balance of functionality, speed, and "Wintel" platform integration. They also have a SOM object distribution scheme available. ParcPlace-Digitalk also sells VisualSmalltalk®, which is known for speed and tight "Wintel" platform integration.

Beyond the "big three" lie several interesting niche products. GemStone® from GemStone Systems is the only true multi-user Smalltalk on the market, and it doubles as a full OODBMS! ObjectStudio from Vmark features Business Object Modeling & Persistent Object Modeling including support for tight integration with RDBMS systems and COBOL. SmalltalkAgents®, a ground-breaking implementation from Quasar Knowledge Systems, features tight platform integration on the Apple Macintosh. Finally, ENVY/Smalltalk®, from Object Technology International, finds wide use in embedded and custom environments, and their ENVY/Developer® is the premier Smalltalk code management system for all the major Smalltalk dialects.

All of these products are too expensive for most individual's budgets, but many of them have aggressive student pricing.

What Is Smalltalk Good For?

In our opinion, Smalltalk best embodies the gains that are said to arise from object-oriented software, combined with ready availability through several vendors. Newcomers such as Dylan and Self are revolutionary and are to be watched for future direction, but they lack Smalltalk's maturity. Old-timers such as Simula and C++ have not proven to be as versatile, nor as productive.

Smalltalk has been embedded in an oscilloscope, and it manages the telephone system of an entire country. It runs real-time switching circuits, and it runs batch programs on large mainframe computers. It generates test patterns for semiconductor test equipment, and generates the exact manufacturing cost of an automobile.

But by far, Smalltalk has found its widest interest in business informations systems. In engineering shops, it's a hard sell -- after all, their people already know C, so they lean toward C++. But when an MIS director is faced with "modernizing" hundreds of COBOL programmers, the choice is not influenced with the legacy of C, and Smalltalk is often chosen, based on technical merit and flexibility. Smalltalk also is well-suited for large projects, especially if cultural and procedural issues are properly addressed. (Our Smalltalk Report column tries to address these issues.)

This is not to imply that Smalltalk is automatically the best choice in every situation -- indeed, one of the biggest problems is unrealistic expectations, based upon overly zealous proponents. Also, Smalltalk's rapid growth has caused the lack of availability of skilled practicioners to be a limiting factor. But many more application domains can benefit from Smalltalk than one might at first imagine, and the decision to use it should be based on overall business reasons, rather than knee-jerk technical prejudices.

How Does Smalltalk Scale?

Smalltalk has a history of incredible productivity for individuals, but not so rosy a picture for large projects. We believe strongly that this is due to cultural, procedural, and managerial issues, not language or technical issues.

Sometimes Smalltalk is actually called in as a scape-goat: "Oh my gosh, this is a crash and burn -- quick, find something to blame it on!" At other times, it is seen as a "silver bullet" -- a life-line for a sinking project. These have no hope of success, with or without Smalltalk.

Smalltalk is growing up, finally getting the kind of support for process and methodology that COBOL programmers have long taken for granted. This is evidenced by the strong interest in Smalltalk issues, such as testing, shown at OOPSLA '95.

Got Any Neat Links?

There's a lot of neat stuff out there, but here's a few places we think are worth visiting, that we haven't had an excuse to mention yet.

What Do You Think?

We're interested in your suggestions for improving this website. Please send email comments to the webmaster.

:::: 2152 Fulford-Ganges Road, Salt Spring Island, British Columbia, V8K 1Z7, Canada (map), +1 250.653.2024 ::::