Hacker News new | ask | show | jobs
by tel 2420 days ago
You don't. Of course.

Honestly, you don't need much more than a really big chalk board to solve most problems one encounters when programming.

Even that's probably strictly optional if you get enough people to double check the work.

Sarcasm aside, what you're often doing when you make these transformations of std::vectors are structured algorithms. The structures of these algorithms can often be factored through operations performed on types—even if they're just all different names for the same std::vector!

These structures exist to give words and patterns to the stuff we do. To make it easier to talk about, share, reflect upon, improve. To make it easier to judge how different approaches to the same end relate and can improve upon one another.

You don't have to go use Haskell to get a LOT of benefit out of algebraic and equational reasoning. And I feel pretty unsure what to think about a philosophy where one would avoid a nice tool merely because it's possible to get along without it?

I imagine you're a fan of that Primitive Technology YouTube channel?