Why Mojo#

“Python is a slow scripting programming language.”

I really love Python, it frustrates me when people say it’s slow and tag it as scripting language. It’s not the language itself that’s slow; it’s the way people write their code. If you write code poorly, it will be slow. Mojo will not fix it.

Many smart people claim that Python is slow, not suitable for large-scale applications, not good for system-level programming, and not well-optimized for production use, among other things.

I believed industry experts and switched to Julia, which is undoubtedly excellent for AI, Math, Numerical and Scientific computing. I am still very much in love with Julia Language, it brings me close to metal.

Throughout the book, I won’t get into debates about Python, Rust, Julia, C, Mojo’s speed or whether one language is better than another. Plenty has already been said on this topic, and I’ll leave those discussions to the experts and industry leaders.

My primary motivation for transitioning to Modular | Mojo is simple: it acts as a bridge between research and production, blending Python’s user-friendly syntax with systems programming and meta programming capabilities. Period.

Mojo is a novel systems programming language designed for heterogeneous computing. This implies that Mojo is perfectly equipped to write professional-grade code for heterogeneous systems that utilize various types of processors, including CPUs, GPUs, FPGAs, and NPUs, among others.

I’m an AI Application Research Engineer, and I want to have complete control over my code. I want to handle everything from research and testing to training and getting it onto a device for people to use. I’d like to do all of this without relying on IT hardware engineers or having to learn many different tools, so I can stay organized and sane.