Live data from Hacker News

.NET 10 Preview 6 brings JIT improvements, one-shot tool execution

infoworld.com

81–90 of 231 posts

Re: .NET 10 Preview 6 brings JIT improvements, one-shot tool execution

#81

reminder the .net compiler is IP of microsoft and they state this clearly when you invoke it on any platform other than windows. you are merging your company with microsoft and windows if you use it.

MIT license: https://github.com/dotnet/roslyn

Re: .NET 10 Preview 6 brings JIT improvements, one-shot tool execution

#82

Earlier quoted context omitted.

It's still stuck in weird formats and monoliths. A lot of GUI-only stuff has been ported to the mega CLI, but it's still the weird Visual Studio format plus XML files that you cannot replace with a simple Makefile. You still can't just compile a bit of C# as-is, it must have the Solution, Project, Assembly etc. chain, the run-as-script feature is nice (lots of cheers when that was presented! even on the live stream),…

> it's still the weird Visual Studio format .NET 9 (and VS2022) added support for the SLNX replacement format to replace the old weird solution format: https://devblogs.microsoft.com/visualstudio/new-simpler-solu...

Yep, but you still can't say "compile and link everything in this tree". Technically, the language can, but the framework assumes specific compiler, linker and layouts on the filesystem so at that point you can't. It really wants that editor-related stuff to be part of the framework, and everything else has to bend for it.

Re: .NET 10 Preview 6 brings JIT improvements, one-shot tool execution

#83
post #69

