
Why I never finish my Haskell programs (part 2) - vq
https://blog.plover.com/prog/haskell/what-goes-wrong-2.html
======
forkerenok
This is indeed bikeshedding (as the author himself rightfully hints at with
irony).

And I wouldn't say it's anything specific to Haskell: I've seen a lot of times
in other languages people trying to flesh entire libraries around a domain-
specific primitive that go far beyond their current needs.

I'd say the Haskell community (its focus) is more "at fault" here, encouraging
these kinds of exploratory rabbit-hole-diving. Though, to be fair, there are
people there with get-shit-done mentality (github/bos and github/ocharles come
to mind) and I see more of that kind coming in lately.

Pick the weakest structure that will satisfy your current needs and move on.
(by ocharles, paraphrased)

~~~
mjd
The previous article was about bikeshedding. This one is just about getting
distracted.

~~~
comesee
Isn't bikeshedding defined to be "arguing about trivial details." The first
article wasn't about arguing. Also since semantics are trivial, this is meta.

~~~
gh02t
The articles are about two subtly different problems. The first is finding
something difficult in your code and then getting distracted learning about it
in depth. The second is about getting lost in the process applying deep theory
to a simple concept. The first is "I know too little, I must know more", while
the second is "I know all this cool theory, I must use it."

I think both could probably be called bikeshedding, but it's interesting to
make a distinction between the two.

~~~
comesee
I think the jargon you're looking for is "yak shaving" not bikeshedding (which
is about arguing about minor changes).

------
jt2190
This seems to be a form of self-inflicted "nerd sniping", as defined by XKCD:
[https://www.xkcd.com/356/](https://www.xkcd.com/356/)

It's fair to question the tool in this case. As programmers we rely on our
tools to provide abstractions that free our minds from thinking about details
that don't matter. If the tool (or perhaps the culture around using the tool)
insists that we deal with details we're not interested in or don't care about,
perhaps the tool is not the best one for the task at hand.

~~~
tomsmeding
It's a fun tool though! There needs to be a place for fun coding in this
world, and I'll bet that some fun has been had digging those rabbit holes.

~~~
giovannibajo1
It’s meta-fun because you’re getting fun with the mean rather than the end.

To me, it’s fun to achieve a goal — programming to solve a real problem,
implementing something that I can use or others can. It’s super fun when my
program works, has no bugs, it’s cute and nice.

To others, the act itself of programming is funnier than actually doing
something useful, so that you can deep dive into the best way of programming
without actually doing something useful if not a program complex enough to use
whatever programming feature you want to have meta-fun with.

