4 ms·
I think the true reason for this is that software is orders of magnitude more complex than civil engineering - and everything you build is pretty much a whole n
by plasticeagle 3y ago
I think the true reason for this is that software is orders of magnitude more complex than civil engineering - and everything you build is pretty much a whole new thing. It's not like there's hundreds of years of bridge design, with gradual improvements made to it over the decades.
Computers would probably have ended up alot better if we'd taken that sort of an approach, but it's much too late now.
That said, when it comes to safety-of-life systems, there are very stringent processes in place. Linux does not even remotely fit into its workflows. Linux will never be a safety system, and we should be glad that it isn't.
- justapassenger 3y ago> and everything you build is pretty much a whole new thing. There’s ton of cookie cutter systems being built, especially as things like could bring standardization (mostly to achieve vendor lock in, but that’s different point). Building 100th web app for some random business isn’t whole new thing.
- patrick451 3y ago> I think the true reason for this is that software is orders of magnitude more complex than civil engineering - and everything you build is pretty much a whole new thing. This is a lie software devs tell themselves to justify producing a shitty product while simultaneously patting themselves on the back for the brilliance they must posses to navigate such wondrous complexity.
- adhesive_wombat 3y ago> software is orders of magnitude more complex than civil engineering Come off it. Even if software was that superhumanly complex (most software actually isn't all that complicated, most of it isn't even new, and it has a unique benefit that it can be easily isolated and modularised in a way that physical things usually cannot, and you can easily "checkpoint" things that work and iterate), civil engineering is just as complex and fraught. Buildings, bridges, railways, etc have thousands upon thousands of interlocking details to get right. Structural physics, ground conditions, materials, electrics, HVAC, drainage, specification and sourcing of parts, safety, regulations, building scheduling. It goes on and on. And fixing stuff is more than pushing a new commit.
- rektide 3y agoNothing else involves as much invention. We know intimately everything that goes into buildings & have built very similar buildings that serve very similar used millions of times. Each software has unique intent & is hugely hand crafted. You cannot overbuild for software. You can over scale. But we don't have plumbing, electricity, foot, space, structural capacities as numerical behavioral properties that we can overshoot. Both are complex but code is arbitrarily complex. The ways things can go wrong is unbounded.
- inetknght 3y ago> Nothing else involves as much invention. That's quite a unique take. > You cannot overbuild for software. What does that even mean? > But we don't have plumbing, electricity, foot, space, structural capacities as numerical behavioral properties that we can overshoot. Sure we do. Ask Texas how the Winter was the past few years. Ask Arizona how their water's doing.
- rektide 3y agoThe brother doest protest too much. To me, it is exceedingly clear almost every other industry of this planet has far far better developed industrial practices and standards. They can go to school & learn how to do the thing. There's simply no common accepted curiculum for how to actually build good software. There's too many possibilities, too many ways to success, and so few common threads that actually winnow down succes or failure. Software has a couple cobbled together Christopher Alexander style Design Patterns that can kind of inform some repeatedly usable ideas. And we have millions upon millions of libraries, each of which probably could become a library that is in the top 10% of usage, if conditions were right. But there's just so little rhyme or reason to it all. Software is all happenstance. You can try to snark your way out of this & shade the difference out, but it should just be so obvious & clear. Software is not as mature. It's practitioners have infinitely more possibilities & exponentially less constraints. Most of it ends up working fair, in such a degree that it's near impossible to judge how far from optimal or how much better it could be working. Almost nothing else is so adrift, so unable to measure & understand how sucessful it is. This should just be clear & obvious. Your protests don't move me. It should be obvious.