3 ms·
I'm not that old but I remember that, back in the days, functional meant just that you are able to use plain functions (without objects) and pass them around. B
by markokocic 14y ago
I'm not that old but I remember that, back in the days, functional meant just that you are able to use plain functions (without objects) and pass them around. By that definition, C is functional language, as scheme or lisp or javascript and many others.
I don't know why, but some years ago, "functional programmers" started to change and twist the definition of functional language step by step, until all those languages fell off and only Haskel remained as "functional enough".
- jeremyjh 14y agoI don't see much use in a definition of "functional language" that includes nearly every computer language. We already have a term for that.
- Avshalom 14y agowell it's primary use seems to be providing a moving goal post for the functional side during the occasional OO vs Functional skirmishes.
- markokocic 14y agoI agree that "nearly every computer language" can be considered functional, as "nearly every computer language" can be considered imperative. What I do not agree is when "functional programmers" claim that language is not "functional" just because it is not "pure functional" or Haskel alike.
- nightski 14y agoI always thought the fundamental difference between a functional and imperative language is that a functional language is built up from expressions, whereas an imperative one is built up from statements.
- Evbn 14y agoI think you at mixing words that look similar. It is a large problem in this sort of discussion: Pure functions. (Only Haskell and friends are strictly pure, as is SQL if you squint.) Higher order functions. (Java 7 doesn't allow you to pass around a callable function without embedding a link language with reflection or using one-method Runnable.) First class functions. (Basic, SQL do not have this.) Generic functions. (C does not have this. C++ does. Java does.) These are three orthogonal properties a Lang age may have some or all of.
- deleted 14y ago[deleted]