Live data from Hacker News

Is Software the UFOlogy of Engineering Disciplines?

codemanship.wordpress.com

81–90 of 186 posts

Re: Is Software the UFOlogy of Engineering Disciplines?

#81
post #41
post #7

Most of software isn't engineering, it's just building. It's like a lot of these custom car/motorcycle builders vs actual engineers designing for a major manufacturer. You are both building a product but one places a lot more rigor on the science, data, and testing behind the decisions. That doesn’t mean the custom builders don't build good stuff, just that you won't get answers to things like how much force a partic…

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.

Re: Is Software the UFOlogy of Engineering Disciplines?

#82

Earlier quoted context omitted.

It's solving and building, but most of all it's language. It's all language. Either telling the machine what to do or coordinating a group of people cohesively.

I actually read an interesting study, probably here, about software engineers. It turns out that for as much emphasis as we put on mathematics we actually tend to be better at language, and that even our penchant for maths is less in the way of calculation and more in the way of definition and expression (which is to say, making it the language numbers speak and learning it that way).

It would be nice to have a reference.

Re: Is Software the UFOlogy of Engineering Disciplines?

#83
I'm going to refer to Philosophy of Computer Science ( https://news.ycombinator.com/item?id=20912718 https://news.ycombinator.com/item?id=10388603 ) and say "its not an easy or decided problem".

