4 ms·
A big problem with software dev is the lack of rigor, imo. > It’s always off-putting to me that claims written this way can be taken seriously as a technical c
by insanitybit 3y ago
A big problem with software dev is the lack of rigor, imo.
> It’s always off-putting to me that claims written this way can be taken seriously as a technical criticism, but our industry is rather unserious.
From the article, this resonates so strongly with me. Instead of people reading papers, talking seriously, it's so hand wavy and weak.
- Waterluvian 3y agoMy general feeling is that I think people lean on how they feel about these problems because building an experiment and quantifying the problem to make a solid case for it actually being a problem worthy of resources and remediation is... tedious and unfun? Not to say these people don't exist. But I think they exist in lesser numbers. Even I'm guilty of this. I know it... so I do it... but it's very unfun and tedious and... well I'm paid to do it so I can't complain.
- insanitybit 3y agoI'm going to avoid derailing into a "tech has these problems", respectfully, as I think the core of the post is really worthwhile and I could talk about tangentially related things for too long and be too distracting. I think we are likely, overall, in agreement.
- aeonik 3y agoI think it's more then tedium and fun that blocks the rigor. Though, those two properties definitely hold a fair number of people back. I'll use myself as a research subject: I really like the scientific method, and don't mind a long grind. But the main barriers I run into with software fall into at least two major categories: 1. Compatible datasets or software: it takes a LOT of manual effort to collate good data sets, and because I am a software engineer, I want to automate these things, then I end up in tarpits and rabbit holes, building bridges rather than testing hypotheses. 2. Abstraction fatigue, There is so much vocabulary that we use, and we switch layers so quickly and in different contexts that I find it very time consuming and opaque to harmonize all the concepts. Real life pressures don't always afford the ability to really understand an entire stack, which I posit is necessary for a certain level of Rigor. For example, right now I'm trying to Grok Clojure Transducers, and some folks are saying they are the same things as Monads. Are transducers a better pattern? Are they the same? Different? How much do they overlap? I have feelings relating to dynamic types vs static types. I have feelings about wrapping implementations. I have feelings about the JVM vs the Haskell compiler vs the V8 JavaScript engine. Also, I get feelings related to polymorphism, metaprogramming, dependent types, homoiconicty. But nothing fully baked. To call my feelings even 10% baked would be charitable. I can't currently describe all the relationships, or why my brain is currently zeroing in here in full fidelity. Only parts of it, and I remain in a state perplexity for now. The formality of Category Theory and Abstract algebra sounds like it would be really nice here, but it's going to take me years to get to to speed in those domains, and I'm not even sure they have the theorums to compare these two patterns!
- mulberrybush 3y agoThis video [1] explaining Clojure transducers is excellent. No terminology, no analogies with category theory - just code getting built up in a repl. [1] https://www.youtube.com/watch?v=TaazvSJvBaw https://www.youtube.com/watch?v=TaazvSJvBaw
- deleted 3y ago[deleted]
- withoutboats3 3y ago> A big problem with software dev is the lack of rigor, imo. It's amazing to me how much more informed you can seem than everyone else if you just read the thing everyone is quoting.
- insanitybit 3y agoIndeed. I have brought this up when people reference "premature optimization is the root of all evil" and mistakenly attribute a false meaning to it. What an approachable paper, what is the excuse for not simply reading it? To boil it down to one quote and then to use that quote to dogmatically advocate for practically the opposite of the point is... sigh. I've also been banging the "you are using 'IO Bound wrong'" drum for years and still this persists. HN is a daily example of this. Reading the blog post immediately highlights all of the comments where users seemingly did not.
- pjmlp 3y agoA side effect from those calling themselves enginners without having a proper Software Engineer degree where this kind of stuff is actually taught.
- insanitybit 3y agoAnd here I am with no degree at all :) I suspect I've read quite a few more papers than your average graduate, however.