Live data from Hacker News

.NET 8

devblogs.microsoft.com

211–220 of 374 posts

Re: .NET 8

#211

I haven't touched .NET in well over a decade. Last time I tried, I felt like a chimpanzee strapped into the cockpit of an F-15. Everything was "deploy!" and "endpoint for automatic upgrades" and " ENTERPRISE " and "web service." Does .NET have any "write a small program that is only a CLI?" options? Or GUI instead of web interface? Something modest.

.NET always had simple console-only apps (that's what I started with more than 15 years ago). Now there is even a 'dotnet' CLI command. With first-class VS Code dev support and Linux support for SDK/runtime, you don't even need Windows or Visual Studio IDE to get started.

Re: .NET 8

#212
post #111

I'm looking at a language to write simple executables with or without GUI and that are not too verbose or too complicated. A bit like a compiled python :) Would .NET 8 be a good challenger ? I previously didn't consider it because the compilation to binary was looking more like an experiment, and the example I've seen were quite verbose (in a java way).

Go seems like a good fit for that.

Go is insanely verbose compared to both C# and Java due to its low expressivity, especially around its error “handling”.

Re: .NET 8

#213

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…

>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.

Just because you're not getting paid doesn't mean your time is worthless (or your hourly rate changes).

Re: .NET 8

#214
post #201

Earlier quoted context omitted.

What doesn’t work with java/graalvm?

I outlined my issues in this comment: https://news.ycombinator.com/item?id=38266151 Someone suggested switching the JVM to hotspot and using jlink/jpackage, I am going to give that a shot

Depending on what you want, there might not be too much point in going native. Also, it is unfortunately true that GUI stuff is not yet well-handled by Graal AOT.

Re: .NET 8

#215

I haven't touched .NET in well over a decade. Last time I tried, I felt like a chimpanzee strapped into the cockpit of an F-15. Everything was "deploy!" and "endpoint for automatic upgrades" and " ENTERPRISE " and "web service." Does .NET have any "write a small program that is only a CLI?" options? Or GUI instead of web interface? Something modest.

.NET always had simple console-only apps (that's what I started with more than 15 years ago). Now there is even a 'dotnet' CLI command. With first-class VS Code dev support and Linux support for SDK/runtime, you don't even need Windows or Visual Studio IDE to get started.

Good starting libs for CLI development:

https://learn.microsoft.com/en-us/dotnet/standard/commandlin...

https://github.com/Tyrrrz/CliWrap

Re: .NET 8

#216
post #182

Blazor actually looks compelling now that it has server side streaming and rendering, as well as component level interactivity. Once .NET is integrated with the new WasmGC features, it will get even better! (I don't think they mentioned WasmGC on the roadmap but I can bet anything they're going to do it).

Yes, it really does. It means that you can use component style development while having a regular server-rendered app. If/when you want some interactivity, you can add it simply without much effort. With .NET 8's Blazor, you can just have regular pages for 90% of your stuff and just use WASM (or websockets) for 10% of stuff. The good thing here is that you get fast initial page loads and navigation and the disadvantages of WASM are a lot smaller (like larger downloads than JS since it's shipping a GC and such).

.NET is following the WASM GC stuff. There are some Post-MVP features for WASM GC that will benefit .NET. Note, I'm not an expert on this and this is coming from memory. That said, .NET has some features that won't be supported well by the WASM GC MVP. There's always a trade-off between supporting more and getting stuff out into the world so that languages that might not need the features can start using it (and they can learn from the usage which will benefit everyone). For example, .NET allows more pointer stuff than a lot of GC'd languages. .NET's `unsafe` isn't used much by most .NET programmers, but it is there. I think maybe .NET has stronger guarantees around finalizers than Java (where they aren't guaranteed to ever be run). The WASM GC is just an MVP at this point, but it has landed and they're working on its future. It really feels like we're getting to that point where WASM is going to really offer a better experience in the near future.

Ultimately, the timing of WASM GC wouldn't work out for the .NET 8 timetable, but I'd expect there to be a lot of work on it for .NET 9 next year. It's possible that a lot of Post-MVP stuff will land in WASM GC to help .NET and there's probably some opportunity to make Blazor work around other stuff. I think they haven't mentioned it or put it on the roadmap because they're still figuring out how it's going to go (and we'll probably know more in like February). But they are certainly looking at WASM GC and it's likely to offer a nice boost for .NET 9.

Re: .NET 8

#217

Excited about the smaller standalone binary (native AoT) .NET 8 can generate to compete with the likes of Go

Better than go, more like Graal

How is Graal better. Half of the Java ecosystem wouldn't work with Graal.

Re: .NET 8

#218

I haven't touched .NET in well over a decade. Last time I tried, I felt like a chimpanzee strapped into the cockpit of an F-15. Everything was "deploy!" and "endpoint for automatic upgrades" and " ENTERPRISE " and "web service." Does .NET have any "write a small program that is only a CLI?" options? Or GUI instead of web interface? Something modest.

Hi there! I'm a developer on the .Net team, and I heavily work on our IDE offerings. You can absolutely write a small program that is only a CLI, and our tooling is heavily tailored to make that a great experience. First off, you don't need to use an IDE for this at all (if you don't want to). You can just do `dotnet new ...` from the command line to spit out what is needed to do CLI development. If you do want to us…

That's great to know!

You may not know this, but ESRI is more or less the Microsoft of GIS (Geographic Information Systems). While they largely settled on Python, some of the newer "add-ins" for ArcGIS Pro rely on .NET, instead. As such, I thought it would be a good idea to begin looking into .NET, C#, and the like to see if I could develop some add-ins myself.

I'm one of those solo "dark matter" developers who ends up writing middleware, custom ETLs, and such that almost nobody will ever see and I had begun to despair of finding tooling for "the little guy." I will look into the SKUs you mentioned, it gives me some hope.

Re: .NET 8

#219
post #214

Earlier quoted context omitted.

I outlined my issues in this comment: https://news.ycombinator.com/item?id=38266151 Someone suggested switching the JVM to hotspot and using jlink/jpackage, I am going to give that a shot

Depending on what you want, there might not be too much point in going native. Also, it is unfortunately true that GUI stuff is not yet well-handled by Graal AOT.

I was drawn to the prospect of having a single EXE and having it run as native code

On graalvm 20 I even got it to compile, but there were issues drawing/loading swing components

Re: .NET 8

#220
post #89

Earlier quoted context omitted.

Oh, I see. I was hoping for something new. I keep on hoping some sort of BEAM-like (from Erlang) process gets added to .NET.

It was tried and the dotnet team decided to drop it: https://github.com/dotnet/runtimelab/issues/2398

investigations continue: https://github.com/dotnet/runtime/issues/94620
Post reply on HN