Section 3 has about 100 pages (in the pdf - I'd have to dig around to find the hard copy) that tries to look into what computer science is. Section 3.10 starts comparing it with engineering... and noting that it's looking at computer science rather than programing aspect of it. Part of the questions being asked is "is computer science a science?"

I'm going to highly recommend the book for those interested in these questions. I'll also point out that across its thousand(!) pages, this book is in large part a survey of the literature of tens of thousands of more pages on the subjects.

I don't believe that most people are approaching software development (be it called computer science or software engineering) with either the mindset of a scientist or an engineer (there are times when one of those mindsets is necessary) Rather, I agree with a later section in it...

    3.14.7 Is CS Magic?

    The great science-fiction author Arthur C. Clarke famously said that “Any sufficiently advanced technology is indistinguishable from magic” (http://en.wikipedia.org/wiki/Clarke’s_three_laws). Could it be that the advanced technology of CS is not only indistinguishable from magic, but really is magic? Not magic as in tricks, but magic as in Merlin or Harry Potter? As one CS student put it,
    Computer science is very empowering. It’s kind of like knowing magic: you learn the right stuff and how to say it, and out comes an answer that solves a real problem. That’s so cool. —Euakarn (Som) Liengtiraphan, quoted in Hauser 2017, p. 16
    Brooks makes an even stronger claim than Clarke:
    The programmer, like the poet, works only slightly removed from pure thought-stuff. He [sic] builds castles in the air, creating by the exertion of the imagination . . . . Yet the program construct, unlike the poet’s words [or the magician’s spells?], is real in the sense that it moves and works, producing visible outputs separate from the construct itself. . . . *The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be.* (Brooks, 1975, pp. 7–8, my emphases).

    ...

    Clearly, programming involves exactly that kind of use of symbols. Or, as Abelson & Sussman put it in their introductory CS text (which we discussed in §3.14.4): A computational process is indeed much like a sorcerer’s idea of a spirit. It cannot be seen or touched. It is not composed of matter at all. However, it is very real. It can perform intellectual work. It can answer questions. It can affect the world by disbursing money at a bank or by controlling a robot arm in a factory. *The programs we use to conjure processes are like a sorcerer’s spells.* They are carefully composed from symbolic expressions in arcane and esoteric programming languages that prescribe the tasks we want our processes to perform. (Abelson et al., 1996, my italics)
https://jpmens.net/2021/04/09/the-unix-magic-poster/ https://news.ycombinator.com/item?id=27029196

Re: Is Software the UFOlogy of Engineering Disciplines?

#84
post #15

> More than 20 years ago, I corresponded with famous UFO researcher Stanton T. Friedman. His central claim was that “the evidence is overwhelming that some UFOs are extraterrestrial spacecraft”. I don't believe in UFOs. But if I had to believe in UFOs, this would be my position: We have had modern humans for 500 000 years [1]. If it takes 10 000 years to make it from stone age to space age, we have theoretically had…

what do you think the cambrian explosion was

Re: Is Software the UFOlogy of Engineering Disciplines?

#85

I've always wondered why UFOs are only a USA phenomenon. Why doesn't China have these extraterrestrial biological remains? What about Russia? North Korea? Japan? Because it's a form of mass-hysteria. Just like the flat Earth crowd, they will continue to shovel the narrative and ignore scientific evidence.

> I've always wondered why UFOs are only a USA phenomenon.

They're not. There are however two factors greatly biasing your perception of UFOs. First, it takes a fair amount of effort to track down information in foreign language sources, so in general there's going to be a lot less English-language information on Chinese, Russian, or Japanese reports of UFOs. Second, militaries are going to both generate more UFO reports (thanks to military research programs that go awry, e.g., the circumstances behind the Roswell incident) and be a lot more open to collecting and investigating them (because of their ability to indicate the previous point). The US military being the largest and most well-funded in the world is thus going to generate the largest UFO report halo around it.

Re: Is Software the UFOlogy of Engineering Disciplines?

#86
post #7

Most of software isn't engineering, it's just building. It's like a lot of these custom car/motorcycle builders vs actual engineers designing for a major manufacturer. You are both building a product but one places a lot more rigor on the science, data, and testing behind the decisions. That doesn’t mean the custom builders don't build good stuff, just that you won't get answers to things like how much force a partic…

It's solving and building, but most of all it's language. It's all language. Either telling the machine what to do or coordinating a group of people cohesively.

You mean communication, the transfer of ideas. Already hard between humans, machine language and operation is completely foreign.

Re: Is Software the UFOlogy of Engineering Disciplines?

#87
post #33
post #7

Most of software isn't engineering, it's just building. It's like a lot of these custom car/motorcycle builders vs actual engineers designing for a major manufacturer. You are both building a product but one places a lot more rigor on the science, data, and testing behind the decisions. That doesn’t mean the custom builders don't build good stuff, just that you won't get answers to things like how much force a partic…

> Most of software isn't engineering, it's just building. Other way around. The difference between engineering and building is that building refers to the building of a component in isolation, while engineering is about the building an entire system through the combination of multiple components. Most software — and all software that is actually used — is a built system. > but one places a lot more rigor on the scien…

Thanks for bringing up the PE distinction. This kind of argument comes up here ad nauseum. People have different views and we argue semantics.

There is engineering as a discipline (e.g., mechanical, electrical, industrial, civil, aerospace...etc.) and engineering in a more colloquial sense like "I did some hillbilly engineering and rigged up a pea sheller". Both involve solving problems.

The former typically involves the person going through a rigorous 4-5 year program where they take a bunch of advanced math and physics classes and a ton of other classes (including coding and robotics as well as more specific classes such as power electronics) that teach logical thinking and problem solving. I'm always amazed that I can more or less talk to any engineer across the country (different state, different university, different engineering discipline) and still recognize their training and that hyper analytical mindset and feel the kinship. That of course doesn't mean that there aren't similar analytical people that went in other directions, but the training is a real thing.

A professional engineer passed their fundamentals of engineering exam, got their degree, and then took their professional engineering exam. You used to have to get 4 years of work experience before applying, but I think they got rid of that. It's an awful 8-hour exam with a pretty low pass rate. Honestly though, the PE usually just means the engineer was willing to spend 3-6 months prepping for the exam and has a need for the license to stamp papers. A lot of engineers never get it if they don't need it. I believe you need it in some cases for court cases.

As far as software engineering goes. It seems to be a discipline that matches the second colloquial definition more in a lot of cases. In some cases they have actual software engineering degrees where the student takes all the standard intro engineering courses (calculus, linear algebra, statistics, differential equations, statics, dynamics, circuits, thermodynamics) before doing the core classes distinct to that major. In that case, I'd call them an engineer due to the training and think it's an appropriate job title even if they get a job slinging corporate java, which would not typically be viewed as traditional engineering. So they're an engineer...not necessarily doing engineering. Does that really make sense? My own definition breaks down if we apply this to the same engineer becoming a garbage man. They're still an engineer by training, but they're most definitely not doing engineering anymore.

Also, if Pete gets a job slinging code out of highschool...we can say he's doing engineering in the colloquial second sense, but is he an engineer in the first sense? No.

Clear as mud? As an engineer I now must flog myself for my own internal inconsistencies. In all seriousness, language is hard and sometimes imprecise. I didn't realize my rambling got so long and apologize.

Re: Is Software the UFOlogy of Engineering Disciplines?

#88
post #14

Earlier quoted context omitted.

"For example, a mechanical engineer is someone that designs mechanical systems. In order to do that, they will need specialized and very expensive equipment, and the end result will be produced with machines costing hundreds of thousands or even millions of dollars." Not really. The difficulty to manufacture something isn't tied to the ability to engineer it. In fact, good engineers try to make the item easier/cheape…

Was the AK-47 first built and designed with stuff a normal mechanic would have had access to at the time? And to test it? And produce it at scale? That's engineering work.

Depends on what you consider a normal mechanic. A hydraulic press, drills, and an engine lathe could be in a mechanic shop. At the very least, having those items doesn’t make the mechanic an engineer.

Re: Is Software the UFOlogy of Engineering Disciplines?

#89
post #35
post #20

Earlier quoted context omitted.

There have been serious efforts at software engineering, like the OOP movement in the 1980s and 90s to construct software very methodically. Programmers hate it and rejected it. To be fair, it does tend to create its own pathology. Instead of a layer cake made of congealed spaghetti, you tend to get over -engineering. https://github.com/Hello-World-EE/Java-Hello-World-Enterpris... Software engineering leads to softwa…

Look at ECS and game dev. Some may say games are just products, yet some real engineering is done in some places.

Good game dev shops tend to have some very good programmers in them. Game dev has pioneered ideas like data oriented development, which are not suitable for everything but are cool.

Re: Is Software the UFOlogy of Engineering Disciplines?

#90

How many centuries did it take for civil engineering, for example, to become the codified, standardized, and respected calling it is now? While I'm sure "software development" will leapfrog that span of time, but it's only been 75 years since the discipline was invented to begin with (Lovelace's work was more applied math than anything else, but the starting point is arguably between then and, let's say, FORTRAN?). T…

Well, yes, but after the 75 years, don't you think that "too young" argument is getting old? Nuclear energy, medical imaging, and the space part of aerospace are all younger than "software development". These are all mature industries highly codified, and they also all also encompass software development among other things. Could it be that software development isn't an engineering discipline at all but a supporting…

https://en.wikipedia.org/wiki/ANSI_C, Software Engineering is also codified imho.
Post reply on HN