Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have just learned my first Hello World project in C# and now I have heard there is F#.

I was wondering what is it and how is it different from C#?

share|improve this question
4  
It might not be a dupe, but there are many questions on F# to get you started. – Orbling Feb 26 '11 at 13:41
1  
The best thing since sliced bread. – Wyatt Barnett Feb 26 '11 at 14:17

closed as not a real question by World Engineer Mar 5 at 23:06

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, see the FAQ.

4 Answers

up vote 8 down vote accepted

F# is a functional language for the .net framework and similar to ML and OCaml. It's different in many ways to C#: syntax, paradigm. Just look at the wikipedia entry.

share|improve this answer

F# is a typed functional programming language for the .NET Framework. It combines the succinctness, expressivity, and compositionality of typed functional programming with the runtime support, libraries, interoperability, tools and object model of .NET.

F# stems from the ML family of languages and has a core language compatible with that of OCaml, though also draws from C# and Haskell. F# was designed from the ground up to be a first-class citizen on .NET, giving smooth interoperability with other .NET languages.

For example, C# and F# can call each other directly. This means that F# has immediate access to all the .NET Framework APIs. Similarly, libraries developed in F# may be used for other .NET languages.

Here is one very cool presentation on F#. You might want to have a look at it : What is F#?

You would even like to know Why F# is so special?

Visit here for some F# help.


In simpler words, the F# help summarizes this language as -

Putting Funk in Funktional.

I think that explains it all. :)

share|improve this answer

Here some good things to help you answer your questions:

Stack Overflow answers for F# vs C# or C# vs F#

There are lots of other examples on Stack Overflow.

Hope this gives you a good place to start in answer your question.

share|improve this answer

Well I think the best explanation was the conference talk given by Luca Bolognese, the version on the Microsoft site has had all the video removed and replaced with just the working screen, which I think ruins it a bit.

The original version is more entertaining. I know it is long, but it really is worth watching.

share|improve this answer
Very entertaining, thanks Orbling :). – Martin Blore Feb 26 '11 at 14:08
1  
@MeshMan: You watched it before, it's like 80 minutes long and I only posted it 20 mins ago. ;-) – Orbling Feb 26 '11 at 14:11
I started watching it when you posted it, gave me a paradigm shift or two! Loved the Async stuff. Sent it to a friend and he's going through the same "Wow"'s at the moment. Look's like we're both going to take a dabble with F# this weekend ;). – Martin Blore Feb 26 '11 at 18:46
@MeshMan: Certainly worth experimenting with. I had the same feeling learning Haskell 12 years ago, functional programming is excellent and having the multi-paradigm environment of F# gives great flexibility. – Orbling Feb 26 '11 at 19:13

Not the answer you're looking for? Browse other questions tagged or ask your own question.