Live data from Hacker News

Is Software the UFOlogy of Engineering Disciplines?

codemanship.wordpress.com

111–120 of 186 posts

Re: Is Software the UFOlogy of Engineering Disciplines?

#111
post #99
post #8

I always thought of myself as someone closer to a craftsman than an engineer, it's true that there's more "I think", "I believe" than verified working processes, their limits, etc. But I also think that the software development process is maybe too flexible to be regulated, and tested like the other disciplines, a building is always a building, a material is always the same material. But in software, who is going to…

I think there is space for both. You have your "not an engineer" people who have built airplanes, cars, motorcycles and whatnot. They are good with their tools and they are able to make amazing things. Some of them might even be doing these things for a living. Then you get your "real" engineers who need to measure and test and spec out and define limits and must be able to provably demonstrate that the bridge will n…

Any definition of engineering which excludes the Wright brothers and James Watt, who _invented the machine that gives the field it's name_ is a fairly poor definition. If you're creating something in a poorly understood situation by applying rules of thumb, you're doing engineering. Depending on what you are doing, flying by the seat of your pants might be really poor engineering practice, or you might be doing cutting edge work that people will be studying decades from now. Those rules of thumb might be a result of personal trial and error, or you might be getting them from a detailed technical manual. It just depends on what the state of the art is, the maturity of the field, etc.

Re: Is Software the UFOlogy of Engineering Disciplines?

#113
I’ve seen several of these discussions on HN, they’re never particularly illuminating. What always seems to missing:

* Perspective of what it’s like working in other engineering disciplines.

* A clear and shared definition of what “engineering” is.

* Experiences shared by people who do apply significant math and science to their software authorship.

Re: Is Software the UFOlogy of Engineering Disciplines?

#114
post #24
post #16

This is closely related to why Sussman and Abelson stopped teaching SICP: it is not possible to engineer software any more because systems are too complicated to completely understand and abstractions hide too many behaviors. So now we do "programming by poking" to understand what the system does instead of making it correct by construction. http://lambda-the-ultimate.org/node/5335 We just tinker. That's all we can d…

Helps to have more of the quote: He said that programming today is “More like science. You grab this piece of library and you poke at it. You write programs that poke it and see what it does. And you say, ‘Can I tweak it to do the thing I want?'”. The “analysis-by-synthesis” view of SICP — where you build a larger system out of smaller, simple parts — became irrelevant.

We've gone from synthesis to distillation.

Re: Is Software the UFOlogy of Engineering Disciplines?

#115
post #8

I always thought of myself as someone closer to a craftsman than an engineer, it's true that there's more "I think", "I believe" than verified working processes, their limits, etc. But I also think that the software development process is maybe too flexible to be regulated, and tested like the other disciplines, a building is always a building, a material is always the same material. But in software, who is going to…

Software would benefit more from some training in philosophy than in scientific thinking.

Re: Is Software the UFOlogy of Engineering Disciplines?

#116
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?

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 result.

That said, I'm in general agreement that the software developers should be as rigorous as the "real" engineers, but that's often just impossible from an office politics standpoint.

Re: Is Software the UFOlogy of Engineering Disciplines?

#117
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 cases, the load itself.

---

Software "Engineering" - The user installs a program. They then run the program, Any bug can result in permanent ingress of control, exfiltration of data (bank accounts, email, personal information, etc), and the computer can be made permanently unsafe.

All the authority of the user is supplied to every program they run. There are no equivalents to the protection system of the power grid, or circuit breakers. It's all patchwork fixes in layers of accumulated cruft.

Real engineered solutions are possible. It's possible to make systems as user friendly and productive as we're used to, while keeping things safe.

Re: Is Software the UFOlogy of Engineering Disciplines?

#118
post #99

Earlier quoted context omitted.

I think there is space for both. You have your "not an engineer" people who have built airplanes, cars, motorcycles and whatnot. They are good with their tools and they are able to make amazing things. Some of them might even be doing these things for a living. Then you get your "real" engineers who need to measure and test and spec out and define limits and must be able to provably demonstrate that the bridge will n…

Any definition of engineering which excludes the Wright brothers and James Watt, who _invented the machine that gives the field it's name_ is a fairly poor definition. If you're creating something in a poorly understood situation by applying rules of thumb, you're doing engineering. Depending on what you are doing, flying by the seat of your pants might be really poor engineering practice, or you might be doing cutti…

> Any definition of engineering which excludes the Wright brothers and James Watt, who _invented the machine that gives the field it's name_ is a fairly poor definition. If you're creating something in a poorly understood situation by applying rules of thumb, you're doing engineering.

You seem to be implying that the Wright brothers built planes based on rules of thumb. They built scale models and a wind tunnel precisely so they could measure and design their plane more effectively.

Re: Is Software the UFOlogy of Engineering Disciplines?

#119

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…

Safety is the concern of "professional engineering". "Engineering" is about designing systems — that may or may not be safe.

Re: Is Software the UFOlogy of Engineering Disciplines?

#120
post #46

Earlier quoted context omitted.

> 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…

Pet Food Store App does not really need Real Engineering, no

Any place money is changing hands needs at least enough engineering, enough "application of scientific principles," to do it securely. Observably failing at that task means it ends up not being a pet food store. (It ceases to exist or becomes a scam instead.)
Post reply on HN