←back to thread

201 points olvy0 | 3 comments | | HN request time: 0.661s | source
Show context
high_na_euv ◴[] No.41878416[source]
LINQ is so fucking useful and well designed feature of .NET ecosystem that it is unreal when you gotta use lang which doesnt have such a thing.

C# design team is/was unparalleled

replies(7): >>41878459 #>>41878543 #>>41878588 #>>41878686 #>>41879163 #>>41879194 #>>41879315 #
munchler ◴[] No.41878543[source]
If you like LINQ, you should really give F# a try.
replies(1): >>41878591 #
1. neonsunset ◴[] No.41878591[source]
F# is even better. I only wish performance wasn't hit or miss around sequences/iterator expressions. Hopefully one day it will reach parity with C# through compiler improvements and/or detaching FSharp.Core from conservatively targeting NS2.0 and modernizing it.
replies(1): >>41878682 #
2. emn13 ◴[] No.41878682[source]
I never really got over the order-dependent and fairly slow compile times, but it's been like 10 years since I used it for anything even slightly complex. Is F# better in this regard now, or are there accessible patterns to help deal with that?
replies(2): >>41878756 #>>41885720 #
3. munchler ◴[] No.41878756[source]
Order-dependency is a feature, not a bug, but it does take some getting used to. If you really want to avoid it, you can now declare all functions in a module to be mutually recursive, so you can put them in any order. Cyclic dependencies between files are still prohibited, for good reason. See https://fsharpforfunandprofit.com/posts/cyclic-dependencies/.

The F# compiler is slower than the C# compiler, but it's still more than fast enough for building large applications.