.NET was the most sane programming ecosystem that I worked in. Great CLI, great package manager, very good stdlib, strong IDEs/Debuggers, etc. but sadly interesting jobs like OSes, databases and compilers are way less common than in C++ world :(

> .NET was the most sane programming ecosystem that I worked in. Having written libraries in .Net I fully disagree with that notion. First insanity is figuring out what in the fuck you need to support. .Net framework or .Net standard or .Net Core or Mono (or .Net Duplo or .Net dot nes :P). Second is the Source generators. I swear using t4 templates is the saner option. I've had cached artifacts appearing out of the f…

> First insanity is figuring out what in the fuck you need to support.

Since I no longer support .NET Framework, it's just .NET now.

.NET was two platforms for a while and they did a lot of weird stuff to make that work (.NET standard) but it's been one platform for many versions now so that specific difficulty can mostly be ignored.

Re: .NET 10 Preview 6 brings JIT improvements, one-shot tool execution

#84
post #32

My favorite .NET 10 feature so far is not within the .NET library itself, but `dotnet tool exec` to run C# files as scripts without a build step. This has been available in F# for a long time via `dotnet fsi`, and for C# also via the third party cs-script tool. It took a surprisingly long time to officially reach the primary .NET language! I only really wish C# would’ve been directly integrated as an alternative scri…

"dotnet tool exec" is not that feature; you're thinking of https://devblogs.microsoft.com/dotnet/announcing-dotnet-run-... which they added to "dotnet run". "dotnet run my-cool-thing.cs"

"dotnet tool exec" is so you can run third party command line tools like csharpier that previously required "dotnet tool install" before you could use them. For example, in https://csharpier.com/docs/Installation you can now simply do "dotnet tool exec csharpier". This is like "npx" in the JavaScript world.

Re: .NET 10 Preview 6 brings JIT improvements, one-shot tool execution

#85

Earlier quoted context omitted.

> it's still the weird Visual Studio format .NET 9 (and VS2022) added support for the SLNX replacement format to replace the old weird solution format: https://devblogs.microsoft.com/visualstudio/new-simpler-solu...

Yep, but you still can't say "compile and link everything in this tree". Technically, the language can, but the framework assumes specific compiler, linker and layouts on the filesystem so at that point you can't. It really wants that editor-related stuff to be part of the framework, and everything else has to bend for it.

A Project file today can just be a full tree glob. New projects start out in that form. The `dotnet` CLI is still going to assume some default output paths as it builds object files and executable assets, but those are all easily flag configurable today. (I've done some wild CI things.)

You don't have to use a Solution at all with the CLI, you can do everything in a single Project and one full tree glob. (Technically you haven't need a Solution with Visual Studio for a long while either, if you don't mind it sometimes auto-creating them at compile time, and even then you can just .gitignore .sln and not care. But even that random auto-.sln file thing has disappeared in recent years and Visual Studio has learned more auto-workspace tricks from VS Code.)

I have started projects that just did that, started with a simple glob-only project and no prescribed file layout.

Yeah, dotnet doesn't let you micro-manage the linker specifically, but few languages since C++ do and arguably the C/C++ linker sometimes seems as much a bug of C/C++ as a feature in modern times.

Re: .NET 10 Preview 6 brings JIT improvements, one-shot tool execution

#86

All I want is for dotnet watch to behave in a predictable way. In .NET 9, even when using —no-hot-reload, sometimes CSS changes to components are not picked up on Blazor components. It’s so aggravating because ASP.NET with server side Blazor components really has it all: type safety, server-side components ala Astro, fantastic ORM model, great runtime perf. But this little issue makes dev quite tedious at present: di…

Are you using Visual Studio or another tool (vscode, vim, rider)? I found hot reload works a lot better in Visual Studio than any other IDE

Rider, but I'm on Mac, so I can't use the real VS. I run dotnet watch from a terminal separately.

Re: .NET 10 Preview 6 brings JIT improvements, one-shot tool execution

#87
post #14

.NET was the most sane programming ecosystem that I worked in. Great CLI, great package manager, very good stdlib, strong IDEs/Debuggers, etc. but sadly interesting jobs like OSes, databases and compilers are way less common than in C++ world :(

On my little enterprise bubble, the only place remaining for C and C++ is writing native libraries to be consumed by managed languages, or bindings. The last time I wrote pure C++ applications at work, was in 2005. Libraries still regularly.

For the last few years, I’ve been developing CAM/CAE software on my job, sometimes embedded Linux.

Same experience: last time I developed software written entirely in C++ was in 2008. Nowadays, only using C++ for DLLs consumed by C#, for 2 reasons: manually vectorized SIMD for CPU bound numerical stuff, and consuming C or C++ libraries like GPU APIs, MS Media Foundation, or Eigen.

Re: .NET 10 Preview 6 brings JIT improvements, one-shot tool execution

#88
post #9

Earlier quoted context omitted.

Say more?

Why does his statement not require more substance? Why do I have to provide it? The burden is the other way around. Blazor's architectural model makes it impossible to be "performant." It's not even debatable. What you gain in DevEx you lose substantially in user experience.

I'm speaking of static server-side components, thus no JS or WASM. Wouldn't touch any other Blazor mode for a public facing app.

Re: .NET 10 Preview 6 brings JIT improvements, one-shot tool execution

#89
post #69

.NET was the most sane programming ecosystem that I worked in. Great CLI, great package manager, very good stdlib, strong IDEs/Debuggers, etc. but sadly interesting jobs like OSes, databases and compilers are way less common than in C++ world :(

> .NET was the most sane programming ecosystem that I worked in. Having written libraries in .Net I fully disagree with that notion. First insanity is figuring out what in the fuck you need to support. .Net framework or .Net standard or .Net Core or Mono (or .Net Duplo or .Net dot nes :P). Second is the Source generators. I swear using t4 templates is the saner option. I've had cached artifacts appearing out of the f…

Most C# libraries I use are outdated, crappy and do just a little less than what I need. Also, most Rust libraries I try to use are outdated, crappy and do just a little less than what I need. Maybe what I need is niche but my experience is pretty similar in that regard.

Re: .NET 10 Preview 6 brings JIT improvements, one-shot tool execution

#90

Earlier quoted context omitted.

The version numbers used to increase much more slowly. Since the .NET (modernized / cross platform) core "track" the version number increments every year.

The version increments roughly every 6 months. It's almost the exact same update cadence as NodeJS: LTS versions are even numbers released in the Fall and STS versions are odd numbers released in the Spring. STS often focuses on "bleeding edge features" and LTS often on performance and stability. (Though both are year round projects and there are bleeding edge features in an LTS and perf/stability fixes in an STS.)

https://learn.microsoft.com/en-us/lifecycle/products/microso...

The last 5 version have been released a year apart, in Novembers.

Post reply on HN