22
you are viewing a single comment's thread
view the rest of the comments
[-] Corbin@programming.dev 6 points 3 days ago

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":

The functional paradigm of language design is the oldest syntactic and semantic tradition in computer science, originating in the study of formal logic. Features of languages in the functional paradigm are not consistent, but often include:

  • The syntactic traditions of combinatory logic and lambda calculus, carried through the Lisp, ML, and APL families
  • Applicative trees and combining forms
  • A single unified syntax for expressions, statements, declarations, and other parts of programs
  • Domain-theoretic semantics which admit an algebra of programs
  • Deprecation or removal of variables, points, parameters, and other binders in favor of point-free/tacit approaches

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.

[-] MonkderVierte@lemmy.zip 4 points 2 days ago* (last edited 2 days ago)

The functional paradigm of language design is the oldest syntactic and semantic tradition in computer science

Pretty sure spaghetti code is older.

[-] HaraldvonBlauzahn@feddit.org 2 points 2 days ago* (last edited 2 days ago)

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.

[-] HaraldvonBlauzahn@feddit.org 1 points 2 days ago

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/

[-] cgtjsiwy@programming.dev 1 points 2 days ago* (last edited 2 days ago)

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.

this post was submitted on 10 Oct 2025
22 points (92.3% liked)

Programming

23074 readers
176 users here now

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

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS