It really frustrates me that we somehow collectively decided type-level metaprogramming and codegen were "magic" and too confusing, but late-binding, dynamic dispatch, ad-hoc polymorphism, and a whole bunch of other stuff were totally normal and fine

@sliminality Unfortunately I think the answer is that many people found the former more confusing than the latter, and don't find the benefits as valuable as we might have hoped.

Follow

@sliminality @samth I think there are two contributing factors:
(a) lots of intro CS curriculum has built up intuitively pleasing metaphors for polymorphism
(b) it’s easier to build “partly working” code when failures happen at runtime than compile time, which feels easier/more productive because humans are bad at evaluating future reward/punishment

Sign in to participate in the conversation
Mastodon

General topic personal server.