Here is my 2 cents.
I cannot think of a single instance where I’d pick Julia over Python (or derivative, obviously) for a real-world task.
Highly accurate and performant satellite simulators. Unless you want to write everything in C++ and make an interface with Python…
Julia is allowing me to develop the C++ code for a satellite attitude control subsystem using one single simulator for all the project phases that can hardly be reproduced in any other environment.
Can Mojo fix everything? Nobody knows until we have access to an open-source version.
Are there any tools that will warn me about using rho when I mean p, or such typographical obstacles? I do suppose it would be impossible to measure how much time it saves vs how much time it has wasted with such frivolities, but it seems like an obviously bad tradeoff to me, giving up the possibility of chasing down single-character lookalike bugs just to get pretty formulas in the code. I’m not opposed to Unicode characters in source code, but it can just be relegated to comments and not identifiers.
Everything here is circumstantial. It is much more related to the IDE than to the language itself. At the end of the day, just do not use UTF-8. From my point of view, I am glad Julia supports UTF-8.
If not, then it’s just like I said already, I think 8m+ python->mojo hackers will completely gobble up the entire Julia project in a few years’ time.
Your understanding of how a language/ecosystem is selected to solve a problem seems narrow. From this perspective, MATLAB should not even exist, given that Python reached the current state and it is open-source.
For example, if Mojo solves everything you mentioned, I would still use Julia because Python does not have an ecosystem to solve differential equations with the features in DifferentialEquations.jl. I tried, DifferentialEquations.jl just happens to be the best tool available for my needs. I can live with a language without Traits and some “correctness” problems when you try to extend it, but it would be tough to adapt everything to use another differential equation solver.