4 ms·
I have never given much attention to functional programming just out of prejudice. Now I read this blog and my head just exploded in the functional part. It's
by motoboi 4y ago
I have never given much attention to functional programming just out of prejudice.
Now I read this blog and my head just exploded in the functional part.
It's beautiful.
What good introductions to functional can you people point me to?
Also, good code is like prose. You write to other to read, and you need to guide their minds.
Of course you can write in dense, truncated and clever ways, but your audience will be small (even yourself won't like your own prose 6 months from now).
Good software is delightful to read.
- kabes 4y agoWhat part are you referring to? I don't see any FP stuff in that article... It's all imperative code? Anyway I would recommend learning Haskell. I like languages that allow different styles (like js does to a certain extent). But I think it's better to learn a modtly pure OO language like java and a pure FP language like Haskell to be able to make the right decisions in a language that supports both like JS.
- remram 4y agoThe author refers to it as "declarative programming" when they talk about functional programming. I would link to the section "Functional, declarative programming" but there are no anchors. The table of contents (which the author calls a "minimap") is not clickable either.
- antipurist 4y ago> What good introductions to functional can you people point me to? When people hear "functional programming" many of them will immediately point you to Haskell (and totally forget to mention The Haskell Pyramid [1]). I'd advise you to stay away from it until you _want_ to go deeper down the rabbit hole. Play with Elm and Erlang ("Programming Erlang" [2] and "Erlang Programming" [3] books are great) to un-learn imperative patterns, tinker with OCaml to learn a new way to modularize code. [1] https://patrickmn.com/software/the-haskell-pyramid/ https://patrickmn.com/software/the-haskell-pyramid/ [2] https://www.amazon.com/dp/193778553X https://www.amazon.com/dp/193778553X [3] https://www.amazon.com/dp/0596518188 https://www.amazon.com/dp/0596518188
- tanishqkanc 4y agoI’m glad it left that impression! My thoughts have clarified a bit since I read that post, and I think what I describe is more declarative, like React. But the best places to read about it (for web devs) are in Elm! There is also this new thing I found that seems to really lean into the core of what being functional means here: https://github.com/jorgebucaran/hyperapp https://github.com/jorgebucaran/hyperapp After a while, you see that basically all systems can be modeled as event-driven, functional systems. It’s a flexible model, and fits beautiful into web dev where the semantics are very clear: the system is the web app and events are clicks, keyboard events, asynchronous calls...
- runevault 4y agoWhat tech stacks are you currently comfortable with? If you have significant .NET experience f# can be a great entry point as you can reuse a lot of the same tools (VS/VSCode/Rider + Nuget or Paket if you wanna go full f#), and sites like https://fsharpforfunandprofit.com/ https://fsharpforfunandprofit.com/ go pretty deep into why f#/functional etc.