Earlier quoted context omitted.
I had a different read of that point. More along the lines of “don’t throw the baby out with the bath water” (might have butchered that saying?). I’m also more in the FP camp - even wrote a book on the topic of FP. But I also acknowledge OO is not inherently a bad choice for a project, and many languages nowadays do exist along a spectrum of OO and FP rather than being strictly one of the other. To me a benefit for O…
> More along the lines of “don’t throw the baby out with the bath water” (might have butchered that saying?). No, you got it right. https://en.wikipedia.org/wiki/Don't_throw_the_baby_out_with_... > even wrote a book on the topic of FP. Care to share? If not, that’s fine.
Software development topics I've changed my mind on
171–180 of 788 posts
Re: Software development topics I've changed my mind on
#172> Most programming should be done long before a single line of code is written Nah. I (16+ years developer) prefer to iteratively go between coding and designing. It happens way too often that when you're coding, you stumble across something that makes you go "oh f me, that would NEVER work", which forces you to approach a problem entirely differently. Quite often you also have eureka moments with better solutions th…
Iterative work is THE way to work in large legacy codebases. The minute you wade into the code, all of your planning is moot. You don't know what's lurking below the surface. No one knows what's lurking under the surface. Except maybe Dave, because he vaguely remembers about 15 years back talking to some guy who wrote some code 30 years back about it. Greenfield, absolutely design up front you lucky devils, but itera…
Re: Software development topics I've changed my mind on
#173> Typed languages are essential on teams with mixed experience levels I like this one because it puts this endless dilemma in a human context. Most discussions are technical (static typing ease refactoring and safety, dynamic typing is easier to learn and better for interactive programming etc.) and ignore the users, the programmers.
I'm kind of wondering where the "mixed experience levels" part comes from. What is it about more homogeneously skilled teams that makes them less susceptible to the productivity boost that statically typed languages give in large code bases?
Re: Software development topics I've changed my mind on
#174How does > There is no pride in managing or understanding complexity interact with > If I think something is easy, that's a sure sign I don't understand it. ? Is it implying that you must understand the irreducible complexity, but mustn't take pride in that understanding? Or is "difficult" the opposite of "easy" here, rather than "complex?"
Most problems in software seem to end up being harder than they look, so if I think something is easy I have to suspect I've missed something.
Most solutions in software end up being more complicated than they needed to be, because we don't have the hindsight to realise that until after we've done it and our managers are demanding the next thing.
Re: Software development topics I've changed my mind on
#175Earlier quoted context omitted.
Nah, I think having a monadic Maybe/Option type and first-class support for it is the correct solution. Exceptions are fundamentally flawed.
"None" to represent any type of failure sounds similarly fundamentally flawed too.
Re: Software development topics I've changed my mind on
#176> Java is a great language because it's boring [...] Types are assertions we make about the world This is less of a mind-was-changed case and more just controversial, but... Checked Exceptions were a fundamentally good idea. They just needed some syntactic sugar to help redirect certain developers into less self-destructive ways of procrastinating on proper error handling. In brief for non-Java folks: Checked Excepti…
Re: Software development topics I've changed my mind on
#177It feels like the author is in the middle of the bell curve meme[0], especially with regards to "most programming should be done long before a single line of code is written". [0] https://i.imgflip.com/8tw3vb.png
This is an extremely lazy critique
Re: Software development topics I've changed my mind on
#178> Most won't care about the craft. Cherish the ones that do, meet the rest where they are > (…) > People who stress over code style, linting rules, or other minutia remain insane weirdos to me. Focus on more important things. What you call “stressing over minutiae” others might call “caring for the craft”. Revered artisans are precisely the ones who care for the details. “Stressing” is your value judgement, not neces…
Is it ironic that this comment has evoked a discussion on minutiae?
Re: Software development topics I've changed my mind on
#179> Most programming should be done long before a single line of code is written Nah. I (16+ years developer) prefer to iteratively go between coding and designing. It happens way too often that when you're coding, you stumble across something that makes you go "oh f me, that would NEVER work", which forces you to approach a problem entirely differently. Quite often you also have eureka moments with better solutions th…
I think the author is taking a wider view of "programming" than the actual writing of code as the end product. Some of the most important work I've done is spend the time to argue that something doesn't need to be done at all.
Re: Software development topics I've changed my mind on
#180Earlier quoted context omitted.
Starting with raw SQL is fun. But at some point you find out you need some caching here, then there, then you have a bunch of custom disconnected caches having bugs with invalidation. Then you need lazy loading and fetch graphs. Step by step you'll build your own (shitty) ORM. Same thing for people claiming they don't need any frameworks.
> you find out you need some caching here, then there Forgive my ignorance, but how do ORMs help with adding caching? Or are you implying they obviate or reduce the need for caching?