Earlier quoted context omitted.
VB.NET should never have happened. It has only superficial similarity with VB6. It was sold as upgrade path from VB6 but that never worked.
Perhaps, but I think it offered people who didn't have exposure to C-like language syntax, an easier upgrade path for their own skills. I was writing stuff in VBA and a little VB6. The move to VB.NET was made easier because of the synax similarities. My move from VB.NET to C# was made easier because by then I understood the framework, and it was just a matter of learning the syntax differences. Maybe that's not such…
Update to the .NET language strategy
51–60 of 151 posts
Re: Update to the .NET language strategy
#52Re: Update to the .NET language strategy
#53Hot take but I wish they’d start a new lang in the spirit of what’s happening in swift/Kotlin instead of evolving C#. I use it everyday. I love the new pattern matching, it simplifies a lot of gnarly reflective type checks and feels good. Records are nice too. I see discriminant unions are coming soon. But they’re painting themselves into the corner in terms of syntax and overcoming OOP defaults. A fresh start would…
The language is getting complicated.
Re: Update to the .NET language strategy
#54Re: Update to the .NET language strategy
#55Hot take but I wish they’d start a new lang in the spirit of what’s happening in swift/Kotlin instead of evolving C#. I use it everyday. I love the new pattern matching, it simplifies a lot of gnarly reflective type checks and feels good. Records are nice too. I see discriminant unions are coming soon. But they’re painting themselves into the corner in terms of syntax and overcoming OOP defaults. A fresh start would…
.Net itself is fundamentally OOP. Lambdas are implemented as classes with an Invoke method, F# enums are implemented as classes with variants as subclasses, etc. So if "overcoming OOP defaults" is the goal then making a new .Net lang that isn't OOP doesn't achieve much. So it would have to be either be a new native language, or a new managed language that also comes with a whole new managed runtime. For the former, R…
Re: Update to the .NET language strategy
#56Earlier quoted context omitted.
Great. Just install the .NET SDK, and you get both languages. You can start an F# REPL immediately after installing with `dotnet fsi`.
I remember that being missing for years. Nice.
Re: Update to the .NET language strategy
#57Earlier quoted context omitted.
First class. I would wager that most new .NET projects are primarily targetting Linux for deployment.
* for serverside
Re: Update to the .NET language strategy
#58Hot take but I wish they’d start a new lang in the spirit of what’s happening in swift/Kotlin instead of evolving C#. I use it everyday. I love the new pattern matching, it simplifies a lot of gnarly reflective type checks and feels good. Records are nice too. I see discriminant unions are coming soon. But they’re painting themselves into the corner in terms of syntax and overcoming OOP defaults. A fresh start would…
.Net itself is fundamentally OOP. Lambdas are implemented as classes with an Invoke method, F# enums are implemented as classes with variants as subclasses, etc. So if "overcoming OOP defaults" is the goal then making a new .Net lang that isn't OOP doesn't achieve much. So it would have to be either be a new native language, or a new managed language that also comes with a whole new managed runtime. For the former, R…
Re: Update to the .NET language strategy
#59> F# explores new language possibilities and the community provides a rich experience across platforms. There are several interesting observations to be had here. For one, F# already explored (past tense) new language features and has long been essentially feature complete. It gets little features here and there, which are generally quality of life type of things (like anonymous records, for example). Another interpr…
Re: Update to the .NET language strategy
#60TLDR: C# is our real language. F# is a thing that gets supported to the extent that unpaid volunteers do the work. VB is in back-compat legacy support mode.