4 ms·
Yep. Turns out you can write better code faster when you aren't drooling on your keyboard or buzzed on fifteen espressos. The problems come when people compare
by OtterCoder 9y ago
Yep. Turns out you can write better code faster when you aren't drooling on your keyboard or buzzed on fifteen espressos.
The problems come when people compare real engineering work with programming. I studied mechanical engineering. Real engineering is a very, very old art, and 99% of what you do is plugging numbers and adding margins, and physical constraints mostly dictate what you can do. Programming is mostly navigating blind in an infinite sea of possibility, and the only constraints are time and space. It's much more by-feel than real engineering, and I expect it to be that way for another half-millennium at least.
All that is to say, you can push a real engineer harder and get ok results still. A programmer will just die under the whip.
- jwhite 9y ago"Real engineering" also runs on a different (slower) cadence, in part due to the longer timescale between inception and realisation of ideas, and due to the costs involved in making physical things.
- z_open 9y agoWow I really think this is nonsense. I'm a mechanical design engineer. My job is most certainly not just calculating shit. There is a substantial amount of thinking about how to solve problems in a way similar to software engineers. I'm a hobbyist programmer and programming can sometimes be "plugging in" code to solve a problem they already know to solve. Edit: I want to amend this to say it's not just mechanical design engineers that have to figure stuff out. The electrical, industrial, and all other engineers I have worked with have to be creative in some form. And that includes classical mechanical engineers. Calculating the stress on a part may require you to really think about what sort of assumptions you can make or bizarre scenarios it may run into before doing anything.
- OtterCoder 9y agoI'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.