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.
Inspiring
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.)
In short, Smalltalk is alive and very well, thank you. A new version, called Amber, runs in any standard Web browser, using the JavaScript runtime. A Smalltalk framework called Seaside is gaining popularity as a great way to build flexible Websites quickly. And there's discussion among Ruby-on-Railers that one of the best things they can do is bone up on Smalltalk.
Have you ever used Smalltalk? With success? What for? Tell us on the message boards.
There is no industry that has experiences as much change as IT, I am quite sure. Unfortunately, not all of it has been of the most intelligence kind. And Xerox' experience is a prime example. It invented a ton of incredibly new things and ideas at its PARC labs, but what happened? The IBM PC swept the market, a machine that was a giant step backwards in design. It is only lately that the personal computers on the market have caught up with what Xerox had working in its labs. And according to Alan Kay, a PC industry built around Smalltalk would be well ahead of where it is today, and the Web, too, simply because it was a better way to do things and offers a foundation that's far superior to MS DOS.
One big setback, Kay says, was that the PC was an 8-bit machine, which made it incapable of WYSIWYG graphics. And that legacy held back the PC for years and years.
Gigi 5/10/2012 1:04:38 AM User Rank Management GUI
Re: Small Talk
Henisha, I would like to correct your sayings as "Changes are the only thing which never changes". These changes are due to the fast phase of technological developments and transformations. From customer point of view, this is good because they are getting better facility, but companies are not able to get ROI from these investments in R&D. Before getting any returns, competitors are coming up with a better technology.
Henrisha 5/9/2012 10:50:49 PM User Rank Basic Coder
Re: Small Talk
True, Gigi. The tech industry is a very competitive one. Just because a company has been around for 40 years or so doesn't guarantee it success, although it will already be equipped with the necessary knowledge and know-how to take on specific problems, based on experience. As the famous saying goes, "Change is the only thing that remains constant." True, that.
@Sane, I have heard and read that one of the things that made Xerox PARC so successful was that Xerox gave its researchers pretty much a free hand. They weren't told, go invent this, or that, they were given the freedome to pursue whatever interested them, and because they were bright people, already have some good ideas in mind, they did what they did. This is in stark contrast to what much corporate R&D looks like, with management telling the scientists what needs to be invented, etc. Reportedly, this free approach was something that already had proven itself very productive at ARPA, aka DARPA, and it was cloned, or copied, into Xerox.
I will have to take your word for it, @Jan. I keep meaning to dig into Squeak, too. I even bought a book, which sits forlorn on my shelf, more or less unopened. But it calls to me every once in awhile. I will get to it, one day soon
@SethGb, I think Xerox's problem was that the invented so much and they were so far ahead of the rest of the IBM-dominated computer industry that there was little chance they could have successfully commercialized it all, and certainly not all by themselves. All it took was the so-so, good-enough IBM PC (hardly even a real computer, with not even a real OS, only a loader) to hit the market at $3K and Xerox's $13K+ workstations, as spiffy and amazing as they were, looked way overpriced and over-functioned. Xerox was trying to sell the office of the future, while IBM sold people what was essentially a fancy new typewriter, and that was enough to win the market.
@ SethGB, when I hear stories like this it makes me wish I could work for Xerox PARC. They were able to turn out so many "garbage' products that have had either longevity like SmallTalk or have become industry standards like so many of their projects have and to me that sounds like a place any techie would enjoy. It just sounds like the resources to succeed were there for any project and even when they failed they were still embraced either by other projects or other companies.
Seth, changes in technology are very rapid. Nothing can sustain more than a year or two and this is true for most of the IT and electronic equipments. For example, the conversion from CRT to LCD, then Plasma, LED, 3D etc had happened within last 5-7 years. So changes are the only one thing which won't changes.
I used Seaside and it was fun. I come back to Squeak on a regular basis but something keeps me from really getting into it. Smalltalk is weird and didn't deserve to fail. It inspired so much of what we do today, especially in the Ruby community. Robert C. Martin has argued that Smalltak failed because its users weren't careful enough not to turn the code into a mess. Also at the time the developing world was tightly in the hands of statically typed languages. Even for Ruby and Python it has taken a lot of time to convince people that static typing is irrelevant when combined with rigorous testing.
To save this item to your list of favorite IT Software Community content so you can find it later in your Profile page, click the "Save It" button next to the item.
If you found this interesting or useful, please use the links to the services below to share it with other readers. You will need a free account with each service to share an item via that service.