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>