Skip to content

Instantly share code, notes, and snippets.

@Kavignon
Created November 24, 2021 21:56
Show Gist options
  • Save Kavignon/96bdf8ea09b30df773c481524b335a11 to your computer and use it in GitHub Desktop.
Save Kavignon/96bdf8ea09b30df773c481524b335a11 to your computer and use it in GitHub Desktop.
My thoughts and impressions on the matter of the FSSF

The Foundation has been here for years and has been crucial to help F# become what it is now. So now, we're seeing that the F# community has taken flight and things never seemed better. We have the great things happening like the ever-successful mentorship program that attracts several developers each round. Now comes the time to re-think what can the Foundation to help and support its community in ways that we didn't try better.

TL~DR

I want to promote F# developers and education initiatives as much as I can.

  • Let's help create, maintain and support courses in F# in high school and in STEM programs,
  • Let's plan more events so that we can continue spreading the good word on F#. Still in 2021, when I say F#, I can hear developers being unaware of what it is or being confused about what can be achieved with F#
  • I'd like to find a way around the limitations of Foundation to help support the F# projects that have the most traction,
  • We lack representation in Microsoft docs. We usually see a lot of C# and very rarely some F# code that can show how to approach something. Maybe an incentive program for F# developers to contribute towards a better future,
  • Whenever there are Microsoft events, it's a very rare to see anything related to F#. Most talks are focused on C# and things surrounding the C# space. Let's push to have more representation
  • The mentorship program should occur more frequently. I propose 1 month every 2 months. For instance, occurs in January and in February, we look for the interested parties for March.

Longer version

Being a board member of the FSSF, it is easy to realize that I have strong feelings towards F#. I do believe that it brings a lot to the table but it needs serious help in doing so. It's still being seen as 'the weird brother' or 'the unknwon member of the family'. .NET is still being seen as everything C# and this should definitely change. Don't get me wrong, C# is a very powerful tool to master but it is not the only tool a .NET developer should strive to master or even simply recognized in the .NET suite of technologies.

Creating courses for High-school & STEM students

One thing that's hurting F# is being not promoted early on. When students are picking up software developers in high school, they're usually geared towards 'easy' languages such as Python or Javascript. There's a case to be made that developers tend to stick to whatever they know and reject the unknwon but that's merely the human factor acting up in the technology space. In the state that it is now, F# feels very much like a 'kidscript' language on steroids. It's one thing to showcase to students how they can achieve their goals with a loop in Python, but we'd get so much more out of the box if we'd show them how much F# would prevent them from spending hours trying to figure why they can't solve their small problems. Creating adapted content for students would have tremendous value as we'd get a stream of 'new blood' that'd keep coming into the F# space and keep it alive and triving.

There's also the case that whenever students have the options of picking up functional programming, it's usually Haskell or Scheme or even Lisp that are used to do so. There's a lot of value in teaching students F# on a framework that is not only established, but has matured throughout the years. For instance, learning that it's feasible to build full-stack applications solely with F# through SAFE and functional programming with the language would surely be a huge win.

F#/.NET related events

F# is still relatively unknwon and I don't understand the reasons why that is. We should try to aim for F# focused events which would focus on topics such as ML, web development and so on. More than that, finding popular software development conferences/events and inticing F# developers to particpate and present a topic while using F# as medium would help developers throughout the world to get to know F# and all the goodies that come with it.

Supporting open-source developers

There are a lot of developers that come to mind when I think of the open-source space in F# such as Zaid. The problem with open-source is that something that started as a fun project for either yourself or the community can quickly become an hassle. I think the Foundation must find ways to encourage long-term open-source developers that have had a tremendous impact on the community through financial support of some sort. How much, that's a good question to discuss amongst the board members.

Rejuvenate Microsoft samples with F#

Thankfully, .NET has been here for years. There's a lot of documentation online that can help to quickly some a problem and/or bug that we've encountered. The problem that we often find in those docs is the lack of F# samples to go along with the what has been shown. You're more likely to find something uniquely documented in C# than you are to find something that has both C# and F# documentation. Usually, those who are using F# have a strong foundation in C# and can quickly convert what they read in C# to F# code on their own. This doesn't help the newcomers of software development who have 0 what to do when they can't find anything quick link to tell them exactly what they have to do. We have to rely on the good samaritans that have their technical blogs and share whatever they deem interesting in F# usually.

More F# presence in .NET events

Another issue that doesn't help people embrace F# is the lack of support in .NET events. We're either not represented at all or we may have 1-2 introductory talks on F#. The Foundation should have a way to make Microsoft understand that this shouldn't happen, F# is as much a member of the .NET family than C# is. Showing to a community of millions what F# can do in specific business and/or technology context is what will put it on the map. Through these talks, this is what is going to push developers to try the language by themselves later on and surely push more F# jobs to appear over time.

More mentorship

The mentorship happens too rarely in the year. We now have an automation that allows to create pairings without too much work for the board members. I think it's time to think of having it happen more frequently to give the chance to those who have a hard time being matched have more of a chance to participate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment