If I change the proposition to
A knowledge of computer science is as useful for writing good software as a knowledge of literary criticism is for writing a good story.
Then I would wholeheartedly agree! In fact I would go so far as to say that it is not even arguable—but then again I did cheat, I changed the basis for the discussion! Now if we return to the original, then things are a bit different. If we look at the first clause, then the question becomes is this thing called 'computer science' useful in the task of 'writing good software'. And that is not an easy question to answer, at least not without making some assumptions. For instance, do we mean the academic thing called 'computer science' as in a degree in same? Or do we mean the entire body of knowledge about same? For that matter does the noun science limit the subject? Should the word 'art' have been used? What is the difference between the 'science of computers' and the 'art of computers'?1
The question tree quickly spins out of control because the proposition as stated isn't decideable.
However, since no one else posting here has let that get in the way, I'll go along and make a stab at an answer—hell, why let a little thing like 'undecideability' get in the way?
If I assume that a degree in computer science and a degree in literary criticism are the stand-ins for the original statement, then I still have to agree. I say this without even having to deal with the value of either. No matter how bad the academic scene may have become, I doubt that it is possible for someone to gain a degree and truly wind up knowing less than when they started. And that is what it would take for the possession of either to be less than 'useful' in the pursuit of the assigned tasks. Necessary? No, I didn't say that, just 'useful'. Any knowledge at all from such a source would be in addition to that already had. So useful? Well of course!
For a extremely good discussion on this question, see Computer Programming as an Art
by Donald E. Knuth. In Literate Programming
, Stanford CA, Center for the Study of Language and Information, 1992. 0-9370-7380-6
"Never try to teach a pig to sing…it wastes your time and it annoys the pig."
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||