views:

581

answers:

5

Edsger Dijkstra, who could be somewhat abrasive at times (he called "Carl Friedrich Gauss, the Prince of Mathematicians but also somewhat of a coward") said in his essay "On the cruelty of really teaching computing science" (EWD1036):

A number of these phenomena have been bundled under the name "Software Engineering". As economics is known as "The Miserable Science", software engineering should be known as "The Doomed Discipline", doomed because it cannot even approach its goal since its goal is self-contradictory. Software engineering, of course, presents itself as another worthy cause, but that is eyewash: if you carefully read its literature and analyse what its devotees actually do, you will discover that software engineering has accepted as its charter "How to program if you cannot.".

Is this true?

A: 

Nah, it's BS.

Fermin
+3  A: 

I wouldn't agree. For me, software engineering is how to go about attacking complex problem and Getting Things Done which involves more than just writing some code here and there.

Even if you can program, you need to know about the discipline in the large, etc etc etc. Taking science into engineering is about making decisions on a practical basis with the current technology available, and having a team (large, small or singular) that designs and produces a product that works, here and now.

Computer Science is IMHO a much narrower scope and less of a daily problem when doing software development.

(This of course depends on your product. Some products have more technology and science in them than does others, regardless of whether they're software, hardware, buildings, bicycles, cars or space rockets.)

Marcus Lindblom
A: 

Sometimes the "software engineers" are people who wroted very few lines of code. The problem isn't about dijkstra its about them. He was against formal verification in software(probably because it can't be applied in real life), not against sloppy code.

rkheik
+1  A: 

I got a wee-bit curious -- some older discusions on this quote.

This question should be retained here for posterity. Collect all opinions from people who are directly associated with the subject, for those who lookup interpretations of his quotes.

nik
+3  A: 

you will discover that software engineering has accepted as its charter "How to program if you cannot."

I think I agree with this. At least when I reflect on what we were taught, and a lot of literature, I kinda realize that it's aimed to guide people who can't program.

hasen j
Except that, once they're working in a team on a piece of software too large for a single person to write or maintain, those who think they can program usually find that they, by this definition, can't - if they have the humility to accept this.
Michael Borgwardt

related questions