Compiling C# like Rust, Go and C++

preview_player
Показать описание
NativeAOT support for .NET 8 is here!
Рекомендации по теме
Комментарии
Автор

It's really nice how programming is going back to its roots: native compilation instead of virtual machines

scotty
Автор

I love that first all languages were nativly compiled, than interpreted ones come in and when compilation technology evolved enough, here we are back with native runtime everywere.

Lord
Автор

It's more alike to Go than it is to C++/Rust, considering Rust/C++ have effectively no runtime (well, semantics, it depends what you consider a "runtime" but that's another debate...) while AoT-compiled C# / Go have a heftier runtime with a garbage collector.

Kazyek
Автор

Am I right to assume this means anything involving Reflection won't work?
Will the compiler warn you of things that wont work if you try this

Daysra
Автор

What did you use for producing the graphs at the end?

Kadariuk
Автор

I already used this tag long before in a .NET 7 project I've written for Linux. Does that mean it wasn't native before and now it is?

ticehgo
Автор

What is the trade off? This seems too good

AndreFera
Автор

This is also great for mitigating JIT-spraying.

trollerjakthetrollinggod-e
Автор

What platforms can this target? I'd like to target linux arm.

warny
Автор

does this have any general execution speed advantages?

domportera
Автор

Libraries using the config libs cry hard about AOT. I'm not having luck. Maybe my issues are trim related and not AOT generally?

th_CAV_Trooper
Автор

can't decompile == New customersss..

testgandmmm
Автор

Lower memory and faster startup is great but I wonder if there is a performance hit during normal operations due to lack of JIT optimizations.

roinois
Автор

HMM, sounds too good to be true... Is there any downsides about this feature? Maybe some compatibility issues?

anafro_ru
Автор

Interpreted ones are the reasons how i learned conding

vikyathRao-xq
Автор

I'm really interested how this will compare to Unity's IL2CPP transpiler

Markus_included
Автор

Why it took so long to support this is a mystery for me. I never viewed JIT as an advantage. Thank goodness for other languages that do this, finally motivating Microsoft to follow suit.

HikingUtah
Автор

I don't think it's comparable to C++ and Rust or any other low-level programming languages. Rust use LLVM, and C++ either GCC or LLVM and C# native AOT doesn't uses any of them. It's kind of like hybrid compilation where everything is packed together as native application. I'm not a C# programmer, however I'm not sure how runtime features will behave on this, so unless I see the internals, it's hard to know what's going on there.

sofiaknyazeva
Автор

Is there already a good NativeAOT compatible decompiler like DotPeek (also compatible with NGEN and R2R)?

onionware
Автор

you could decompile it with something like ghidra

lemna