F# 101: A Basic Breakdown for C# Developers


Regardless of where you are in your programming career, it’s never a bad idea to add a new language to your repertoire.

But with so many languages to choose from, how do you know which one is best to add to your particular skill set? If you’re a C# developer, you may want to consider taking a look at F#. F# is a part of the .NET ecosystem. Originally a Microsoft Research project, it now ships with Visual Studio. F# is uniquely positioned within .NET because it’s a functional programming language that is also object-oriented and supports the imperative programming model. Although it’s a Microsoft-supported member of the .NET family, F# has a different style than C# or VB.NET.

Is learning F# worth the time?

There are always benefits to learning new programming languages, especially those dramatically different from languages in which you’re already proficient. You learn new ideas and techniques that may not be common in your day-to-day work, but can still inform what you do and how you approach problems. Functional programming languages like Lisp and Scheme have been used for decades as teaching tools on the fundamentals of programming for students, and F# could be a great tool to sharpen your ability to solve problems using code.

Will F# give you a career boost?

F# knowledge could give you an edge in the hiring market. Functional programming is frequently used in areas of development that are heavy on math and algorithms. Learning the techniques of functional programming may help open doors to positions and opportunities that the typical enterprise C# developer may not have access to. And because F# works within the .NET ecosystem, you’ll be growing your existing knowledge base by adding F# to your toolkit. Projects that require algorithmic work, parallel processing or heavy-duty math can all benefit from F#. Organizations that need to write this kind of code are able to derive real value from the use of F#. In addition, F# allows you to leverage the tools, technologies and code libraries you’re already familiar with. If your organization is willing to try F#, it could turn out to be an advantage for them.

Bonus factor: F# can be fun

If you’re the kind of programmer who loves to write code in your downtime, F# may be just the ticket for you. Also, if you enjoy writing LINQ in C#, you’ll likely find F# to be a blast due to the similarities. Do some “back-to-basics” projects using F#, such as writing sorting algorithms, tree searches, Sudoku solvers and the like. You may soon find you’ve got a new professional hobby that keeps your skill set sharpened. Are you a fan of F#? Why or why not? Share your F# experiences in the comments section below. Embarking on your programming career? Check out these tips on how to choose an entry-level programming job.