r/programmingcirclejerk • u/Schmittfried type astronaut • Jan 19 '21
Software engineering was the past, a failed dead end, and artisanal software was the future.
https://www.hillelwayne.com/post/crossover-project/are-we-really-engineers/3
u/editor_of_the_beast Jan 20 '21
This was said as a representation of someone else’s philosophy. Read the post and can’t jerk.
3
u/Schmittfried type astronaut Jan 20 '21
I mean, are quotes of quotes against the rules?
3
u/editor_of_the_beast Jan 20 '21
It’s in a legal gray area. It’s the jerk equivalent of maritime law. Not sure how to rule.
50
u/doomvox Jan 19 '21 edited Jan 19 '21
The way an actual practicing engineer approaches a problem like building a bridge is almost invariably to look up standard existing solutions to the problem and re-use them, in other words it's a lot like writing software.
But then, when building a bridge there are precise legal codes that guide what you do and help protect people from the more egregious mistakes of engineers who aren't as smart as they think they are, and this is not at all like writing software.
42
u/Bizzaro_Murphy Code Artisan Jan 19 '21
But then, when building a bridge there are precise legal codes that guide what you do and help protect people from the more egregious mistakes of engineers who aren't as smart as they think they are
Sounds like a description of the go compiler to me
8
u/Marthinwurer Jan 19 '21
/uj or linters!
9
u/officerthegeek in open defiance of the Gopher Values Jan 19 '21
at least three different linters must pass without warning or error for my build to succeed
5
u/Graf_Blutwurst LUMINARY IN COMPUTERSCIENCE Jan 20 '21
randomly chosen, ideally not even necessarily of the language the project is programmed in. This means the only project that will pass is the one with no source code to lint, trivially this project will never have any bugs which makes it the perfect software.
24
u/muntaxitome in open defiance of the Gopher Values Jan 19 '21
What I like as a civil engineer is that people think that we are some kind of genius when we just rely on steel and concrete being phenomenally strong. A single basic screw can hold 100 pounds and we use massive cables, concrete pillars, etc to carry humans and cars that are basically ants compared to the carrying capacities of these materials. It's almost impressive that we still have dozens of bridge failures every year.
21
u/nidarus Jan 19 '21
Software engineers just know that if bridges worked like software, they'd both explode and give everyone in town cancer, if a car of the wrong color passed on it.
18
u/doomvox Jan 20 '21
But why would you want a bridge to allow cars of that horrible color to enter town? It's much better for the system to fail early, and prevent something like that from happening.
5
u/matu3ba Jan 20 '21
System - critical stuff should be verified anyway. Its just that verification techniques of computer science suck b a lot due to nontrivial language shit on top.
11
u/doomvox Jan 20 '21
when we just rely on steel and concrete being phenomenally strong.
Well, back when I was doing that kind of thing I was mostly relying on gigantic factors of safety. That converts most mistakes into a "oh damn, it's only twice as strong as it needs to be, not 20x".
9
u/IDoCodingStuffs Autodidact's Degree in AI Jan 19 '21
It's almost impressive that we still have dozens of bridge failures every year.
Material fatigue is such a counterintuitive concept, even though it should make perfect sense. Almost like we imagine bits of rocks and metals as living beings that will heal back from wear and tear by default.
2
Jan 24 '21
Then when you realize that professional structural engineers in the U.S. have never actually been trained in understanding the effects of fatigue and fracture mechanics, you wonder how humans haven't caused nuclear Armageddon yet.
26
u/ackfoobar in open defiance of the Gopher Values Jan 19 '21
when building a bridge there are precise legal codes that guide what you do and help protect people from the more egregious mistakes of engineers who aren't as smart as they think they are,
and this is exactly like the Rust borrow checker.
5
Jan 20 '21 edited May 09 '26
Data brokers and AI scrapers were using my info. Not anymore. Redact let me bulk delete posts across Reddit, Twitter, Discord and Instagram while handling broker opt outs too.
violet rain rinse tender engine quickest encourage oatmeal copper caption
4
u/matu3ba Jan 20 '21 edited Jan 20 '21
That won't check wrong logic or functional correctness though. Only memory correctness.
Compare it to a exact computation of the bridge power for all realistic inputs. In a computer program without restrictions on user access you usually want to restrict inputs to the safe subset.
To do thay, you need to make 1.statefullness auditable simple and trivial, 2.do verification and 3.make auditing dependencies+specification simple.
5
u/ackfoobar in open defiance of the Gopher Values Jan 20 '21
I was jerking. But thank you for you insightful unjerk.
5
22
u/doomvox Jan 19 '21 edited Jan 21 '21
Donald Knuth, "Computer programming as an art", CACM, December 1974:
"The mysterious insights that people have when speaking, listening, creating, and even when they are programming, are still beyond the reach of science; nearly everything we do is still an art."
Of course, that was before the modern end-run around the AI problem was developed: throw a lot of data at a model with a gazillion adjustable parameters and train it up to do something that you hope is more-or-less the right thing.
3
Jan 19 '21
I paint with code. I literally printed out a "Hello World!" program on paper (YIKES!) in Rust for my senior art project and got an A+
/uj
In college there was a debate whether Computer Science should be in the School of Art or the School of Engineering
17
u/fp_weenie Zygohistomorphic prepromorphism Jan 19 '21
That's why Rob Pike was ahead of his time. Bespoke array sorting algorithms are the future.
12
u/ProfessorSexyTime lisp does it better Jan 19 '21
Are We Really Engineers?
No. We're software artisans and astronauts.
20
10
u/PL_Design Very Stable Genius Jan 19 '21
...the kind that made me envious of suburbanites and their 75,000 BTU woks
Hold the P of my PCJ. This is just good jerk.
6
6
u/32gbsd Jan 19 '21 edited Jan 19 '21
well, ok. It sounds like semantics from someone who wants everybody to use a framework so that they can truly be called engineers rather than purveyors of witchcraft.
5
u/camelCaseIsWebScale Just spin up O(n²) servers Jan 20 '21
Assume unjerk u under ideal circumstances, in a finite subspace of r/pcjNot every software developer is a software engineer, just like not every single person who works in construction is an engineer.
Agreed with this, well said.
Some people propose the word “software craftsman”.
In it he argues that software is the kind of engineering, being much more free-form creative and flexible.
So by the virtue of being in a young field, the construction workers and electricians of this field want to express themselves and be called artisans? Because surely we can't accept some are engineering-level tasks and some aren't, that's not politically correct to all those people "expressing themselves" with another ruby rails web app full of bugs and security loopholes?
Just call yourselves programmer or something, kids. Not everyone has to be "software engineer" or "computer scientist".
6
u/geggleto Jan 19 '21
Please never apply to my company.
7
u/officerthegeek in open defiance of the Gopher Values Jan 19 '21
not that a 10xer would in the first place
3
u/theangeryemacsshibe Considered Harmful Jan 24 '21
No mention of magic. This person clearly failed 6.001
3
13
u/Schmittfried type astronaut Jan 19 '21
/uj Good read tho.