Side note, Roslyn's lack of support for F# is not the lack of tail calls, it's 
the symbol/syntax model isn't designed for a language that doesn't look like C# 
or VB. Roslyn does provide higher level features for F# (and Typescript) around 
diagnostics and workspace/file views but that's being slowly replaced in lieu 
of the Language Service Protocol (LSP) for sharing across VS and VS Code.

________________________________
From: David Burstin via ozdotnet <ozdotnet@ozdotnet.com>
Sent: Sunday, July 3, 2022 1:52 PM
To: ozDotNet <ozdotnet@ozdotnet.com>
Cc: Piers Williams <piers.willi...@gmail.com>; David Burstin 
<david.burs...@gmail.com>
Subject: Re: It's that time of year - F#

Thanks Piers. I think that's an excellent summary of the F# dilemma - it is 
better but falls due to its far lower adoption. For those old enough to 
understand, it's VHS vs BetaMax.

On Sun, 3 Jul 2022 at 12:07, Piers Williams via ozdotnet 
<ozdotnet@ozdotnet.com<mailto:ozdotnet@ozdotnet.com>> wrote:
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<mailto: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<mailto: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/<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcodify.mailman3.com%2F&data=05%7C01%7Cdavid.kean%40microsoft.com%7C3412e39670324e576c5508da5ca7b2c4%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637924172596903073%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=k5DZjYUV6pZF%2BCw7MCjfIHi%2FHJBJh%2BnQTSgkn8aGCwM%3D&reserved=0>
--
ozdotnet mailing list
To manage your subscription, access archives: 
https://codify.mailman3.com/<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcodify.mailman3.com%2F&data=05%7C01%7Cdavid.kean%40microsoft.com%7C3412e39670324e576c5508da5ca7b2c4%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637924172596903073%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=k5DZjYUV6pZF%2BCw7MCjfIHi%2FHJBJh%2BnQTSgkn8aGCwM%3D&reserved=0>


--
piers
--
ozdotnet mailing list
To manage your subscription, access archives: 
https://codify.mailman3.com/<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcodify.mailman3.com%2F&data=05%7C01%7Cdavid.kean%40microsoft.com%7C3412e39670324e576c5508da5ca7b2c4%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637924172596903073%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=k5DZjYUV6pZF%2BCw7MCjfIHi%2FHJBJh%2BnQTSgkn8aGCwM%3D&reserved=0>

Reply via email to