You're literally the first person I've ever seen suggesting this, I actually thought you were being sarcastic!
My POV (and most people's, I think) is that software is buggier because software people are wildly unserious compared to hardware people (and other engineering disciplines like civil engineering). Which is an alright trade-off in the very large majority of cases, as software is rarely very important and is easy to update, whereas hardware and bridges are very high-stake and extremely costly to update.
> if you ask a civil engineer to design you a perfect bridge, they probably will. Ask a software engineer with all the experience and education in the world to build you a perfect podcasting app, it simply isn’t happening
The civil engineer gets to rely on extremely high-quality very-serious civil engineering work, built over millenia. The software engineer relies on shaky (ie buggy) work from past nowhere-as-serious software engineering work, built over ~70y.
The fact that the software engineer can do anything at all on such small and buggy past work shows how easy it is compared to civil engineering.
In my mind, saying "software engineering is shown to be harder by the presence of bugs" is akin to saying "LEGO building is harder, people build stuff that collapses all the time"
> The civil engineer gets to rely on extremely high-quality very-serious civil engineering work, built over millenia.
Yes, exactly? That's what makes it easier.
Software engineering has been a thing for, if you squint, 70 years? Comparing that to thousands of years of humans trying to pile up rocks in various ways to make houses is unserious.
Moreover, there are only so many rocks you can pile up on top of each other. Software can be infinitely complex.
How often is the civil engineer asked to add major features to his 80% finished pile of rocks? Or to move the whole pile by 50m? How long is he expected to continue feature development on it after it's been built?
> extremely high-quality very-serious civil engineering work, built over millenia
Translation: When randomly piled up rocks resulted in many dead humans we dutifully wrote down not to do that particular thing again. Repeat for a couple thousands of years and you get your very serious civil engineering work.
My POV (and most people's, I think) is that software is buggier because software people are wildly unserious compared to hardware people (and other engineering disciplines like civil engineering). Which is an alright trade-off in the very large majority of cases, as software is rarely very important and is easy to update, whereas hardware and bridges are very high-stake and extremely costly to update.
> if you ask a civil engineer to design you a perfect bridge, they probably will. Ask a software engineer with all the experience and education in the world to build you a perfect podcasting app, it simply isn’t happening
The civil engineer gets to rely on extremely high-quality very-serious civil engineering work, built over millenia. The software engineer relies on shaky (ie buggy) work from past nowhere-as-serious software engineering work, built over ~70y.
The fact that the software engineer can do anything at all on such small and buggy past work shows how easy it is compared to civil engineering.
In my mind, saying "software engineering is shown to be harder by the presence of bugs" is akin to saying "LEGO building is harder, people build stuff that collapses all the time"