News for hackers. Stuff that matters.
Re:Why your F# evangelism isn't working by lostmsu on Tuesday May 30, 2023 @10:53PM (#36133965)
Rust might take its place if the tooling would be on par. Personally I'd jump.
Re:Why your F# evangelism isn't working by throwaway2037 on Tuesday May 30, 2023 @11:48PM (#36134253)
You are the first person I have heard mention the desire to transition from C# to Rust. Usually, it is C++ to Rust, or Java to C#.

    if the tooling would be on par
I am betting person, and I say: "It never will be." It is easy to overlook the importance of better developer tooling. It directly translates into higher developer productivity. Every time I am forced to use a language with worse developer tooling, I am reminded of this performance hit. This is why Microsoft spends so much time and efforts on its developer tools. Also: Better tooling means below average developers can level-up to average. This is most of corporate computing, so a win for the bean counters.

Also: There is not single, commercial, controlling force behind Rust, like Java and DotNet.

Don't interpret this post as anything against Rust. I think it is a brilliant language.

Re:Why your F# evangelism isn't working by KingMob on Wednesday May 31, 2023 @03:40AM (#36135592)
Agreed, I think people are sleeping on the relative disparities in tooling between langs, and it will only get worse.

I feel this daily as a Clojure programmer. I've been playing with Copilot, and it's astonishing how much worse Copilot is at generating Clojure code, than say, Js. The difference is probably due to training volume, and if AI-assisted coding is worth it at all, the benefits will primarily accrue to the largest languages.

Re:Why your F# evangelism isn't working by throwaway2037 on Wednesday May 31, 2023 @04:12AM (#36135790)
At the office, a teammate and I recently had to write some C# again using Visual Studio. (Normally, we write Python and Java using JetBrains' IntelliJ.) Even then, we could both notice the developer experience was slightly worse in Visual Studio, than IntelliJ. That said, there are lots of nice (new) language features in C# to make-up for the difference!
Re:Why your F# evangelism isn't working by recfab on Wednesday May 31, 2023 @02:25PM (#36141888)
In case you haven't seen it already, JetBrains also makes a C# IDE called Rider [0].

Personally, I find the JetBrains IDEs overly complicated. More so than Visual Studio, but that may be familiarity. (Also, I use VSCode for .NET these days so full IDEs feel heavy to me anyway.)

[0]: https://www.jetbrains.com/rider/features/

Re:Why your F# evangelism isn't working by pjmlp on Wednesday May 31, 2023 @05:13AM (#36136199)
Good luck having the whole .NET Windows ecosystem rewritten in Rust.
Re:Why your F# evangelism isn't working by lostmsu on Wednesday May 31, 2023 @08:49AM (#36137739)
Eh. It is vast, but the tide is shifting. Non-UI components were never that good. WPF is in maintenance mode. And there is a growing need for deep learning which is currently a total lackluster in .NET
Re:Why your F# evangelism isn't working by pjmlp on Wednesday May 31, 2023 @09:31AM (#36138198)
Still, more likely to be Python and C++ than Rust.

See ONYX, DirectML and ML.NET announcements at BUILD.

Re:Why your F# evangelism isn't working by lostmsu on Thursday June 01, 2023 @12:14PM (#36153291)
Python and C++ aren't replacements for C# due to different issues with them (which are not present in Rust).

Neither ONNX, nor DirectML, nor ML.NET excel at deep learning. TorchSharp is the closest to what is needed for the modern ML work, and there is almost no investment in it - I believe there's just one person working on it, and even that is part time.

The only thing that keeps me on C# is lack of Rust debuggers that would be able to evaluate arbitrary Rust expressions including full support for traits.

Re:Why your F# evangelism isn't working by physPop on Wednesday May 31, 2023 @09:23AM (#36138084)
Rust and C# do very different things
Re:Why your F# evangelism isn't working by IshKebab on Thursday June 01, 2023 @02:07AM (#36148026)
There's a huge amount of overlap. They are both general purpose languages - as such they are in competition. I would say there are more applications where either would be a reasonable choice than there are where one is the obvious choice and the other isn't a reasonable option.