[net.micro] Per Brinch Hansen on uC programming

peterr@utcsrgv.UUCP (Peter Rowley) (08/18/83)

Submitted for your approval...

"For a brief period, personal computers have offered programmers a chance to
 build small software systems of outstanding quality using the best available
 programming languages and design methods.

"Personal computers attract a new generation of programmers for whom the
 ability to use software written for previous computers is of little or no
 interest.  Consequently, computer manufacturers have the freedom to choose
 new programming languages and develop innovative computer architectures for
 personal computing.

"The simple operating procedures and small stores of personal computers make
 it both possible and essential to limit the complexity of software.

"For these reasons, personal computers provide a unique opportunity to improve
 software quality.  This goal has indeed been achieved by the UCSD Pascal
 system.  But it does not appear to be an industry-wide trend yet.  Most
 operating systems for microcomputers are still written in assembly language.

"The recent development of the complicated programming language Ada combined
 with new microprocessors with large stores will soon make the development
 of incomprehensible, unreliable software inevitable even for personal 
 computers."

     Per Brinch Hansen, "Programming a Personal Computer", Prentice-Hall, 1982

The author, of operating systems and Concurrent Pascal fame, goes on to
propose his new language/system Edison as a solution.

His analysis overlooks the very primitive architectures of the 8 bit micros
and the lack of programming language and architectural innovations, but
it's true that the opportunities were there and have by and large been lost,
except for Xerox's Alto, MIT's Lisp Machine, and Wirth's Lilith.  Possibly
more interesting is the prediction of future software quality (and the swipe at
Ada as *furthering* the "software crisis").  Microsoft, Visicorp, and Digital
Research all seem pretty proud of their switch from assembler and BASIC to C;
this doesn't seem that promising considering C is about ten years old.