Almost any time you say “Everything is a _” you’re in danger territory. “Everything is a list” or “a tree” or “a stream” tends to lead to a lot of work spent preserving that idea
i want to make it very clear this is not me throwing shade at @pfrazee.com . software engineers are absolute poets for being able to express the nuance of reality to machines that think in either 1 or 0.
my gender is a double precision floating point number (IEEE 754), and cannot reliably be compared for equality...at least without `std::numeric_limits::epsilon()` tyvm
/jk
Yeah, I think even the first spec of Common Lisp in 1984 supported structs and hash tables. Lisp has always been very twee about its affection for lists but I don’t think it’s tried to overstuff that metaphor.
I feel this way about Gang of Four. There are some useful design patterns in there, but I have met too many engineers and even worked for an architect once who insisted that everything be defined in a series of GOF design patterns.
Design first, then find patterns. Not the reverse.
this is something i had to constantly work to counter as a product manager at a large tech corp.
very easy for overwhelmed execs to fixate on spectacle over substance.
on the plus side, i got very good at making things like refactoring legacy code sexy to C-levels lol
... I'm gonna need you to come to the company I'm working for. There is SO MUCH legacy code (extremely derogatory) and the VP of Application Development literally doesn't believe in the concept of tech debt. 😩
Oh yeah, there's no way I would actually wish this place on you. My team mostly just pads our estimates and sneaks in things like refactoring when he's not looking because we will deliver decent software to these people whether they want it or not!
The ways I continually streamline platform abstraction stuff to be useful services that get the hell out of the way of business logic as efficiently as possible
Abstractions are great - including really beautiful ones - but what was on my mind yesterday is how appealing they can be to software developers, and how they can become the priority over the task they're trying to solve
How could a construct so clever possibly be obscuring the way? I only realized an embarrassing one years ago while whiteboarding a new architecture in front of the whole project team. “Ummm… and… soooo… let’s just take a break here…”
Some pieces of software are life-forms that use humans to replicate, and have no other purpose.
Look at just about any product from Oracle, for instance.
(PeopleWare has a strong "To Serve Man" vibe to it).