Remix.run Logo
tonyedgecombe 4 hours ago

>We need Anders to make one final language.

I do feel like there is a gap for a modern compiled, functional and garbage collected language.

Go isn't it because it lacks the functional constructs.

C# and Java aren't it because they depend on a VM.

Rust isn't it because of its difficult memory management.

Swift isn't it because it is so tied to Apple and their platforms.

rednb 4 hours ago | parent | next [-]

What you are looking for is called F#. You get native interop with C# and access to all .NET/C# libraries as a bonus. We use it as a daily driver for a complex B2B2C cloud platform.

3 hours ago | parent | next [-]
[deleted]
Sammi 2 hours ago | parent | prev [-]

Does it not run in a VM?

christophilus 15 minutes ago | parent | next [-]

It can be compiled, but that’s not the use case it was originally designed around, so it’s not quite as first class an experience as with Go or Rust.

rednb 31 minutes ago | parent | prev [-]

Yes you are right, it does not properly support NativeAOT yet.

But it isn't a need for most use cases, unless you want to do mobile development and meet app store policies. But even then, mature F# frameworks like Fable transpile your F# code to React & Cie.

kryptiskt 4 hours ago | parent | prev | next [-]

C# doesn't depend on a VM these days when it is AOT compiled. Same for Java, though C# is rather more user friendly in how it goes about it.

3 hours ago | parent [-]
[deleted]
jorams 2 hours ago | parent | prev | next [-]

There are plenty of languages in that niche you could be using. OCaml, Haskell, F#...

fpsvogel 43 minutes ago | parent | prev | next [-]

Roc might be that language one day. Not yet because it's pre-0.1.

EddieRingle 3 hours ago | parent | prev [-]

Kotlin has a LLVM backend, among others.