22
What's Functional Programming All About?
(www.lihaoyi.com)
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Follow the wormhole through a path of communities !webdev@programming.dev
No, this is an explanation of dataflow programming. Functional programming is only connected to dataflow programming by the fact that function application necessarily forces data to flow. Quoting myself on the esolang page for "functional paradigm":
This definition comes from a famous 1970s lecture. The author is a Scala specialist and likely doesn't realize that Scala is only in the functional paradigm to the extent that it inherits from Lisps and MLs; from that perspective, functional programming might appear to be a style of writing code rather than a school of programming-language design.
Pretty sure spaghetti code is older.
Also, structured programming was developed in the 1950ies, manifest by ALGOL being published in 1958.. McCarthy's first publication on LISP was surprisingly close to that, in 1960.
@MonkderVierte @Corbin amazing
I do not agree. I think the main characteristic is use of side-effect-free functions, which the article illustrates nicely.
Of course it will be "more functional" if you write in Clojure or Scheme. Or go hardcore with Haskell. But as John Carmack wrote, you can practice functional programming in C++:
http://sevangelatos.com/john-carmack-on/
Very few languages (or programmers!) are able to check that a function doesn't have side effects. In particular, checking that a function doesn't diverge generally requires a proof assistant, like in F* and Lean.
Your definition of functional programming is as valid as any, but it's so strict that even Haskell would be mid-tier in the functional ranking.