My views on F#


The below given points are what I felt when I started with F#. Since I am still learning about F#, these may sound absurd or weird to the Masters or geeks in F#.

1. I am a C# developer, sought to learn functional programming, started with Scala and got advice from great people and moved to F#, i’ m still fiddling around
2. I am not finding easy when handling the interfaces. It’s not as easy in C#, I.e. when passing around the interfaces or trying to create a reference to an object using its interface.
3. Returning a Task is a bit difficult in F# ( FOR ME). Methods like return Task can’t have a Task.FromResult<object>(null) like in C#.
4. Interoperability with C#, I mainly use lambda’s (Action & Func), as F# function is different from C# Func.
5. I stumbled upon an issue recently, I.e. there should not be even an empty file in F# project. This is because of the multiple modules convention
6. Ordering of the files in the project is like sequential, which is a bit difficult to follow coming from C#
7. IDE support for dll method signature lookups are required, most of the time, I’m hitting on F12 to see the signature which does not show up in the IDE
8. Big concern is since latest versions of C# are borrowing the concept from F#, will F# fade away with time and C# become a functional cum imperative language.

Please note that, these are my ideas and thoughts, I don’t find fault with anyone, as I am a learner still.

Advertisements

One thought on “My views on F#

  1. It’s sounds like you are still in the OO paradigm when trying to work with F#. I would try to go over tutorials like fsharpforfunandprofit and profit to try and get more into the functional mindset. In F# lambdas pretty much take the place of interfaces. Good luck in your journey of learning functional programming!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s