Hacker News new | ask | show | jobs
by chii 3243 days ago
They should've called it fundamental, rather than simple. Or, axiomatic.

It feels bad when a topic you find hard to understand is called simple, and actively discourages those with less self confidence from approaching it.

1 comments

I suppose so, yeah.

I was thinking of things like monads. They’re a class of type constructors with a couple of associated functions (unit & bind or unit & join). The definition is undoubtedly simple, as well as fundamental in Haskell. But understanding how to use them, what to use them for, how to tell whether & why a type admits monad/applicative/functor instances, &c., are still difficult things for a lot of people, because these are unfamiliar abstractions. Moreover, they take advantage of unfamiliar features like higher-kinded types, so you can’t even explain them by offering a translation to other languages, because most other languages lack the ability to adequately express them.

For myself, I think of learning as “discovering simplicity”. I know I understand something when it finally feels as simple as it really is.