18 ms·
Is Mojo being a superset of Python still part of its projected feature set? I tried Mojo a bit early on and decided to come back to it when it was more complet
by derbOac 1mo ago
Is Mojo being a superset of Python still part of its projected feature set?
I tried Mojo a bit early on and decided to come back to it when it was more complete, and in the interim I read some comments somewhere that the superset-of-Python part was being walked back from.
On https://mojolang.org/docs/roadmap/ https://mojolang.org/docs/roadmap/ it's stated (Phase 3) that "Mojo may or may not evolve into a full superset of Python, and it's okay if it doesn't."
I feel like that "full superset of Python" part was part of the appeal of Mojo.
Personally I'm kind of tired of 97% python-compatible this-and-that. Python itself has enough of a history of incompatibility and the cognitive overhead in switching might be easier with just moving to a totally different language. But maybe not — it depends on the details I guess.
Honestly reading through the documentation more and more I'm more and more confused about what the 1.0 release actually means.
- spprashant 1mo agoThey moved the goalposts. I think the landscape has changed since their initial Python superset pitch. It seems like a deliberate pivot towards creating an AI-era language which make GPU programming as easy as writing Python.
- usef- 1mo agoTo be fair, translation plays to the strengths of AI, so there's less benefit to being an exact superset.
- pansa2 1mo ago> I feel like that "full superset of Python" part was part of the appeal of Mojo. It absolutely was, but IMO was never going to happen. Python has a reputation as a simple language, but it really isn’t. It’s a very complex language hiding behind friendly syntax. I think once the Mojo team realised that, they had to adjust their expectations.
- pjmlp 1mo agoI know Python since version 1.6, the reputation I guess is mostly because a large majority doesn't read the well written documentation, and mostly use beginner level constructs. Python is C++ level complexity, when one fully understands the runtime, its dynamic capabilities, the C API, the standard library, the OOP model reboot on 2.0 with new style classes, all breaking changes that happen between releases, and naturally one doesn't know before hand what are the exact requirements to execute any random Python script.