
Jonathan Cast wrote:
Where, in the history of western civilization, has there ever been an engineering discipline whose adherents were permitted to remain ignorant of the basic mathematical terminology and methodology that their enterprise is founded on? Why should software engineering be the lone exception?
No one may be a structural engineer, and remain ignorant of physics. No one may be a chemical engineer, and remain ignorant of chemistry. Why on earth should any one be permitted to be a software engineer, and remain ignorant of computing science?
Indeed. Because abstract alebra is highly relevant to computer programming. Oh, wait... Many people complain that too many "database experts" don't know the first thing about basic normalisation rules, SQL injection attacks, why you shouldn't use cursors, and so forth. But almost nobody complains that database experts don't know set theory or relational alebra. Why should proramming be any different? Don't get me wrong, there are mathematical concepts that are relevant to computing, and we should encourage people to learn about them. But you really *should not* need to do an undergraduate course in mathematical theory just to work out how to concat two lists. That's absurd. Some kind of balance needs to be found.