Dynamic libraries come to mind.
You have to recompile for every architecture and OS, and no security features.
Re:Extensible WASM Applications with Go
by neonsunset on Friday February 14, 2025 @04:39PM
(#43053349)
.NET does support embedding:
- As full runtime i.e. hostfxr https://learn.microsoft.com/en-us/dotnet/core/tutorials/netc... (supplementary: https://github.com/StudioCherno/Coral)
- As a dynamic library via DNNE with full runtime: https://github.com/AaronRobinsonMSFT/DNNE
- As either dynamic (easy) or static (hard) native library: https://github.com/dotnet/samples/tree/main/core/nativeaot/N...
There are a few community projects which build on top of these to provide a more seamless integration with other languages.
Re:Extensible WASM Applications with Go
by apitman on Saturday February 15, 2025 @09:13AM
(#43058629)
That's actually really cool, thanks for sharing. Does seem pretty low level and niche though.
Re:Extensible WASM Applications with Go
by neonsunset on Saturday February 15, 2025 @11:53AM
(#43059981)
It is very popular in gamedev space whenever using C# as a high-performance scripting language.
You are right to say this is low-level though, but low-level scenarios are not as niche for .NET platform as they are for other languages in this category.
You can embed JVM with JNI_CreateJavaVM(): https://docs.oracle.com/javase/7/docs/technotes/guides/jni/s...
It is used used by projects like Postgres PL/Java, LibreOffice and various native Java launchers/wrappers
Things like JVM and .NET are great, but not designed to be embedded other languages.