After just turning 40, Smalltalk programming language is quietly thriving, and perhaps even running one of your favorite Websites.
The personal computer as we know it -- WYSIWYG screen, resizable windows, icons, folders, mouse, wireless Ethernet, laser printer -- none of this started with Microsoft Windows or even its predecessor, the Apple Macintosh. No, the PC we all love and hate actually descends from work done at Xerox, the copier giant, starting in the early 1970s.
Working in the shadow of IBM, whose anything-but-personal mainframes dominated the industry back then, Xerox researchers invented pretty much everything that Microsoft, PC clone-makers, and Apple went on to make so much money with. (The one big element of personal computing that Xerox missed, researcher Alan Kay has said, was the electronic spreadsheet.)
Unfortunately for the computer industry, one of the most important creations Kay and his team at Xerox came up with didn't fare so well in the marketplace. That's the Smalltalk programming language, which gave a whole generation of software engineers their first taste of object-oriented programming (OOP). Smalltalk delivered possibly the first integrated development environment (IDE) and it produced programs of incredible malleability: Their function could be changed on the fly, for instance, with no halt to their execution.
Those in the know will tell you that Smalltalk should have become what Java is today, a pillar of enterprise computing, the industry's main write-once, run-anywhere programming tool. But various factors, including a half-hearted marketing effort by Xerox and the fact that Java was a good enough (though quite incomplete) copy of Smalltalk, relegated the language to the sidelines.
But only from a commercial point of view. Smalltalk remained the ur-example of OOP, continued to evolve, and served well those developing apps that had to deal with highly complex and ever-changing data or that had to be flexible enough for end users to reshape them as they needed. Among Smalltalk's most avid users: the CIA, using it to build multimedia workstations for analysts, and JP Morgan, working on advanced systems for its trading floor.
Even if it never hit the big time, Smalltalk's footprints can be seen all over today's computing scene. The language was a major inspiration for some of the Web era's most popular languages, including PHP, Python, Ruby, and Google's new client-side Dart, and it serves as the basis for some of the most taxing apps around: factory scheduling at Texas Instruments, developing microchips at Cadence Systems, and helping AEB in Germany with logistics.
And all the while, Smalltalk and its variants are favored by many independent developers all around the world. They're using it to build Websites, create business apps, and teach children. The latter is exemplified by Squeak, an open-source version of Smalltalk written by a team led by Kay, who has long sought to enhance education through computing. (Squeak wins my vote, anyway, as easily the most powerful and intriguing "thing" you can download off the Web for no charge at all. Check it out.)
Have you ever used Smalltalk? With success? What for? Tell us on the message boards.