Live data from Hacker News

.NET 8

devblogs.microsoft.com

171–180 of 374 posts

Re: .NET 8

#171

Lots of very cool stuff here (AOT, Aspire, etc.). .NET has been held down by the image of its early days, but it has become a pure joy to work with recently. The improvements in tooling and ergonomics have made it a replacement for Go in our org (we migrated from .NET Core 3.1 to Go back to .NET 6 recently).

> .NET has been held down by the image of its early days, but it has become a pure joy to work with recently People have been saying that for the past 4 years. As someone who's never used .NET but develops embedded apps for Linux, I had high hopes for it become the best story for crossplatform development, it still feels like the crossplatform is held by ductape. It's still Xamarin for mobile, Avalonia (a 1-man proje…

> I had high hopes for it become the best story for crossplatform development, it still feels like the crossplatform is held by ductape.

Sorry to be pedantic, but it's cross-platform GUI that still doesn't have a good, officially supported story.

For non-GUI apps, cross-platform works very well! I've deployed a range of apps to production across Windows, Linux (both x64 and ARM), and Docker on Linux too (also both x64 and ARM) with great success.

I'd like to see an officially supported build for BSD, but that's about my only cross-platform want.

Re: .NET 8

#172

Earlier quoted context omitted.

And Visual Studio is probably one of the best if not the best IDEs out there.

Maybe it has gotten better. I found it way too much, but then I am writing Python in Notepad++. All I saw was far too many options and an assumption that you were Writing At Enterprise Scale.

If it was a whole decade ago it's hard to state how much the ecosystem has changed since then.

Since 2014 they've released Community Editions of Visual Studio, with a lot more useful features and less restrictive licensing than the old Express editions.

But if you're used to writing Python in Notepad++ I'd skip VS entirely. You can install the dotnet SDK and just keep using Notepad++.

Here's literally everything to write a CLI app in .NET 7:

A csproj file:

  
    
      Exe
      net7.0
      enable
      enable
    
  
A program.cs file:

  Console.WriteLine("Hello, World!");
Then open a terminal and navigate to the folder you put the files in and run `dotnet build`. Or just pass in the folder in the argument `dotnet build .\demo\demo.csproj`.

Voila. A CLI executable is built in the .\bin\Debug directory.

Re: .NET 8

#173
I hope Blazor will replace JavaScript some day. I am tired of learning a new JS framework/library/etc. every 2 months. Time to end this.

Re: .NET 8

#174

Adding spreading is neat, but curious why they chose to go the two dot route instead of three. It's been a while since I've worked in C#, so I can't remember if there are any reserved implications of three dots.

Hi there. I'm the language designer who created the 'Collection Expression' design/specification: https://github.com/dotnet/csharplang/issues/5354

You can see the entire history of the proposal there. To answer you specific question, we went with `..` because that's what the language already uses for the complimentary 'pattern matching deconstruction' form for collection patterns.

In other words, you can already say this today:

    if (x is [var start, .. var middle, .. var end]) { ... }
So the construction compliment to that is:

    M([start, .. middle, end])
We very much want 'construction/deconstruction' to have this sort of parity, and we will be continuing to follow that principle with new features we are continuing to invest in.

--

Now, if your next question is "why was .. picked for collection deconstruction?" the answer is "because we considered that the nicest syntax from the choices we considered". Syntax is often very subjective, and we often come up with numerous forms to consider (along with examining other languages to see what they've done). In this case, we simply preferred `..` over `...`. The extra dot didn't add anything for us, and we also felt like it might be an operator we might want to use in the future for other language features.

--

Finally, if you're interested in these sorts of questions/designs, def participate on github.com/dotnet/csharplang. We do all our design in the open over there, and are always interested in community perspectives on these sorts of things.

Thanks!

Re: .NET 8

#176
post #59

Earlier quoted context omitted.

The .Net ecosystem has a lot of great tooling, for sure. The main issue I have had is if you are trying to get into the .Net Ecosystem without spending money. There are quite good free tools, but you have to figure out what works best for you if you're used to the non-free ones. I assume instead of Reflector for the decompilation, you used DotPeek?

> The main issue I have had is if you are trying to get into the .Net Ecosystem without spending money. I suggest not trying to do this. You can certainly make most of .NET8 work with a pure OSS toolchain, but your overall development experience is going to be destitute compared to that of the official tool chain. To be clear - I think paid alternatives, such as Rider are fantastic too, but even so I've had some trou…

>At the end of the day, you have to ask yourself about what your hourly rate is.

At the end of the day it's a question of how much ROI are you getting. Your hourly rate is irrelevant, when you're just learning a new tech... because when you're hacking/learning the hourly rate is $0.

Re: .NET 8

#177

Earlier quoted context omitted.

> The main issue I have had is if you are trying to get into the .Net Ecosystem without spending money. I suggest not trying to do this. You can certainly make most of .NET8 work with a pure OSS toolchain, but your overall development experience is going to be destitute compared to that of the official tool chain. To be clear - I think paid alternatives, such as Rider are fantastic too, but even so I've had some trou…

What is the issue with using Visual Studio Community Edition? Or if not on Windows, using VS Code with the plugin. All free.

Visual Studio for Mac is discontinued and will be retired next year:

https://learn.microsoft.com/en-us/visualstudio/mac/what-happ...

Re: .NET 8

#178

Seems like AOT compilation is spotty on Asp.NET apps. A fresh app made with dotnet new webapi -o aot-api did not work when run.

Give 'dotnet new webapiaot' a try (you can see more details with 'dotnet new list' or 'dotnet new {template} -h' to see extra options for a specific template).

Re: .NET 8

#179

Lots of very cool stuff here (AOT, Aspire, etc.). .NET has been held down by the image of its early days, but it has become a pure joy to work with recently. The improvements in tooling and ergonomics have made it a replacement for Go in our org (we migrated from .NET Core 3.1 to Go back to .NET 6 recently).

> .NET has been held down by the image of its early days, but it has become a pure joy to work with recently People have been saying that for the past 4 years. As someone who's never used .NET but develops embedded apps for Linux, I had high hopes for it become the best story for crossplatform development, it still feels like the crossplatform is held by ductape. It's still Xamarin for mobile, Avalonia (a 1-man proje…

Maybe the desktop UI story isn’t quite there yet. But I’ve been using .NET >= 5 web apps for years on linux, and it’s pretty solid with Rider. No issues debugging.

While I would prefer if I could use free tooling, Rider pays for itself in time savings very quickly.

Re: .NET 8

#180
post #103

Earlier quoted context omitted.

Yes, it has all that - console applications with no GUI, GUI interfaces on the desktop as well as web interface - has pretty much everything if you know where to look.

And Visual Studio is probably one of the best if not the best IDEs out there.

Used to be, in my opinion. Specially pre-2015. It has become buggy, slow and lacking features ever since. And let’s not get started with its monstrous setup/installer.
Post reply on HN