• discreteevent an hour ago

    Categories are useful but they so often get in the way. Maybe this is because the granularity is too large meaning they are imprecise? Either way, sometimes you can shortcut this by thinking about attributes instead. For example, people might not be able to agree about what object-oriented means (or if it's any good) but they can often agree on one of its attributes such as 'programming to an interface'. Similarly functional programming can be broken down into attributes like first class functions, immutability, laziness etc. These are much more precise while still being general terms.

    • 082349872349872 an hour ago

      from https://news.ycombinator.com/item?id=41077201 :

      Two apples are the same as two apples.

      Two apples are not the same as two oranges.

      Two ripe apples are not the same as two rotten apples, even though they are both two apples and two apples.

      Two fruits are the same as two fruits, even though they could be two apples and two oranges.