by chrislattner
5 subcomments
- Thank you for all the great interest in the podcast and in Mojo. If you're interested in learning more, Mojo has a FAQ that covers many topics (including "why not make Julia better" :-) here:
https://docs.modular.com/mojo/faq/
Mojo also has a bunch of documentation https://docs.modular.com/mojo/ as well as hundreds of thousands of lines of open source code you can check out:
https://github.com/modular/modular
The Mojo community is really great, please consider joining, either our discourse forum: https://forum.modular.com/ or discord https://discord.com/invite/modular chat.
-Chris Lattner
by MontyCarloHall
8 subcomments
- The reason why Python dominates is that modern ML applications don't exist in a vacuum. They aren't the standalone C/FORTRAN/MATLAB scripts of yore that load in some simple, homogeneous data, crunch some numbers, and spit out a single result. Rather, they are complex applications with functionality extending far beyond the number crunching, which requires a robust preexisting software ecosystem.
For example, a modern ML application might need an ETL pipeline to load and harmonize data of various types (text, images, video, etc., all in different formats) from various sources (local filesystem, cloud storage, HTTP, etc.) The actual computation then must leverage many different high-level functionalities, e.g. signal/image processing, optimization, statistics, etc. All of this computation might be too big for one machine, and so the application must dispatch jobs to a compute cluster or cloud. Finally, the end results might require sophisticated visualization and organization, with a GUI and database.
There is no single language with a rich enough ecosystem that can provide literally all of the aforementioned functionality besides Python. Python's numerical computing libraries (NumPy/PyTorch/JAX etc.) all call out to C/C++/FORTRAN under the hood and are thus extremely high-performance, and for functionality they don't implement, Python's C/C++ FFIs (e.g. Python.h, NumPy C integration, PyTorch/Boost C++ integration) are not perfect, but are good enough that implementing the performance-critical portions of code in C/C++ is much easier compared to re-implementing entire ecosystems of packages in another language like Julia.
- Listening to this episode, I was quite surprised to hear that even now in Sept 2025, support for classes at all is considered a medium-term goal. The "superset of Python" angle was thrown around a lot in earlier discussions of Mojo 1-2 years ago, but at this rate of progress seems a bit of a pie-in-the-sky aspiration?
- Yeah, except Mojo’s license is a non-starter.
by tree_enjoyer
4 subcomments
- I know it's a bit of trope to say this on HN... but why not Lisp?
If I make the assumption that future ML code will be written by ML algorithms (or at least 'transpiled' from natural language), and Lisp S-Expressions are basically the AST, it would make sense that it would be the most natural language for a machine to write in. As a side benefit, it's already the standard to have a very feature complete REPL, so as a replacement for Python it seems it would fit well
- Chris Lattner also has a very good episode on Lex Fridman (Episode 381, June 2nd, 2023):
- https://www.youtube.com/watch?v=pdJQ8iVTwj8
- https://open.spotify.com/episode/6flH0XxwdIbayoXTHOgAfI
- https://podcasts.apple.com/us/podcast/381-chris-lattner-futu...
He has two other episodes on the show:
- https://www.youtube.com/watch?v=nWTvXbQHwWs (Episode 131, October 18th, 2020)
- https://www.youtube.com/watch?v=yCd3CzGSte8 (Episode 21, May 13th, 2019)
- Anyone knows what Mojo is doing that Julia cannot do? I appreciate that Julia is currently limited by its ecosystem (although it does interface nicely with Python), but I don't see how Mojo is any better then.
- Weird that there has been no significant adoption of Mojo. It has been quite some time since it got released and everyone is still using PyTorch. Maybe the license issue is a much bigger deal than people realize.
by seabrookmx
2 subcomments
- The mojo faq talks about the language as if it's a strict superset (or aiming to be) of Python. Or that mojo "is" Python.
Yet the roadmap says:
> As Mojo matures through phase 3, we believe Mojo will become increasingly compatible with Python code and deeply familiar to Python users, except more efficient, powerful, coherent, and safe. Mojo may or may not evolve into a full superset of Python, and it's okay if it doesn't.
This is incredibly confusing. If it's _not_ aiming for Python compatibility, why are we talking about Python at all?
Also, is anyone actually considering using an emoji as a file extension?
by whimsicalism
1 subcomments
- I find the attempt behind Mojo bold, but unfortunately a proprietary language a la matlab is a non-starter for me and I assume many other people.
by threeducks
3 subcomments
- When I was young, I enjoyed messing around with new languages, but as time went on, I realized that there is really very little to be gained through new languages that can not be obtained through a new library, without the massive downside of throwing away most of the ecosystem due to incompatibility. Also, CuPy, Triton and Numba already exist right now and are somewhat mature, at least compared to Mojo.
by seanmcdirmid
0 subcomment
- This headline must really irk someone like Robert Harper. Unfortunate acronym collision, but ML (programming language) at least could be disambiguated that way.
by JonChesterfield
2 subcomments
- ML seems to be doing just fine with python and cuda.
by postflopclarity
4 subcomments
- Julia could be a great language for ML. It needs more mindshare and developer attention though
- ML *is* a programming language.
by gradientsrneat
0 subcomment
- It's a shame we can't repurpose open graphics standards like Vulkan and SpirV for general purpose GPU computing. Meanwhile OpenCL was a standard for that purpose, but vendors perferred their walled gardens.
by lordofgibbons
2 subcomments
- I'm the primary target audiance for Mojo and was very interested in it, but I just wish they didn't keep Exceptions. This backwards compatibility with Python syntax is extremely overrated and not worth the cost of bringing language warts from the 90s.
God, I hate exceptions so much. I have never seen anyone use exceptions correctly in either Java (at FAANG) or in any regular Python application.
I'm much more in favor of explicit error handling like in Go, or the syntax sugar Rust provides.
by CyberDildonics
0 subcomment
- I don't think ML does need a new programming language. You give up an extreme amount of progress in tools and libraries when you move to a new language.
I haven't seen new languages that market themselves for specific features that couldn't be done just as easily through straight classes with operator overloading.
- Mojo looks like the perfect balance between readability (python-like syntax) and efficiency (rust-like performance).
by monkeyelite
1 subcomments
- If there is one thing Chris is good at, it’s promoting himself and his work.
- It's not clear about multithreading on CPU. Without it it's hard to use modern it efficiently. Something like TBB library in C++ would be nice.
by theanonymousone
0 subcomment
- https://xkcd.com/927/
Sorry, couldn't resist.
- I think Mojo's cool and there's definitely a place for a modern applications programming language with C++ class(ish) performance, aka what Swift wanted to be but got trapped in the Apple ecosystem (designed by the same person as Mojo).
The strong AI focus seems to be a sign of the times, and not actually something that makes sense imo.
- How comes no one has mentioned the weird file extension
- side note: we need a new syntax, to separate human comments from machine/compiler/llm/type comments
by icanthulahoop
0 subcomment
- stopped after the first line. isn't Vikram Adve also the creator of LLVM? I prefer terms like co-creator, co-invented, etc.
- ML is a programming language.
by blizdiddy
2 subcomments
- Mojo is the enshitification of programming. Learning a language is too much cognitive investment for VC rugpulls. You make the entire compiler and runtime GPL or you pound sand, that has been the bar for decades. If the new cohort of programmers can’t hold the line, we’ll all suffer.
- We have C++ :)
by defraudbah
0 subcomment
- clankers are getting out of hand
by curtisszmania
0 subcomment
- [dead]
by mitch_said
0 subcomment
- [dead]