Since I dabble in Python as much as I dabble in Julia, I’ll comment on that bit. First, it’s contradictory to say garbage collection is an achilles heel for Julia but then laud Python, where it is tougher to reduce heap allocations/GC pressure. Second, it is misleading to name FastAPI and Numba in the same breath with no context. FastAPI is a fast web framework because it is asynchronous (look up ASGI for more history); it is not a Python accelerator like Numba, Cython, or PyPy (NumPy and CuPy deserve honorable mentions for fast array code). Third, there is another contradiction between the opinion that Julia’s LLVM-based just-ahead-of-time-compilation is an “epic fail” and the opinion that Python benefits from the LLVM-based just-ahead-of-time-compiled Numba. I refer to the recent comments I made on how Python impedes Numba from being as good as Julia. To put it politely, a redditor assessed many things when they had yet to understand them.
Whether Julia (and Rust btw, they’re both 0.52% on the TIOBE index) ever escapes “niche” status and becomes competitive with the “giants” Python and C++, I don’t know. I think compilation-saving has to improve, and my most realistic guess is better interoperability with Python could gradually convert the Python user base. But that’s probably a biased take, I believe the dynamic nature would appeal to Pythonistas, but it’s possible that unlike me, many would not sacrifice unoptimizably dynamic language features like runtime modification of classes and truly malleable nested functions.