4 ms·
I love myself a good language. But! It’s very, very easy to get pulled into the puzzle solver mindset, I’ve seen people become obsessed and forgetting about bal
by klabb3 4y ago
I love myself a good language. But! It’s very, very easy to get pulled into the puzzle solver mindset, I’ve seen people become obsessed and forgetting about balancing the goals of the puzzle solving with the real-world goals. It’s so satisfying to say “look, $bad_thing *cannot even be expressed* in this language!” that it’s easy to forget that there are diminishing returns all while the complexity cost increases exponentially.
Personally, I find the sweet spot for most problems somewhere between JavaScript hippie and Rust[1] tyrant. A bit of basic types can go a long way, just some interfaces or struct fields that are guaranteed to exist of a certain type. Helps with autocomplete and typos too! The missing pieces can be annoying to the soul, but rarely constitute a terminal decease in practice.
[1]: You can use Rust in different dialects, here I’m talking about the most correct- and performance-obsessed flavor (think no dynamic dispatch, only static borrowing etc).