←back to thread

.NET 10

(devblogs.microsoft.com)
489 points runesoerensen | 1 comments | | HN request time: 0s | source
Show context
nozzlegear ◴[] No.45890001[source]
As a daily user of F#, I'm most looking forward to the support for "and!" in computation expressions. There are a few performance-critical pieces of code I can think of that are currently wrapped up in "Task.WhenAll" / "Parallel.ForEachAsync" that I'd like to extract back into "native" F# task computations.
replies(2): >>45898152 #>>45898201 #
cies ◴[] No.45898201[source]
I really like F# (as I like OCaml, Elm and Haskell); but I'm always afraid MS will kill it one day.

It helps that now most (if not all) parts of the stack are open source and run on Linux.

replies(2): >>45898239 #>>45898319 #
madarcho ◴[] No.45898319[source]
Where is this worry coming from? (I'm curious, not shutting it down)

I might be biased from having worked with production F#, but it feels more like functional is making its way into C#, as the general industry sees value in functional principles. So F# feels like its more here to stay?

replies(2): >>45898584 #>>45904656 #
azertify ◴[] No.45898584[source]
Doesn't it feel like the functional stuff is coming into C# so that F# can disappear? Pure speculation on my part but doesn't seem unreasonable.
replies(3): >>45898753 #>>45899526 #>>45905757 #
1. bonesss ◴[] No.45899526[source]
C# has incomplete and often compromised versions of the constructs F# mostly took from OCaml, and as you extend those exhaustive guarantees towards formal verification you bump into F*.

C#s adoption of language features shows their utility but they’re not a replacement, per se. Without a clear functional answer in certain language and parallel computing scenarios MS would be ignored. Scala and Kotlin are comparable answers to comparable pressures on the JVM, and even keeping pace there with new and exciting tools/libraries requires some proper functional representation on the .Net platform.

F# will disappear when/if those other languages do, and already has lots of what C# is chasing with a more elegant syntax. It inherits VM and project improvements from C#, so the biggest threat to long term investment is something like the crippling changes made to FSharp Interactive (FSI), during the .Net Core transition. Otherwise it seems to be in a safe place for the foreseeable future.