This was written in response to LionKimbro saying he wanted to get beyond text for programming. (Ie. TextFreeProgramming)

I'm afraid we'll have to part company on your latter assertion. I love text files. There's nothing that can't be represented by a good text file. I'll go further and say that it's denial of text-files (and the underlying file-system standards, text file management tools) that ultimately killed SmallTalk. Had someone seen this clearly in 1980, and figured out how make a transparent two-way connection between Smalltalk space and text-file space, we might have seen a very different evolution of computing : a true synthesis of Smalltalk and Unix.

Smalltalk could have become the graphical shell on top of Unix, providing it instantly with a sophisticated GUI (rather than wait for the X consortium to re-invent the wheel), in a language that was optimised for GUI programming (rather than C and then the hell of C++). Smalltalk would have been the default OO language for professional GUI apps. on workstations from Sun and Silicon Graphics. It would have been the default scripting language in Unix. (Would anyone have bothered picking up Perl if you could pop up the graphical script editor to write a 3 line Smalltalk script, that could run on the CommandLine and interact with TheUnixPipe?)

With Smalltalk established as the only serious GUI / Unix scripting game in town, Mac and Windows would have had to be more Smalltalk-like. Visual Basic, Python, Ruby and Java would never have been invented. (Or, at least, not in their current forms. Instead we might have seen language evolution in the form of improvements to or different flavours of Smalltalk, much as there were companies evolving Lisp)

And yet people would have still kept source-code in Subversion and Git. And used diff and patch (and occasionally sed) and all the other command-line goodies.

The Free Software Foundation would have had to ensure a graphical Smalltalk environment was available in Gnu and so one would have quickly migrated to Gnu/Linux. If it existed, Emacs would have become a GUI app. But it may have been that much of the ingenuity that went into extending Emacs, instead would have gone towards evolving the class-browser into an even more powerful and scriptable editor / IDE.

By the mid-90s, the default web-browser would have been assembled from flexible Smalltalk components. The web-server might have had some fast C innards, but the majority of it would be written in industrial-strength Smalltalk. [Lion's] hope for a web, not of documents but of networked GUI components would have been a plausible development in that environment.

In short, Smalltalk's rejection of the file-system and command-line, both crucial text environments, forced programmers to choose unnecessarily between the graphic and the textual toolsets, and naturally, the better (more powerful and flexible) won. For professional programmers, the command-line is still king and graphical tools never really reached the potential that Smalltalk apps. like the class-browser hinted at.

See also :