|
|
|
|
|
by louthy
3665 days ago
|
|
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, that is "Functional programming is a broad term that at its core describes languages that allow you to pass functions around as values to other functions". Even if that meant something in the past, it really isn't a useful definition any more, because pretty much all languages do this. That's why I offered my alternative description. Even if it too has flaws, I think it's a more meaningful description. |
|
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.