20th-century Computer Scientist Quotes
Enterprise architecture (EA) promotes the belief that an enterprise, as a complex system, can be designed or improved in an orderly fashion achieving better overall results than ad-hoc organisation and design. EA is a co-operative effort of designers, analysts and managers and uses enterprise models in the process... enterprise models carry meaning. This resulted in requirements for the enterprise engineering process, which—if not met—can limit the viability of the process. The analysis of the same factors resulted in requirements for improved Enterprise Modelling Tools.
Scientific customers are traditionally less worried about reprogramming efforts than commercial customers, since many jobs are of a research nature and will be done over from time to time anyway. This is obviously true of many small and 'lone shot problems. In practice, however, there are many more machine hours spent on production-type scientific problems than on those of research-type at most scientific computing installations. These production problems can be as rigid and static as any commercial job. The scientists responsible for production work will complain about reprogramming just as violently as an accountant will under the same circumstances.
I deny any government, elected or not, the right to kidnap my children and ship them off to a battlefield to kill or be killed. I accept to pay taxes and that's the sum total of my debt to my government. In every other respect, my government owes me, not the other way around. Conscription is the most fundamental denial of liberty, on a par with slavery. I am not a pacifist and I support a professional army. But I oppose the draft even in times of war. If your country cannot find enough volunteers to defend itself when attacked, then it's not worth defending.
The adverse impact on development productivity of requiring programmers to navigate along access paths to reach target data [...] was enormous. In addition, it was not possible to make slight changes in the layout in storage without simultaneously having to revise all programs that relied on the previous structure. [...] As a result, far too much manpower was being invested in continual (and avoidable) maintenance of application programs.
It is important to emphasize the value of simplicity and elegance, for complexity has a way of compounding difficulties and as we have seen, creating mistakes. My definition of elegance is the achievement of a given functionality with a minimum of mechanism and a maximum of clarity.
It is, therefore, possible to extend a partially specified interpretation to a complete interpretation, without loss of verifiability, [...] This fact offers the possibility of automatic verification of programs, the programmer merely tagging entrances and one edge in each innermost loop.
About PL/I:At first I hoped that such a technically unsound project would collapse but I soon realized it was doomed to success. Almost anything in software can be implemented, sold, and even used given enough determination. There is nothing a mere scientist can say that will stand against the flood of a hundred million dollars. But there is one quality that cannot be purchased in this way — and that is reliability. The price of reliability is the pursuit of the utmost simplicity. It is a price which the very rich find most hard to pay.
The practice of first developing a clear and precise definition of a process without regard for efficiency, and then using it as a guide and a test in exploring equivalent processes possessing other characteristics, such as greater efficiency, is very common in mathematics. It is a very fruitful practice which should not be blighted by premature emphasis on efficiency in computer execution.