| > "I haven't mentioned or was making any points about F# or C#; I was commenting on what appears to be your definition of a functional language" sremani != ZenoArrow (though if you read this sremani, thank you for attempting to clarify). There are many 'multi-paradigm' languages, and C# is one of them. From the C# Wikipedia page... https://en.wikipedia.org/wiki/C_Sharp_(programming_language) "C# (pronounced as see sharp) is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines." What makes a language 'functional' is first-class functions (i.e. functions that can be treated as values, which is what I was referring to in my earlier post). As sremani said, F# is 'functional first', in the sense that the language is designed to make functional algorithms straightforward to express. You can write C# in a functional way too, but there's less syntactic sugar for this style of programming. Hope that clears it up. |
Apologies, my mistake.
> Hope that clears it up.
First paragraph on the Wikipedia page for Functional Programming [1]:
"In computer science, functional programming is a programming paradigm—a style of building the structure and elements of computer programs—that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data. It is a declarative programming paradigm, which means programming is done with expressions[1] or declarations[2] instead of statements."
I'll stick with my definition.
Hope that clears it up.
[1] https://en.wikipedia.org/wiki/Functional_programming