&gt; It works with C too, which is impressive, but it does it by treating C as a scripting language and then aggressively optimising it until it&#x27;s back to being as fast as what GCC would do. But for instance, you need the source code at runtime, like a script.<p>I think Graal can do AOT compilation (and optimization). The quality of the resulting code depends on the information it has at the time of compilation. So for C, as Graal has the same information as gcc, there is no reason it should produce any less optimal code than gcc, even when working AOT. The reasons for the current differences (so I&#x27;ve heard from the Graal team), is simply that they have not put in all the effort they can, but they have little doubt that Graal can match gcc when working AOT, and exceed it if run JIT.<p>I think that the decision of whether to treat a language &quot;like a script&quot; (i.e. rely on JIT compilation) or not is up to the language implementation. Graal supports both.<p>&gt; You can&#x27;t compile C to a bytecode file in a JAR like with traditional Java.<p>No (although you could in theory), but you can compile C (or Java) to a native binary with Graal. AOT compilation of Java to binary is how SubstrateVM works.<p>&gt; Go for the JVM would make a nice little commercial project for a startup somewhere.<p>Sadly, there&#x27;s very little money to be made in developing a programming language, especially if the language is not specialized for safety-critical and&#x2F;or realtime applications.