Hacker News new | ask | show | jobs
by pjmlp 570 days ago
You can, but not 100%. With class libraries, so it has to be a mix of C# and VB.

F# is on the same spot, hence why I nowadays say CLR has changed meaning to C# Language Runtime, the whole mantra of Common Language Runtime and Common Language Specification compliant libraries are now gone.

2 comments

Have you tried employing either in any recent time? Or is this just what you think is the state of affairs without contextual knowledge?
Good luck doing Blazor in straight F# or VB without C# glue code, does it answer?
There is, in fact, a package that does just that: https://github.com/slaveOftime/Fun.Blazor (and there are others IIRC)
> This is a project to make F# developer to write blazor easier

Now do the same in Visual Studio New Project, language F# or VB, without similar community projects.

I doubt that teams which employ F# are affected by default template selection in Visual Studio in any way, shape or form (if they use VS at all) :)

And companies which strictly choose only whatever comes out of box are unlikely to use F# anyway. The concept itself is incorrect and, I argue, must not be applied beyond ASP.NET Core and EF Core. There are no "first-party" frameworks in many other languages in either case so it is an unfair and flawed argument in the context of .NET.

Not unfair at all, and a clear shift of goalposts from how .NET was sold in 2001, and has been for almost 15 years, until management decided only C# gets invited for the new party.

Do you want a refresh from Visual Studio.NET and further releases until this stop being a thing?

You may be able to get away with writing some of your business logic in VB.NET, but the actual endpoints, and likely many things around it, must be C#.

F# at least is officially supported for ASP.NET Core, and has official ASP.NET Core templates in Visual Studio.

Try to use the Blazor ones without community helper libraries, both languages aren't without issues.

That is why I point that the change of meaning in C from CLR.