JIT issues relevant to realtime applications

The core engine code is written in C++ so Julia is being looked at as a scripting language solution for designers primarily. For an end user (designer, artist, etc), Rust is no upgrade from C++. Something dynamic that you don’t have to explicitly compile and is loosely typed is much better.
GC is a problem but for designer-centric scripting, it’s hard to get around. As mentioned before, lowering the expertise required is important. Some scripting environments do a good enough job, like in Unreal’s blueprints. Some are not - in Unity, c# devs often have to create their own pools of objects to draw from and manage in real-time. Julia’s approach seems good enough from my preliminary findings.
There are other options for game scripting such as Lua, but the performance tradeoff can be immense. Python is sometimes used but the GC is horrendous in it and in general, it’s pretty slow. Hashlink is decent, a bit less beginner friendly than other options, a bit less performant than others.
All in all, if the PackageCompiler solves the loading issue, I’d rather use Julia because it’s super fast, dynamic, decent GC, and loosely typed – unless I’m missing something here.

8 Likes