Lil'Nish
MModular
•Created by Lil'Nish on 11/16/2024 in #questions
Vale Status
Full disclosure, this is a little off topic and is only tangentially related to Mojo.
There was a nascent language I was following a little while ago called Vale, trying to revolutionize memory management using generational references. It's GitHub hadn't had a commit in a while, so I figured it was a dead project and forgot about it. As fate would have it, Evan Ovadia (the speaker at the most recent Mojo community meeting), turns out to be the creator of Vale. Is anyone aware of whether he's still working on Vale or if he's since decided to go all in on Mojo?
5 replies
MModular
•Created by Lil'Nish on 11/15/2024 in #questions
Clarification on the Meaning of Python Superset
This question references this commit: https://github.com/modularml/mojo/commit/cb307d0f57bb07b37528e8f6e2c859a1e07db941
It remove all references to Mojo being a "superset of python" and changed the language to sate that Mojo is "the best way to extent python".
Has Modular officially conifrmed that Mojo will not be a superset of Python?
5 replies
MModular
•Created by Lil'Nish on 10/22/2024 in #questions
Could Mojo be the first all purpose language?
All languages have their own strengths and weaknesses, which is why we have so many — to cover all our bases. I'm wondering if Mojo could realistically become an "all-purpose" language — not as the default for every use case, but as a strong contender in every domain.
In my mind, there are 3 core requirements for a language to be truly all-purpose:
Speed — to ensure performance-critical cases don't default to C/C++/Rust.
Safety — to prevent Rust from being the go-to in security-sensitive environments.
Ease of use — to compete with Python or Go in scenarios like scripting or teaching.
Ecosystem and tooling matter, but these tend to grow with adoption, whereas the above three characteristics are more fundamental to the language itself.
No current language truly nails all three — Rust is close with 2/3, but its complexity holds it back from the ease-of-use aspect. Its arguably not even possible to achieve all three at the same time: memory management alone requires making a decision between speed (manual management / borrow checker) and ease of use (GC / ARC).
However, Mojo's dual approach (Python mode for ease and saftey and Rust-like features like fn and the borrow checker for speed and safety) seems to come closest to striking this balance.
Could Mojo actually evolve into an all-purpose language? Or would the inevitable trade-offs (potential complexity or C++ like feature bloat) make that impractical? Is it even desirable to have an all-purpose language in the first place?
I'd love to hear everyone's thoughts!
15 replies