3 ms·
> long term software engineering looks [like] this. Stuff you can trust looks like a giant one-piston semidiesel Does it? Oracle's JVM - is it a giant simple o
by jodrellblank 6y ago
> long term software engineering looks [like] this. Stuff you can trust looks like a giant one-piston semidiesel
Does it? Oracle's JVM - is it a giant simple on-piston semidiesel or untrustworthy? It seems complex and trusted to me. Linux kernel, so simple such that a fisherman can fix it in the dark and cold and wet by burning pile of logbooks? AMD64 instruction set, trivial or untrustworthy? Stuff you can trust doesn't /look/ like anything in particular, it behaves in a trustworthy way long enough to get a repuation.
> Duct tape programmers don’t give a shit what you think about them
It makes more sense to say unicycle riders don't give a shit what you think about them, since they're the ones actually demonstrating non-conformity through their actions despite social pressure to stop doing that.
> the perverseness and destructiveness of people who try to get fancy for no reason, nor do I think JWZ was a “duct tape programmer” -he was an engineer.
Gone from saying duct tape programming is good, to defending someone respectable as "not a duct tape programmer" as if it was bad, then applying the True Scotsgineer label retrospectively - it must have been true engineering(tm) because it didn't not-ship, QED.
> OCaML, APL and Lisp [..] small teams can deliver
Small teams have tried to deliver same in many languages and processes, we see the survivors and say "this tool must be why". That needs a large evolutionary body-count of attempts in other languages which failed, and many attempts in OCAML/APL/LISP which delivered nothing. If nobody had ever used O/A/L because they weirdo unicycling languages, there would be no knowledge of whether they could do this. Rust and Golang came out about a decade ago, author is clear that Go is for engineers and Rust for unicyclers, but both came out of respectable teams that built complex software maintained for years, with good reasons (memory safety, not "add Monads to C++"); at what point in the past ten years did it become clear to the author that Go is engineering and Rust is unicycling? Was it clear that O/A/L were going to shake out well in 60 years, after their first 10 years?
> For mission critical [..] hit by a bus [..] deep sheeyit
Like the boat engines, there are visible examples where "deep shit" happened - e.g. crippling ransomware attacks, systems being offline for days, huge data leaks - and a month later there are no visible consequences; PR puts out an apology statement, bonuses are unaffected, business as usual. If your startup run by a true engineer using Golang gets hit by a bus it could be the end of the company too. If IBM has a team using Haskell and one of them dies, the project is swallowed up and there isn't any deep sheeyit that anyone outside the immediate customer blast radius will notice.
> Using the latest tool is even worse. 99 times out of 100, the latest woo in machine learning is not an actual improvement over existing techniques. 100% of the time it is touted as a great revolution because it beat some other technique … on a carefully curated data set. Such results are trumpeted by the researcher because …. WTF else do you expect them to do? They just spent a year or two developing a new technique; the professor is trying to get tenure or be a big kahuna, and the student is trying to get a job by being expert in the new technique. What are they going to tell you? That their new technique was kind of dumb and worthless?
It's like you understand incentives, but pretend you don't when it gives you an opportunity to sneer at people you want us to think you're superior to. Why don't you see that the same incentives lead to people introducing NewLang because the upside is a potential huge status boost?
> just quietly used by engineering types who find them helpful
probably get used by engineering types who find them unhelpful and wish they could use something else, by unicycle riders who find them helpful, and by unicycle riders who find them unhelpful, too.
> I’m imagining the archetypical unicycle-juggler buying a shop full of solid printers and weird CNC machines and forgetting to buy hacksaws
I'm imagining how easily a CEO and customer would notice the absense of precision lathed widgets, and what kind of world and incentive changes it would take for a CEO and customer to notice that a pile of NewLang wasn't turning out a workable project and take steps to change that. But they're probably too busy making sure the employees are wearing the correct clothes on their commute to work, because that's not straight from American Psycho or anything.
- pnathan 6y agoI would concur with your critique. There are vast swathes of counter-examples to the article, to the point where I don't think that, given the business framing of the OP, the article actually holds water outside of "some people glue useless things on and it's a pain to deal with", which is sort of... known already?