Ruby is not generally recognized for cutting-edge compiler technology. Historically, it has relied on an interpreter-based execution model, with later performance improvements introduced through JIT compilation techniques.
My comparison shows that Xojo is much closer to C++ and Swift than is commonly believed, because it shares the same LLVM infrastructure for optimization and native code generation.
But Languages are not the same as the compiler that they use. You have to consider everything that makes up the language including the frameworks. For C++ and Swift, you have to specifically import the things that you need. Xojo just includes everything whether you need it or not. That’s why a console hello world app in c++ can be measured in KB and one from Xojo is measured in MB.
I’m not saying that Xojo isn’t a good language or that it doesn’t build good apps, but when you consider that there’s a lot of underlying things in Xojo that could not exist without being C or C++, things like the glue that connects Xojo to each of the OS Frameworks, you must concede that you cannot do an apples to apples comparison.
It’s difficult to make a direct comparison. In fact, I usually prefer to compare languages from an OOP perspective, since I like to encapsulate everything I write.
However, examining the compiler often reveals how powerful a language really is. It’s something hidden from view—something most people never notice. That’s why people tend to do everything in Python, simply because they like it.
Going a step further, JavaScript is extremely popular due to web development. It’s similar to how Excel’s popularity has grown to the point where many people eventually start developing applications in VBA.
The trend illustrates how people often choose languages based on familiarity or preference rather than suitability.
However, the ability to compile is key. As you aptly summarize in this phrase: “Xojo just includes everything whether you need it or not.”