First time I’m reading about Mojo. Seems like it’s even more niche than Julia…
Mojo’s starting point is absurdly complex. Seems very obviously doomed to me.
Julia is a very clever design, but it still never felt that pleasant to use. I think it was held back by using llvm as a JIT, and by the single-minded focus on data science. Programming languages need to be more opportunistic than that to succeed, imo.
Mojo is surfing on the AI hype, so only time will tell whether it lives to fulfill the expectation.
They are both doomed because neither is transformative enough to justify adoption. They are going to need to solve much harder problems to do that.
Take Rust as an example. It solved a problem that most people weren’t even paying attention to, because the accepted wisdom said it was impossible.
Haven’t tried Mojo yet but I have tried Julia and it kinda sucked balls. Sorry Julia fans, but it did. My main complaints:
- It’s a research language like MATLAB, so the emphasis is on repl’s, trying things out etc. But the compilation model is like C++. When you import a package it spends like 2 minutes compiling it. I think it’s supposed to cache it but the second time it was still like 10 seconds for me just to import a package. I believe they’ve improved this since I used it but still, huge red flag.
- 1-based indexing. Come on guys. Anyone using this is smart enough to learn 0-based indexing. It’s like putting a steering wheel in a jet fighter because you worry about pilots getting confused by a joystick. Again, red flag.
- The plotting libraries (a core feature for this sort of language) kind of sucks. In fairness nothing comes close to MATLAB on this front. I ended up paying for MATLAB because of that.
There’s also this article which has more reasons.
I am leaving it a while longer before I try Mojo.
Your arguments and article are interesting, but…
1-based indexing. Come on guys. Anyone using this is smart enough to learn 0-based indexing.
Julia is high-level language. 1 is the one thing, 0 is nothing.
steering wheel in a jet fighter
The steering wheel is 0-based indexing.
High or low level doesn’t matter. Mathematically it just makes more sense to use 0-based indexing https://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.html
I know what I am writing, 0 stands for nothing.
yes it means nothing. as in, you take the array, and move the reading position by nothing
You could phrase it like that for low-level lang, but it is so extra…
More reason to like Julia
I know Julia. I used Julia. I moved away from Julia.
I’m on Nushell now for scripts, or C# for utils.
Mojo? Mojo games?
Julia better bc parallel computing is easy to write in Julia, metaprogramming is also easy in Julia.
Julia mid diff Mojo
Julia no diff Python
Discuss.