Wrong Choices on Purpose

Kasey Speakman on January 02, 2019

I was heading home one evening down a back road. Much to my surprise, there was a big rig driving down the same small country road. I was immedia... [Read Full]
markdown guide

I am not aware of point-free style being somehow the "right" choice. There are probably places where it can be helpful, but adding a bit of contextual information almost never hurts, and can certainly help! In my opinion, pushing point free can go from being a little bit dogmatic to outright bad, depending on the case. I've seen examples online of people really turning their code into knots just to achieve a point free expression. Why they want to do this makes no sense to me: One has to go through a lot of mental effort just to unwind it back into something comprehensible.

Overall your point in the article strikes me as reasonable, but that part just bugged me a bit.


I probably could have come up with a more universal example, but that was just my most recent experience. I agree with you that point free isn't necessarily the "right" choice, but many people seem to consider it so based on the feedback I received multiple times. So I wrote the article from the perspective of assuming their feedback is correct in that instance, but I still chose to do it differently based on other considerations.


The principle of charity is often missing from most online discussions in programming. I don't know if this is just specific to programming for whatever reason or if other fields have the same issues. I know the same happens in politics but for more obvious reasons. There is an inherent adversarial relationship already established whereas in programming there isn't such a context and the author is just sharing knowledge or insight.

Unlike you I've stopped bothering. When I notice an uncharitable interpretation of something I've written then I assume the commentor isn't worth my time.


Stephen Covey touches on this in his book "The 7 habits of highly effective people". He says that you should never judge strangers from what little thing you see them do. They are working on a different set of paradigms and experiences than you are. I think that is absolutely true but also very hard to live by.

Great post as usual, Kasey.


I think the situations you described were in no way bad choices, but the only problem is observers having different opinions or less information than the actor. I don't think it is possible to intentionally make wrong choices by definition, because at the point in time where you decide you always try to do the best (but sometimes you may regret it in hindsight).


Please tag the language of choice to make it easier to get the context from the scratch :)


Good point. I put a comment in the code snippet naming the language. I didn't want to tag the post with a specific language because it's more of a general observation.


Yes, indeed.

The thing is it makes zero sense for mutable languages where you do foo.foldl! ;)

code of conduct - report abuse