3 ms·
I've done both as well, and while engineering does require real and serious thought, the traditions, literature, and science behind what you're doing is a trill
by OtterCoder 9y ago
I've done both as well, and while engineering does require real and serious thought, the traditions, literature, and science behind what you're doing is a trillion miles ahead of where programming is.
To put it in perspective, programming has barely had its Archimedes and its Da Vinci by this point. Best practices are a joke, and are usually based around superstition, personality cults,
and faith instead of actual empiricism. Standardization is moving backwards, and computer 'scientists' rarely solve the problems software 'engineers' actually have.
It's a mess. Engineering can fall back on the basics, but programmers, at the end of the day, are mostly relying on instinct.
Edit: I'm not saying programmers are smarter or better. The opposite, in fact. The mistakes and oversights we get away with would likely get a real engineer arrested.
- carlmr 9y ago>To put it in perspective, programming has barely had its Archimedes and its Da Vinci by this point. Best practices are a joke, and are usually based around superstition, personality cults, and faith instead of actual empiricism. Standardization is moving backwards, and computer 'scientists' rarely solve the problems software 'engineers' actually have. I think a lot of software engineering is quite hard to measure reliably. That's why you get all these cults. Software engineering to me is kind of like writing an essay. It's all about having a structure that other people can understand. But like essays, it's hard to put clarity of thought and readability into metrics. Putting your essay into easily digestible paragraphs and chapters is like splitting up your program into functions and modules. One idea per paragraph is the same as a function doing what we can express in the function signature etc. These are all tried and tested methods which have been working over millenia of writing and carry over in software as well.