| I disagree with this guy, every point he makes is flawed: > Engineering components exist in the real world Yes, and computers don't exist in some alternate dimension. People might forget it sometimes, but if you're a real engineer, you should know how a computer works, and know it's not magic, it's physics that make you're computer work. Software is merely an abstraction. Secondly, math is also engineering, but you can't touch it, can you? > Engineering components interact in more predictable ways No, wrong again. Software is perfectly predictable (BTW, if you want, you could build a mathematical model of every program. 100% predictable). If you make mistakes in other engineering branches you can get some strange results too. > Engineering has fewer fundamental midcourse design changes I don't see the link between engineering and design changes here. Are you trying to say that no single engineering project changes during it's life? Just look at prototypes of cars, those changes are quite massive. Secondly, ask yourself this question: How much does it cost to change a rocket design midway compared to a software program? > Is software development a science? Well, that's the point, in my opinion it's engineering. > Writing software is more an art than an engineering discipline Some think so, but really, it should be seen as engineering. Why? Artists make choices related to what they like, how they feel. Engineers make objective choices (or at least they should, nobody is perfect). Rant finished! |
Full article here: http://www.paulgraham.com/knuth.html
This is a discussion about meaning of words, so appeal to authority finishes the argument :)