News for hackers. Stuff that matters.
Re:Hey, C Is a Functional Language Too by markokocic on Friday November 02, 2012 @07:32AM (#4732124)
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".

Re:Hey, C Is a Functional Language Too by jeremyjh on Friday November 02, 2012 @08:28AM (#4732283)
I don't see much use in a definition of "functional language" that includes nearly every computer language. We already have a term for that.
Re:Hey, C Is a Functional Language Too by markokocic on Friday November 02, 2012 @11:05AM (#4732951)
I 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.

Re:Hey, C Is a Functional Language Too by Avshalom on Friday November 02, 2012 @09:15AM (#4732454)
well it's primary use seems to be providing a moving goal post for the functional side during the occasional OO vs Functional skirmishes.
Re:Hey, C Is a Functional Language Too by Evbn on Friday November 02, 2012 @11:13AM (#4732992)
That is required for parity with the OO side. Cf. Alan Kay on OO.
Re:Hey, C Is a Functional Language Too by Avshalom on Friday November 02, 2012 @11:44AM (#4733144)
quite. Smalltalk is OO and Haskell is Functional are about the only (currently) accepted facts about the definitions of OO and Functional.
Re:Hey, C Is a Functional Language Too by nightski on Friday November 02, 2012 @10:38AM (#4732786)
I 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.
Re:Hey, C Is a Functional Language Too by Evbn on Friday November 02, 2012 @10:59AM (#4732916)
I 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.