3 ms·
A bit ironic that the same quote of Dijkstra appears on both comment sections. He is also infamous for: >[...] software engineering has accepted as its charter
by dav_Oz 3y ago
A bit ironic that the same quote of Dijkstra appears on both comment sections. He is also infamous for:
>[...] software engineering has accepted as its charter 'How to program if you cannot.'" [0] (1988)
The context is that CS has to tackle two "radical novelties" which aren't reflected accordingly in real world applications and education:
(1) Deep conceptual hierarchies:
>From a bit to a few hundred megabytes, from a microsecond to half an hour of computing confronts us with the completely baffling ration of 10^9! The programmer is in the unique position that his is the only discipline and profession in which such a gigantic ratio, which totally baffles our imagination, has to be bridged by a single technology. He has to be able to think in terms of conceptual hierarchies that are much deeper than a single mind ever needed to face before. Compared to that number of semantic levels, the average mathematical theory is almost flat. [EWD1036-7]
(2) Large-scale digital device:
>It is possible, and even tempting, to view a program as an abstract mechanism, as a device of some sort. To do so, however, is highly dangerous: the analogy is too shallow because a program is, as a mechanism, totally different from all the familiar analogue devices we grew up with. Like all digital encoded information, it has unavoidably the uncomfortable property that the smallest possible pertubations - i.e. changes of a single bit - can have the most drastic consequences. [For the sake of completeness I add that the picture is not essentially changed by the introduction of redundancy or error correction.] In the discrete world of computing, there is no meaningful metric in which "small" changes and "small" effects go hand in hand, and there never will be. [EWD1036-9]
[0]https://www.cs.utexas.edu/users/EWD/ewd10xx/EWD1036.PDF https://www.cs.utexas.edu/users/EWD/ewd10xx/EWD1036.PDF [EWD1036-10]