@hikari

1. Shaders.

2. C#/Java are JIT languages. Several important platforms which game developers want to target do not allow for the use of JIT, so Unity has a C# to C++ compiler. One might even argue IL2CPP is Unity's most significant "value add" over something like monogame.

3. They appear to have badly messed up at least one thing beyond the speed issues which would be expected from (1) and (2) alone.

@hikari Neither (1) nor (2) are to be undererstimated, however. Shader compilation is a multidimensionally complex problem. And although yes, "no/minimal build times!" was originally a selling point of C#/Java, it turns out that when you *design* a language around the assumption that it is not compiled ahead of time, then realize you need to compile it ahead of time anyway, *the language you designed will probably turn out to be VERY DIFFICULT to compile*.

Follow

@mcc @hikari But Java and C# are both compiled ahead of time into bytecode for their virtual machines. That bytecode is then JITed at execution, as opposed to something like JavaScript or Python which aren't compiled AOT and if JITed then directly from the source code. I don't have much experience with C#, but Java was never fast to compile :P

Sign in to participate in the conversation
Librem Social

Librem Social is an opt-in public network. Messages are shared under Creative Commons BY-SA 4.0 license terms. Policy.

Stay safe. Please abide by our code of conduct.

(Source code)

image/svg+xml Librem Chat image/svg+xml