I'm a bit torn on this subject.

I spent the last 3 years of the 'hands on' part of my dev career swapped
over to F# from many, many years of writing predominantly C#, and it was a
fantastic experience. Don Syne's main pitch these days is to think of F# as
a productivity language first, and a FP language second, and I would
support that view. Much of what F# pioneered in the .net space has indeed
come over to C# in recent versions, but as a result C# syntax has grown
significantly, and I see engineers having to talk each other out of 'bad
practices' to use new idioms. You don't get that in F# - the 'right way' is
just the default to start with, and you have to go out of your way to do
the reverse (mutable code, side-affecting structures etc...). Rather than
FP, just think 'nicer C#'.

That said, as a manager now, I'd have to be completely honest that it does
present some real issues, principally around recruitment and/or ramp-up. I
personally thought the cross-skilling was easy (~2-3 weeks), but even
allowing for that, it's still an impost, and there is an entirely
legitimate view that it's just one more thing engineers have to think
about. F# hasn't been ported to Roslyn (Roslyn can't yet cope with tail
calls I believe), which then excludes some tooling (like static analysis).
And Microsoft themselves were gently dissuasive when the subject of using
it for a particular project was brought up by the team.

So ultimately I think the question comes down to productivity and cognitive
load. F# does a fantastic job (I think) of reducing those, but at the cost
of biting off some up-front cross-skilling. The latter cost is very real
and tangible, and the former is quite a lot harder to pin down and measure.

Ultimately in my case the engineering team came to the conclusion they had
enough on their plate to worry about already, and I can't help but
sympathise with that. That said, any code I write at home, or just to prove
a point, I write in F#. I'm never going back.

Piers

On Thu, 30 Jun 2022 at 10:31, Tom Gao via ozdotnet <ozdotnet@ozdotnet.com>
wrote:

> I used F# for my doctorate as a modelling language to build out a
> prototype for a security integration platform I developed.
>
> The problem is that there are very few people who use F# afaik. Getting
> any commercial code developed will create a problem for ongoing support.
> Just my view.
>
> btw. this is a long shot. I'm looking for a senior digital PM in sydney
> does anyone know of anyone good who might be interested? (I'm not a
> recruiter but just desperate to get a project going)
>
> On Fri, Jun 24, 2022 at 3:42 PM David Burstin via ozdotnet <
> ozdotnet@ozdotnet.com> wrote:
>
>> Hi folks,
>>
>> It's been about a year since I asked, so here it is again. Does anyone
>> know of any F# work being done in Melbourne, or anywhere in Australia?
>>
>> I've managed to do some small F# helper apps for my employer, but 98% of
>> what I do is C#. I'd really love to find somewhere that uses F#.
>>
>> On the plus side - F# has helped improve my C# approach dramatically, and
>> C# is constantly introducing more functional ideas (although discriminated
>> unions and active patterns would be lovely).
>>
>> So, anyone know anything?
>>
>> Cheers
>> David
>> --
>> ozdotnet mailing list
>> To manage your subscription, access archives:
>> https://codify.mailman3.com/
>
> --
> ozdotnet mailing list
> To manage your subscription, access archives: https://codify.mailman3.com/



-- 
piers

Reply via email to