3 ms·
> I think a lot of what people actually like about Rust, to be honest, is that it's essentially an ML language masquerading as a C-like, with a stellar packagin
by CharlieDigital 2y ago
> I think a lot of what people actually like about Rust, to be honest, is that it's essentially an ML language masquerading as a C-like, with a stellar packaging and tooling story.
F# seems like a good option.
- cmrdporcupine 2y agoOr just OCaml
- sunshowers 2y agoOCaml is an excellent language, but doesn't it have a GIL?
- throwitaway1123 2y agoMulticore OCaml finally landed a few years ago: https://news.ycombinator.com/item?id=34013767 https://news.ycombinator.com/item?id=34013767
- satvikpendem 2y agoHow is F# on non-Microsoft platforms, is it fully cross platform? I don't use C#, .NET, or F# so I have no idea about the ecosystem.
- mathw 2y agoYes F# has come along for the ride with modern .NET and it's as cross-platform as C# is. However, a lot of the really shiny .NET stuff is tooled up mostly for C# users, so it can be a challenge if you wanted to do something like a .NET MAUI (cross-platform GUI library) application in F# because the tooling and the content out there to teach you about it assumes C#. F# can usually handle C# things - they put a lot of work into ensuring interop with new C# features - but the languages are from different paradigms so it is sometimes a bit awkward despite F#'s comprehensive OO support. Personally I struggle a bit with F# because it doesn't have typeclasses, and a language that looks that much like Haskell but doesn't have typeclasses just feels weird to me. Although it might get them... C# are looking at adding a traits-type feature (they don't seem to know what to call it yet, but the design's been kicking around the language team for ages now and keeps getting discussed), so F# could presumably piggyback on that if they wanted.
- scns 2y ago> C# are looking at adding a traits-type feature (they don't seem to know what to call it yet, but the design's been kicking around the language team for ages now and keeps getting discussed) Why not name it Traits?
- CharlieDigital 2y agoReally good. I'm in a startup using .NET. We deploy to a variety of targets including AWS t4g (Arm64) instances in AWS as well as x86/64 targets in GCP. All devs are on M1 Macs. Our build pipeline is GitHub Actions Linux runners. Our DB is either AWS RDS Postgres or GCP Cloud SQL Postgres with a mix of EF Core as ORM and Dapper (for more complex read queries). C# has, over the years, converged with TypeScript so they are very similar[0] (though no Duck typing in C#). Good mix of OOP and FP paradigms borrowed from F#. F# interoperates with C# so it can tap into the larger C# ecosystem. It's a good platform; very productive. CLI has a functional hot reload (much more limited than Node on JS as the granularity of module replacement isn't quite as good). [0] https://github.com/CharlieDigital/js-ts-csharp https://github.com/CharlieDigital/js-ts-csharp
- akkad33 2y agoF#is not C like and it's tooling and packaging is not as good as rust. Last time I checked it had multiple packaging solutions like paket and nuget. The tooling on vscode can be buggy
- pjmlp 2y agoEasy, stay with .NET standard tools, MSBuild. There is also Visual Studio and Rider.
- antonvs 2y ago> stay with .NET standard tools That’s a dealbreaker in many situations.
- piaste 2y agoSuch as? They're cross-platform and MIT licensed.
- pjmlp 2y agoThen probably .NET isn't an ecosystem for you, that is fine, there are other options.
- CharlieDigital 2y agoIf you haven't used .NET since the early 2000's, I'd recommend checking out current `dotnet` CLI and tool chain.