Live data from Hacker News

Is Software the UFOlogy of Engineering Disciplines?

codemanship.wordpress.com

121–130 of 186 posts

Re: Is Software the UFOlogy of Engineering Disciplines?

#121

Electrical Engineering - The user sees an outlet, plugs in a lamp, and it works. If the lamp contains a short, the circuit breaker trips, everything else remains safe. Behind the scenes, a power grid, with protection every step of the way, all the way down to a home. If something goes wrong with a load, the circuit disconnects, protecting the wiring in the home, the user (in the case of ground faults), and in most ca…

The risk factors are really pretty different. Most software is run in a way that can't burn your house down. In that sense software is far more secure.

Physical security is usually actually far easier to break than most software security systems but software ports are easier to hit from afar and en masse.

You really can't compare these things.

Re: Is Software the UFOlogy of Engineering Disciplines?

#122
The ‘three tribes of programming’ [1] strike again!

This thread is full of claims that ‘programming is really engineering’ (in accordance with the article), ‘programming is really building’, or ‘programming is really philosophy/mathematics’. They're all true!

It's not that one of them is the True Nature of software and anyone doing the others is doing it wrong or at a lower level. These are three different things that it is completely reasonable to want to do with software, and each of them can be done to an amateur or expert level. But only one of them is amenable to scientific analysis. (The other two are amenable to market testing and formal proof, respectively.)

[1]: https://josephg.com/blog/3-tribes/

Re: Is Software the UFOlogy of Engineering Disciplines?

#123
post #46
post #12

This again? In general, Software Engineering is not engineering. It's not a technical issue, it's a 'software doesn't really kill people so government doesn't intervene in it'. In the case where the software is life and death it's generally developed in ways similar to 'real' engineering Fundamentally folks built building/structures without engineering, just so consistently caused death and destruction that govt step…

> it's a 'software doesn't really kill people so government doesn't intervene in it' I think we've reached the point where this is no longer true - self driving cars, supposed robots you can take home, LLMs being unleashed to randomly guess at medical data or write software to do verification or sensitive tasks. I think software engineering is definitely engineering, we've just been successful in lobbying against pro…

Software companies are definitely flying too close to the sun here. I don't think this is sustainable, at all.

Re: Is Software the UFOlogy of Engineering Disciplines?

#124
post #12

This again? In general, Software Engineering is not engineering. It's not a technical issue, it's a 'software doesn't really kill people so government doesn't intervene in it'. In the case where the software is life and death it's generally developed in ways similar to 'real' engineering Fundamentally folks built building/structures without engineering, just so consistently caused death and destruction that govt step…

Safety is not the only parameter that can be engineered (obviously), nor is it the only one subject to regulation. Efficiency for example is regulated, like when the EPA states what an appliance must accomplish while using some amount of energy. Meeting that guideline takes engineering.

Re: Is Software the UFOlogy of Engineering Disciplines?

#125
post #41

Earlier quoted context omitted.

Most of software is just plumbing.

And plumbing is a highly skilled and essential profession. And a lot of plumbing work involves engineering to a greater or lesser extent.

That's because AI cannot do physical things yet very well.

Re: Is Software the UFOlogy of Engineering Disciplines?

#126
post #49

I think this eternal discussion persists because we conflate two different aspects of software engineering: the technical and the social. Technically, we're a mature discipline. The author laments our lack of tools as advanced as architectural CAD systems, but I'm unconvinced. We have static types, tests, linters, version control, benchmarks, standard data formats and protocols, deployment orchestration, debuggers. I…

> We have static types

But several of our most popular languages don't (e.g., Javascript, Python), with Javascript having particularly ugly behavior.

> standard data formats

We're moving from more formalized data formats (XML) to far lesser formalized data formats (JSON). For example, the former gives relatively powerful tools (through XSD) to define types and what constitutes valid values, while the latter doesn't even have a standard date format. Perhaps JSON schema will one day invalidate most of this concern, but it's still pretty young and not widely utilized AFAICT.

Re: Is Software the UFOlogy of Engineering Disciplines?

#127

Earlier quoted context omitted.

Who makes the software that "real" engineers use to design bridges? Can developers of such software afford to be any less rigorous than the "real" engineers?

Most software flaws would manifest during the design phase, and a crashed application just causes design delays (pushing back bridge opening, but still). The sort of software flaw that would cause the application to not crash, but to mysteriously micalculate some load/shear/whatever limit seems unlikely. You'd almost need a silicon bug, a floating point unit that just totally shits the bed and comes up with a retard…

    The sort of software flaw that would cause the application to not crash, but to mysteriously micalculate some load/shear/whatever limit seems unlikely.
Numeric instability is not only possible, but downright common in application software. You don't need exotic floating point issues to cause it.

Re: Is Software the UFOlogy of Engineering Disciplines?

#128
post #12

This again? In general, Software Engineering is not engineering. It's not a technical issue, it's a 'software doesn't really kill people so government doesn't intervene in it'. In the case where the software is life and death it's generally developed in ways similar to 'real' engineering Fundamentally folks built building/structures without engineering, just so consistently caused death and destruction that govt step…

Who makes the software that "real" engineers use to design bridges? Can developers of such software afford to be any less rigorous than the "real" engineers?

[deleted]

Re: Is Software the UFOlogy of Engineering Disciplines?

#129
post #12

This again? In general, Software Engineering is not engineering. It's not a technical issue, it's a 'software doesn't really kill people so government doesn't intervene in it'. In the case where the software is life and death it's generally developed in ways similar to 'real' engineering Fundamentally folks built building/structures without engineering, just so consistently caused death and destruction that govt step…

It's an interesting discussion.

Developing an application is applying techniques but by nature, you don't really build the same application many times such that you can come up with rules that the daily grunt applies without thought.

What is the software equivalent of spacing studs interspersed with fireblocks that we're not doing?

In software, easily repeated steps and proper practices are moved to the runtime/language/compiler etc.

Is it too conceited to argue that each application is more unique than each housing structure? I'm not sure. But we do actually have many many practices in place that are automatically handled.

Re: Is Software the UFOlogy of Engineering Disciplines?

#130
post #122

The ‘three tribes of programming’ [1] strike again! This thread is full of claims that ‘programming is really engineering’ (in accordance with the article), ‘programming is really building’, or ‘programming is really philosophy/mathematics’. They're all true! It's not that one of them is the True Nature of software and anyone doing the others is doing it wrong or at a lower level. These are three different things tha…

On second thought the tribal testing framework here is a bit simplistic, and there's some cross-tribe pollination, to varying levels of success.

The ‘maker’ tribe also tests with HCI assessments like GOMS and other methods from the ‘soft’ sciences like psychology and sociology, not just economics/business science.

Model-checking and complexity proofs (and complexity type systems) are mathematical attempts to apply mathematician-programmer methods to engineer-programmer properties.

Cyclomatic complexity is an attempt to measure mathematician-programmer properties using engineer-programmer methods.

Post reply on HN