• 0 Posts
  • 3 Comments
Joined 2 years ago
cake
Cake day: September 7th, 2023

help-circle

  • I’ve never had the chance to use a functional language in my work, but I have tried to use principles like these.

    Once I had a particularly badly written Python codebase. It had all kinds of duplicated logic and data all over the place. I was asked to add an algorithm to it. So I just found the point where my algorithm had to go, figured out what input data I needed and what output data I had to return, and then wrote all the algorithm’s logic in one clean, side effect-free module. All the complicated processing and logic was performed internally without side effects, and it did not have to interact at all with the larger codebase as a whole. It made understanding what I had to do much easier and relieved the burden of having to know what was going on outside.

    These are the things functional languages teach you to do: to define boundaries, and do sane things inside those boundaries. Everything else that’s going on outside is someone else’s problem.

    I’m not saying that functional programming is the only way you can learn something like this, but what made it click for me is understanding how Haskell provides the IO monad, but recommends that you keep that functionality at as high of a level as possible while keeping the lower level internals pure and functional.


  • Don’t forget that the EU Commission funded a report to document the impact of file sharing and then buried it when they found out that it was actually beneficial to the creators. So if you want to engage in file sharing, you’re actually helping them.

    Do what you will with that information. If you really want to boycott, then boycott the content altogether. If you can’t hold back, then download them, but you’re helping them out anyway by doing that.

    The best thing you can do is support your local art scene and find better alternatives.