dwpst@unix.cis.pitt.edu (Douglas W Philips) (01/11/91)
In the January 91 Computer Language EOF column, Charles-A. Rovira talks about the continuing "software crisis". What he refers to is the lack of highly productive programmers. His solution is to use Smalltalk. Some of what he says seems directly applicable to Forth as well, but some seems definitely anti-Forth. I'm interested in what other ForthNet readers thought of his column. Below I've included some quotes from his column that I think are relevant to Forth (positively or negatively). [Quoted w/out permission, typos, etc. are mine. -dwp] The software crisis is the result of our being three to four orders of magnitude too slow. ... The crisis will only be resolved when we're putting out 20,000 to 200,000 lines of error-free, working code in a matter of hours. It's not an impossible goal. ... The problems of testing a large program grow exponentially. ... A program with 100 functions is not testable in any practical sense... Our productivity is so low because we design tools that actively encourage us to fail. ... I will tell you how I routinely generate 20,000 to 200,000 lines of code in a few hours. I use Smalltalk. ... When I say 20,000 lines, I'm not talking about 20,000 lines of assembly language over which I have little control; I'm talking about 20,000 lines of Smalltalk, all of which is instantly accessible (and changeable) from the environment. ... With Smalltalk, most of what is left for the programmer is "programming by exception." ... Smalltalk's overhead is large, but like Damocles, I've got more important things hanging over my head than any CPU will ever have. Failure to deliver means that I can't meet the mortgage. Whatever delivers, whether it strains the CPU or not, is acceptable, as long as the customer agrees its acceptable. Chip cycles are almost free, RAM is cheap; what is expensive is my time. If I can't show results, no one will hire me. If I can't produce the goods, I have nothing to sell. I would rather have a program that works somewhat inefficiently than an amazingly efficient computer that doesn't do a thing. [Actually I think the most appropriate medium for a reply to this would be a letter (or many!) to Computer Language. A thorough comparision between his Smalltalk wonderfulness and Forth might even be worth an entire column. If I had the Forth expertise I would attempt it myself. -dwp]