4 ms·
I read an article many many years ago explaining why software engineering can't be compared to mechanical engineering. I can't find it now, but one of its poin
by LudoA 9y ago
I read an article many many years ago explaining why software engineering can't be compared to mechanical engineering.
I can't find it now, but one of its points of comparison was: if a nut isn't tightened enough on a bridge, you can tighten it a bit more -- turn the nut 3 or maybe 6 millimeters more. In software engineering, if you tighten the nut only 3 millimeters instead of 6, one of the bridge's endpoints now ends in a different dimension.
I think there is a valid point to it. I'm always amazed in housing construction how things are done "approximately". A wall should be vertically straight... give or take a few centimeters. That kind of approximation doesn't work in software engineering. It has a whole other type of complexity to it.
- KozmoNau7 9y agoIf you're building houses, and your walls are a "few centimeters" off from straight, you'll get a real asswhoopin'. Especially if you're building something with more than one story, and you expect people to actually pay for it.
- someone454 9y agoI’ve never found a perfect 90 degree angle in any house, and I’ve built portions of quite a few. Wood expands and contracts with the seasons.
- KozmoNau7 9y agoWhich also makes it a really silly choice for actual construction. Brick and concrete make a lot more sense.
- pixl97 9y agoExpanding and contracting is good. Steel also expands and contracts. Bricks and un-reinforced concrete crack and crumble.
- KozmoNau7 9y agoOdd how this 1930s brick building I'm in right now hasn't crumbled apart, or even cracked from settling to any noticeable degree.
- pixl97 9y agoI'm guessing you've not been alive long enough to see the required maintenance that has been preformed on said building. People tend to miss and ignore things that aren't part of their profession
- KozmoNau7 9y agoI have bricklayers and carpenters in my friends and family, and I've been on the association board for the building, for the last 10 years. So I know quite well what kind of maintenance is needed. We replaced the entire 6000sqm tiled roof last year, it was the original roof, 80 years old. The maintenance needed on a brick building is fraction of what's needed on a wood building.
- ams6110 9y agoYeah, "a few centimeters" is a lot, but under 1/4 inch is close enough for most residential framing. Windows and doors are always shimmed to fit the rough framing for this reason.
- w8rbt 9y agoThat's why they make protractors for measuring and cutting external baseboard trim. I've seen a few 90 degree corners, but not many.
- wiredfool 9y agoThere are automated methods for determining if a bolt has been fully tightened, and they're generally specified for 100% of the bolted connections. (The most common one is breakoff studs on the bolts, which actually speeds thing up because the wrench can grab the nut and the stud on one side of the connection and torque away till it pops)
- jerf 9y agoYeah, I've completely stopped buying this idea that software engineers just need to do what all the other engineers do to improve. Let me know when someone engineers an n-dimensional bridge. For that matter, let me know when your engineers have built something as complex as the AWS infrastructure, by which I mean, every single service they offer, by information content (something like Kolmogorov complexity). There are some disciplines like power management that certainly have some very large and impressive things that I don't wish to diminish, but the idea that software engineering needs to go learn from all the other engineers is an idea stuck in a very 1970s view of what a "large project" looks like. I am abundantly confident that if you took the amount of engineering done to build something like the Golden Gate bridge today, then took all those man-hours and saw how much software you could get for the same amount, that you'd be surprised how small the result is. Not that it wouldn't be a good chunk of hours to play with, and it would be much larger than many phone apps or web sites, but if you stack it up to something like a browser or a usable OS kernel I'm pretty sure you'd find that the very visually-imposing bridge is actually orders of magnitude, plural, simpler. I say this not because I don't respect civil engineers, but because I also respect just how quickly big computer projects can chew through the man-centuries. No bridges would get built if each one individually required engineering effort commensurate to a new web browser. It's past time for programmers to get over their inferiority complex. A sober look at what the programming world does vs the other engineering fields shows that all things considered, we're doing pretty well. Still a huge amount of room for improvement, but we're not doing so badly that we need to go running off to other completely different disciplines to drag in irrelevant, if not actively harmful, practices that are unconnected to the problems we face.
- irundebian 9y agoI think I agree that software engineering is more complex than building bridges if you take two comparable project. But I don't agree that software engineering is more complex than building rockets which requires - besides a lot physics know how - also deep understanding of electronics and hardware systems. And if we look at the Ariane 5, the software engineers failed.
- imglorp 9y ago