Wednesday, July 31, 2019

Why F#?

I'm a C# and Python software engineer, who works in data science, artificial intelligence, blockchain, quantum computing, HPC, Quantum AI, and RL/DL/ML. Why am I talking about F#? I don't need it!

You don't need to know touch typing to use a keyboard.

However, touch typing adds:

  1. Simplicity
  2. Efficiency
  3. Productivity
  4. Ease of Use
  5. Readability
  6. Elegance
  7. A Touch of Class

It is exactly for these reasons - exactly these reasons - that I now prefer F# to C#.

It's a better way of doing the same thing.

And did I mention - it's extensively used in ML and quantum computers as well?

There is a famous adage in programming methodology:

10 lines of code in a procedural language = 
5 lines of code in an object-oriented language = 
1 line of code in a functional language.

Hence, what is normally done in 100 lines in C takes 50 lines in C++ and 10 or even fewer lines in F#.

I have one complaint - sometimes functional code is too cryptic to debug.

However, we now have, and debugging has never been a problem after that website was established and the community formed.

Also, F# has a great community, several great communities around it in fact, and a powerful presence in open source.

So do learn F#.

You will find yourself pleasantly surprised!