Category talk:JavaScript: Difference between revisions

More detail
(Pfaugh!)
(More detail)
Line 30:
 
:Static typing is nothing to do with functional programming. It's an independent feature axis. You can't say that namespaces are a feature of functional programming; they're just naming features (as is your point on Scheme's <code>!</code> prefix). Moreover, a great many languages that are functional actually support mutable state; it cannot be a feature that allows a decision to be made on whether a language is functional. The only thing that you might ''possibly'' have a point about is “functional purity” but you're beginning to sound to me like you're making a No True Scotsman argument, which is a logical fallacy. What I ''can'' agree though is that community practice with JS is not to program in a functional manner. –[[User:Dkf|Donal Fellows]] 01:17, 1 January 2011 (UTC)
:To me, the key marks of a functional programming language are that it allows functions (or references to them) as values, that it allows recursion, and that it doesn't require the use of side-effects to produce the results of a function. That is admittedly a loose definition that permits ''lots'' of languages to claim that they support it, but so what? There's also a class of strict functional programming languages that are far more restrictive (e.g., by being side-effect free) but they're much less useful; even Haskell doesn't make it to that level of purity (due to the IO Monad, a requirement for participating in an outside world that has state). –[[User:Dkf|Donal Fellows]] 01:28, 1 January 2011 (UTC)
Anonymous user