Slashdot videos: Now with more Slashdot!
We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).
Xerox PARC produced wonderful, important concepts, but I'm unable to think of a single important commercial product that came from there. Dynabook is just another example.
One of the first hypertext processors, a WYSIWYG text system written at Brown U. in 1967-1969, had a feature called an Electric Blackboard that allowed the user to build tables of numbers with various kinds of automatic summing/averaging of the rows and columns. You could select an individual entry with the light pen (IBM 2250), change it, and the calculated entries would automatically update. I've heard that this feature was used to establish prior art when VisiCalc and SuperCalc were duking it out in court a decade later. The feature used the expression evaluation engine from the BRUIN language, an interactive language interpreter also developed at Brown.
One of the undergraduates working on the project was Bob Wallace, later an early employee of Microsoft and developer of PC-Write and the concept of shareware.
1. Ada lets me say clearly what my code is supposed to be doing in the code itself; I don't have to write coding tricks, I don't have to write comments that explain what the code really does. I can write code that I can read a year from now or some other coder can read ten years from now and we'll both know what it does. Sure, I can still write obscure, obfusticated code, as can anyone who doesn't care about the long term, but it lets me do it right if I want to. Other languages fall short of this.
2. Ada turned out to be a language for software engineers, not coders. The two guys who were its chief architects, Jean Ichbiah of Honeywell and Tucker Taft of AdaCore, were/are consummate software engineers (Jean did the first version, Ada83, died about 5 years ago; Tucker did Ada95, 2005, and 2012). In general, the more educated and experienced you are as a software engineer, the more you'll like Ada.
3. In my opinion, the military use of Ada failed because good Ada programmers are not psychologically suited to work for big defense contractors. Likewise, big defense contractors don't want to pay people who write code the kind of money that good Ada programmers are worth. So they hire five cheap coders instead and it takes them seven times as long to do the coding. (It's a good thing that funding for Defense is unlimited.)
4. Ada also suffered from the COTS (Commercial Off The Shelf) fad that swept the military in the 90's. If any coding was needed and possible, it tended to be Visual Basic or C++. The closest we got was PL/SQL (Ada-derived).
Will Ada ever make a come-back? Probably not; the urban legends about it being complex, designed by a committee, and militaristic will overcome its ability to be more reliable and cheaper over the life-cycle. I can only hope that all the life-critical software I encounter -- airplanes, medical equipment, my 2021 self-driving Toyota -- is coded in Ada.
I was involved in a project to make PARC products -- the Alto, Ethernet, and laser printer -- into a commercial product in the mid-to-late 70's, at Xerox in El Segundo. The hardware was amazing; I remember the thrill when they wheeled my Alto into my office, pushed aside a ceiling tile, and connected it to a big black cable called the Ethernet. It was quite obviously a minicomputer, not a microprocessor-based personal computer, similar to Digital's PDP-8 and the DG Nova-2 (as Animats said above). I'd used a mouse years before at Englebart's, so it was great to see a manufactured version, but disappointing that it lacked Doug's chord keyboard and three mouse keys for typing ASCII in binary. We knew nothing about the costs of the hardware; we were concerned with the software.
And the software stank. All of the pretty demos running on the Alto were coded at the grad-student level, utterly unusable for a commercial product. For example, the MESA compiler, for the language in which some of the software was written, had been tested only to the extend that it would compile itself. (Most of the Alto s/w was coded in BCPL. Fun facts: the predecessor of C was B; its successor should have been P and the one after that L.) The OIS project to commercialize the Alto blew up to a few hundred people and just as quickly blew away on an early Santa Ana.
I would suggest that Xerox as a company and PARC as a specific part of it failed because they were unable to write commercial-level software.