Functional Programming is Delusional

by moodyharsh
functional-programming-is-bullshit

Modern Programming is pathological. Objects and functions are delusional constructs. A famous blog post compares programming languages into conservative and liberal camps. The reality is this, OO programmers are the equivalent of Jehovah’s witness and FP programmers are wearing steel underpants of the Mormons to fight the tempation to write PHP and Basic to get the job done.

Everything in reality can be decomposed into recursive functions is a false epistemological claim. Is this what you want ?

Steel underpants

  1. Recursion over iteration

It will surprise you to know that iteration is a far more general purpose model than recursion. Iteration with Stacks is identical to Recursion and you don’t even need tail calls. Lisp doesn’t have return, continue … like all the other languages. I believe earlier lisps were closer to the metal and assembly but Common Lisp makes it annoying at best.

  1. Pure Parse Tree syntax as opposed to the dirty notation

The pure parse tree syntax is useful for low level languages. Why haven’t lisp programmers done what dirty javascript and html programmers have done ? Implement layers of translation over a base lisp language. They are too afraid to get out of the steel underpants.

  1. Closures

Co-routines are more fundamental than functions.All the lamda papers are sub-assumed if you support co-routines.

State machine using lambda and actors

https://www.emacswiki.org/emacs/StateMachine
https://github.com/alehander92/sith

How tedious. Why can’t they just use co-routines ?
You don’t want tranducers - you want co-routines.

  1. Immutabilty is magic underwear. You don’t want immutability - you want logs and frozen references.

There is an object-oriented extension to Tcl which is along the lines of CLOS. Lispers need to stop thinking that they are the only ones who can do "macros" and "DSLs". The evidence is clearly on the contrarian side. You can have syntax and macros and be practical. If the failure of Tcl has taught us anything its that performance is important.