tags:

views:

376

answers:

5

Possible Duplicates:
Why should a .net developer learn F#?
Should I learn F# or functional programming languages in general?

I hear F# is really cool but have not learned it? Should I?

What can I do with F# that I can't do with C#?

Are there real projects written in F#?

Are there performances issues?


See also:

+5  A: 

If your goal is to make a living F# probably isn't the language to learn. Very few paying jobs exist for it.

Still it's a fun language and doesn't take much to pick up on. I made a Tic-Tac-Toe game with it!

Spencer Ruport
Compare: "If your goal is to make a living linked lists probably aren't the topic to learn. Very few paying jobs exist for them." Yet if you don't know about linked lists, you'll have a harder time finding a programming job. No single subject of learning will ever be your entire job, but that doesn't mean you should ignore them.
Ken
@Ken: If you need me to explain the difference between knowledge of a language that isn't commonly used in a business setting and a commonly used data structure throughout all types of development you have quite a bit to learn.
Spencer Ruport
A: 

It should be a good idea to learn, not as your main language; but to learn a new paradigm, a new way of thinking. It would be more recommended learning it with another .NET language, so you can apply it whenever it fits well.

I made an argument about learning another language here (I don't recommend it as a first language, though). But as mentioned, I don't think it's a good idea to know as mainstream...

Samuel Carrijo
A: 

If you want to learn about functional programming and like the .NET environment F# might be for you. This is, if you are in strikly for the learning expirience. If you just want to learn a new programming language, depending on what you already know there might be more interesting choices, especially in the realm of functional programming if you want to get into that paradigm. Haskell and OCaml come to mind.

The main advantage of F# is its integration with the .NET platform and if that is something you want to leverage in an actual project where the implementation can benefit from the functional paradigm, F# is a natural choice.

VoidPointer
+1  A: 

If you think it's cool, you could invest some time in it. I might do so myself, though I can't see much use for it.

Kawa
A: 

It is cool, and I'm in the process of learning it.

You should learn it, if only to expand your mind's ability to understand problems and approach them from different angles. It has already made differences in some approaches I take to C# development.

There are real projects written in F#, but then that may depend upon your definition of "real". People use apps written in F# and depend upon the results.

Every language has performance issues. It all depends upon what you're trying to do and how your code was written. You can treat F# just like C# -- write your app in the most straightforward way. When a performance issue arises, optimize it.

John Fisher