News for hackers. Stuff that matters.
Re:What is negative engineering? by rapsey on Monday December 12, 2022 @09:58AM (#33955290)
Not comparable at all. You can pay to have a bridge constructed and the project will be defined by an architect, built and inspected following a rigorous and standardized set of steps.

You can also pay to have software built. The specs will not be even remotely as precisely defined and the building of the product will not even remotely follow a standardized set of steps. It will come down to a team and individual programmers implementing features as they see fit.

Software that was running space shuttles was famously engineered. The costs in terms of time and money was astronomical.

> Yes, poor engineering is rampant. But I will argue that malleability also plays a large role in the delta. In traditional engineering you build a car (and you are “done”). In software you build a car and get asked to make it an aeroplane without going back to the drawing board.

Which is why it is not engineering. It is a craft much closer to writing a novel than it is to engineering as it looks in other disciplines.

Re:What is negative engineering? by jcranmer on Monday December 12, 2022 @10:57AM (#33956073)
Construction is frequently slapdash. A friend's wife, who works as an engineer, commented that it often seemed like the construction workers were trying to screw everything up on purpose. As-built is frequently different from the original plans, and that's before you take into account all of the change requests that happen in construction, such as the change that caused the Kansas City Hyatt disaster (oops, a single change request doubled the load on a critical beam, causing it to exceed its design strength and fail in the middle of a major party and killing a hundred people).
Re:What is negative engineering? by rapsey on Monday December 12, 2022 @11:40AM (#33956785)
Construction has a standardized set of steps, which when followed will reliably produce a desired outcome. Programming has no such thing because it it can not, it is a fundamentally different discipline that is unlike any other that we call engineering. Negligence is not relevant.
Re:What is negative engineering? by drpyser22 on Monday December 12, 2022 @12:44PM (#33957649)
Programming certainly can follow standardized design and implementation methodologies. I don't think there is anything fundamental about software engineering that prevents that. It doesn't usually happen because there's not enough agreement on all levels of what is the best methodology. Software engineering is young and still sees significant evolution. Principles of software design and engineering are largely agreed upon and applied, but not in a single, concrete and consistent standard because experts still disagree too much on the specifics of applying those principles, and on other controversial principles.

And of course there is often no regulations that would require and guarantee the application of such a standard, and no standardized QA by customers.

Re:What is negative engineering? by jcranmer on Monday December 12, 2022 @11:54AM (#33956975)
Can you give an example of what you think one of these "standardized set of steps" in construction is?

My suspicion is that, if you start trying to get specific, you can actually find standardized steps at the same level of abstraction in programming. But since construction superficially looks like "stamp out multiple copies of the same thing" whereas programming is superficially "everything is its own special sauce," people try comparing them at different levels of abstraction.

Re:What is negative engineering? by elvis10ten on Monday December 12, 2022 @01:05PM (#33957911)
> Which is why it is not engineering.

I think using that as a basis for this conclusion is wrong. Software changes a lot because it’s possible and “CHEAP” to do so compared to engineering in the meat world. This is a business pressure/decision. If companies can easily and cheaply modify bridges arbitrarily, I believe they will; and this wouldn’t have any bearing on whether it’s engineering.

> Software that was running space shuttles was famously engineered.

This is exactly my point: Most swans are white, doesn’t mean all swans are white.