Remix.run Logo
hatsuseno 2 days ago

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?).

That is to say, as a programmer, I feel like we're wading in an ocean of unknown size and depth. As we learn, by trial and error, the confines of that space will fuel the standardization and codification of the craft will only increase as a function of time until it isn't craft, but applied science.

Edit: s/applied science/engineering/

okaleniuk 2 days ago | parent | next [-]

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 activity?

Writing isn't an engineering discipline. And all industries rely heavily on writing. Could it be that writing software is just writing for computers and as such could only by codified within another engineering discipline and not by its own?

beAbU 2 days ago | parent | next [-]

> Writing isn't an engineering discipline. And all industries rely heavily on writing. Could it be that writing software is just writing for computers and as such could only by codified within another engineering discipline and not by its own?

I think this is a very good point!

If you are writing the control software for a rocketship's avionics, you probably need to have some understanding of aeronautics, control theory, signal processing etc. Ultimately the act of writing the software is merely an expression of all the math and theory that you have spent a lifetime acquiring.

Inversely, the engineer who is speccing out the control software for a nuclear reactor is essentially writing the software for it. It's just in human readable format such that the human journeyman who's actually slinging the code can implement it. By the time the code is being written, the engineering work has been done already.

Programming is much closer to bricklaying or assembling or machining. Software engineering is much closer to architecture design, and does not involve a lot of code writing.

dingdongditchme 2 days ago | parent | prev [-]

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

pxc 2 days ago | parent | prev | next [-]

What is the reason for such optimism? My experience is that most people don't really attempt to write good code, and most employers even discourage it most of the time. And I'm just t as talking about basic correctness here— making sure it actually addresses all the requirements, making sure it actually handles all the possible states of cases it can encounter, etc.

GrumpyYoungMan 2 days ago | parent | prev | next [-]

> "How many centuries did it take for civil engineering, for example, to become the codified, standardized, and respected calling it is now?"

But the software industry is not starting from centuries ago. We have the benefit of modern education and literacy rates, instantaneous global communication, centuries of experience and data in other life and safety critical fields to draw on to understand how to establish a reasonable level of safety in the face of uncertainty, vast libraries of knowledge and data that can be called upon online, and nearly a century of increasing regulation and professionalization in those fields. Sorry but that doesn't hold up to scrutiny.

igsomething 2 days ago | parent | prev | next [-]

Electronic Enginering is also not that old and it has been a proper engineering discipline for many years already

kjkjadksj 2 days ago | parent | prev | next [-]

Didn’t the egyptians sort of standardize it?

mamcx 2 days ago | parent | prev [-]

The problem is the deps: You can have Rust with no nulls, but the OS was made by it. You can have a RDBMS with ACID, but the file system is liar.

Then, you can make a product that was applied engineering, but you can't replace all the others that not.

Civil engineering and friends have the advantage that is built on top of the universe, that despite claims to the contrary, was not hacked with perl!

Twey 2 days ago | parent [-]

Engineers also have this problem: if the transistor doesn't meet its claimed tolerances then the robot won't either.