6 ms·
F# has tended to lag far behind C# in Microsoft's ecosystem. I haven't kept up with in a few years, so I don't know how far behind it still is. It is a fun lang
by muststopmyths 7y ago
F# has tended to lag far behind C# in Microsoft's ecosystem. I haven't kept up with in a few years, so I don't know how far behind it still is. It is a fun language for sure.
If your friend is looking into getting into .net for professional purposes, I would steer them towards C# first. That's likely to be much more useful in the long term. Especially since it can be a stepping stone to other C/C++ like languages.
With F# I would bet that they hit some limitation sooner or later where something that could be easily done in C# will take more work in F#. Which could be fine if they have the time/inclination to rough it. I just would not advise F# as a resume builder.
- whb07 7y agoWhile I fully agree with F# being the step child of C#, an easy way to see what’s better is how many features get copied from which language to the other (hint: C# is like China copying tech from F#). Start with F#. Learn the basics well. Parent - Checkout https://fsharpforfunandprofit.com/ https://fsharpforfunandprofit.com/ https://docs.microsoft.com/en-us/dotnet/fsharp/introduction-to-functional-programming/ https://docs.microsoft.com/en-us/dotnet/fsharp/introduction-...
- dgudkov 7y ago>With F# I would bet that they hit some limitation sooner or later where something that could be easily done in C# will take more work in F#. From my experience of working with both C# and F# for a few years, it's more likely to be the other way around.
- pjmlp 7y agoF# lacks the Visual Studio tooling support that VB.NET, C# and even C++ enjoy. It is also not officially supported on UWP, and needs some hacks to the generated MSIL (as .NET Native doesn't cover 100% of all MSIL).
- adgasf 7y agoMost of the F# community seems to be using Ionide on VS Code. This works very well, but if Visual Studio is your preferred editor this can be annoying.
- dgudkov 7y agoThe support for F# in VS leaves a lot to desire, indeed. However, in my experience, I've found that the developer productivity gains from F# outweigh the inconvenience.
- pjmlp 7y agoOnly if what you are doing is directly supported by F#. If you attempt to do GUI development, then you are forced to look for community projects like Fabulous, use the XAML type provider with a dummy C#,VB.NET,C++/CLI project for the XAML generation, or actually use one of those languages for the UI, with F# used only for the logic. So even though I am a big fan of ML language family, at the end of the day, the other .NET languages get the green light from most customers and team.
- WorldMaker 7y agoI don't recall having too much difficulty getting the VS WPF XAML Designer to basically function with F#. Some features just don't light up like event connecting/code-behind, but that's fine and what I wanted anyway (taking an MVVM-ish approach). There's a hope that with F#'s upcoming move to the "shared project system" that a lot of the pains will go away in hopefully the near future. (That said, Fabulous has piqued my interest and I'm debating rewriting my big F# GUI in it, at least in an exploratory branch.)
- rubber_duck 7y agoMeh - recently worked on a huge corporate solution where some enthusiastic person included F# projects for tests- soon the project readme included : To get VS intellisense working disable the F# projects as it would randomly cause intellisense to break in the entire solution.
- phillipcarter 7y agoThere was an issue with the C# tooling about 3 years ago that led to this, but it was fixed in the subsequent VS update.
- rubber_duck 7y agoHad this problem one year ago using VS 2017 and up-to-date software (along with the rest of the team, VS 2019 wasn't stable yet don't know if it's fixed there).
- phillipcarter 7y agoFirst I'd recommend upgrading to VS 2019, because you're currently missing ~1.5 years' worth of improvements in C# and F# tooling (core development for VS 2017 stopped well before the VS 15.9 release to stabilize it). If it still reproduces, then please use the Report a Problem tool to file an issue. The team who builds C# tooling would be interested in fixing that kind of problem.
- rubber_duck 7y agoOh for sure - I'm not using .NET/VS anymore different clients and all, and I think the team stripped out the F# tests out of the solution - just saying it couldn't have been the thing fixed 3 years ago.