Live data from Hacker News

Update to the .NET language strategy

devblogs.microsoft.com

131–140 of 151 posts

Re: Update to the .NET language strategy

#132
post #82
post #72

Earlier quoted context omitted.

The point I was making is that what was once called .NET Core is now just .NET, after the merge with what was once called .NET framework. However, I think the name .NET is annoying to read and type, and it's ambiguous in a similar manner to Go, so I say Dotnet and Golang. Dotnet is literally just .net with the dot spelled out. It's not really a separate name.

> The point I was making is that what was once called .NET Core is now just .NET Right, IMO it's important to use these official correct labels when correcting someone. "Dotnet" looks like an unintentional Autocomplete error. The executable and repo names use "dotnet" since using ".NET" or previously ".NET Core" would be awkward and unconventional. I'm assuming "Golang" is used because "Go" is a generic ungoogleable…

I love C# but this kind of Microsoft naming nonsense drives me up the wall. I'm sure it's negatively impacted mindshare since people can easily be mistaken as to what they're referring to.

Re: Update to the .NET language strategy

#133

2022 I started a new job where we mainly use C# and I have to say, this is my favorite language now, especially with Visual Studio and Reshaper. I've never felt so productive and at ease while coding!

I, too, like C#. What language did you come from? Java?

R actually haha Used to be a statistician!

Re: Update to the .NET language strategy

#134

Earlier quoted context omitted.

Now we are startung to talk serious. Yes, I'd like Java's ability to use and tune different GCs to be available in other places. Async is pretty much the colored vs non-colored function discussion, for which there are good arguments on both sides. Related to C# being better than Java, I think it is, but not in a significant way. If Java uses 100% boilerplate, C# uses around 90% boilerplate. An improvement indeed, but…

>And then C# has some questionable features (extension methods: methods for a class but that are not part of the class code). I dont think people share this opinion. Extension methods are very handy and powerful while being simple and you can see how similar vision works well in Rust: impl trait for type It allows e.g library makers to create strong small core and users/community to create their wrappers/integrations…

Extension methods are "I want a function whose first parameter is this type defined outside, but the programming language shoehornes me so much into classes and objects that I have to do all this extra ~bullshit~ boilerplate to have a function whose first parameter is this type defined outside".

Imagine having to create a monad, including the `pure` and `bind` operations every time you want to increment a variable. That would be bullshit, well, because it's bullshit. Even the haskell guys figured out it's bullshit and implemented types and operations (IORef) to simplify it.

C# hasn't figured out yet you should not have to wrap your function in a namespace and a class.

Re: Update to the .NET language strategy

#135

Earlier quoted context omitted.

>And then C# has some questionable features (extension methods: methods for a class but that are not part of the class code). I dont think people share this opinion. Extension methods are very handy and powerful while being simple and you can see how similar vision works well in Rust: impl trait for type It allows e.g library makers to create strong small core and users/community to create their wrappers/integrations…

Extension methods are "I want a function whose first parameter is this type defined outside, but the programming language shoehornes me so much into classes and objects that I have to do all this extra ~bullshit~ boilerplate to have a function whose first parameter is this type defined outside". Imagine having to create a monad, including the `pure` and `bind` operations every time you want to increment a variable. T…

Weird definition since it misses the point.

Extension methods are: I want to add a new method(not function) to object which I dont have control of (in the code sense)

So I can call "externalObj.MyNewMethod()", so extend its behaviour

Re: Update to the .NET language strategy

#136
post #80

Earlier quoted context omitted.

Where does TypeScript fit into this? It's a wildly successful language from Microsoft that's also interpreted but doesn't use the CLR. Disclaimer: I work at Microsoft, but not in the Developer Division.

Start a petition for T#. Merge C# and TypeScript. I want my C# pattern matching in TypeScript and TypeScript's fluidity in C#. Simplified initialization in C# without new(). Unless otherwise specified, use a default generic Dictionary and infer the types for map initialization like: var x = { ["a"] = 1 }; Instead of: var x = new Dictionary {...}; Then automatic type mapping and conversion utilities to objects: record…

This is exactly what I dream of. Expressivity and flexibility of TypeScript, but with built in pattern matching.

Re: Update to the .NET language strategy

#137
post #95
post #38

Hot 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…

What spirit? Kotlin only matters due to Google's shenanigans on Android with Android Java, and pushing Kotlin as its replacement. It is J++ vs C# all over again. They could just as well buy JetBrains.

The spirit of starting over instead of cramming more into an old language, but making the new thing highly compatible with the old thing via transpilers or runtime sharing (Swift with Objective-C, Kotlin with Java).

Re: Update to the .NET language strategy

#138
Does anyone have any good resources to learn C# and the new net ways for someone who’s self taught and primarily codes simple tools in python? I need it for work and I get by refactoring old code, but I don’t really know how to make things better here

Re: Update to the .NET language strategy

#139
post #88

Earlier quoted context omitted.

Replace basic with Lua and read your line back. Just because a language is simple doesn't mean it can't have industrial purposes by whatever gauge you measure things. Theres a bunch of things I wouldn't use basic for just the same with C# and "popular-language-here". Probably the most used programming language is VBA or maybe the Excel macro if you consider that a language.

Did that remark come across as a criticism? I did not mean it so; distributing the power of programming as broadly as possible has always been a central value in my career, and that's why I joined the VB team in the first place. I meant that while it made sense for cutting-edge language development to happen elsewhere, I had thought that VB would have been a great place for work on improved human factors. How can we…

> while it made sense for cutting-edge language development to happen elsewhere, I had thought that VB would have been a great place for work on improved human factors.

Thanks for clarifying, this makes sense to me and it's unfortunate you didn't get to see this through to fruition

Re: Update to the .NET language strategy

#140
post #130
post #98

Earlier quoted context omitted.

Have you checked the date? I think nowadays only Don Syme is employed by Microsoft research.

Actually on the Reddit thread, they mentioned he has left Microsfot Research as well, https://githubnext.com/team/dsyme/

that's interesting...apparently transferred within Microsoft to work on future Github functionality?
Post reply on HN