I feel like this language would really benefit from some sort of 1-pager overview.
I just spent a fair bit of time on the official site, and I still don't think I have a very good grasp of what problem this language aims to solve, or why I would select it over other similar languages
Having written a lot of Mojo over the last two year, just for fun, it's a really cool language. Ownership model adjacent to Rust, comptime in the realm of Zig, rich type system, first class SIMD support, etc.
Performance wise it's the first language in long time that isn't just an LLVM wrapper. LLVM is still involved, but they are using it differently than say, Rust or Zig.
Very excited for Mojo once it's open sourced later this year.
> LLVM is still involved, but they are using it differently than say, Rust or Zig.
Chris Lattner said in a Developer Voices podcast interview:
"Swift in a way was syntactic sugar for LLVM, at the very bottom of the stack it could talk directly to LLVM primitives. Mojo does basically that same trick, but it supercharges it by moving to this MLIR world."
I felt the same way, even after browsing around on the website, and somehow I got to https://mojolang.org/docs/manual/quickstart/, which brings you to mojolang.org instead, which is the real website of the language it seems, instead of "Modular" which I guess is the business.
https://mojolang.org is a lot better as a introduction to the language for a programmer, at least for me, compared to whatever I could find on the modular.com website.
It's supposed to be (currently) a fully native, Python-like language, but for GPUs primarily. Though I am seeing it as having a future as a fully native Python alternative that might get interesting.
I hope with 1.0 (havent fully read the article yet) they stop breaking language features / syntax because they did quite a few different changes over time, their overall goal is to be a fully native superset of Python.
I do see this one overtaking Nim over time, which kind of saddens me, because I like Nim for what it is, but Mojo trying to be a superset of Python is a no-brainer for most Python developers. Reminds me of how a lot of Go devs were former Python devs not C++.
I mean, it feels like "Python, but aiming at a completely different vertical that values native compilation and a borrow checker"? Which is not quite the same thing
For once. A former colleague once quipped: The only way to make decent money in the business of language runtimes is to get a job at a big company that depends on it.
> Finally, we will continue to progressively open-source more of the Mojo language, as well as components in MAX that we have built with it. Our commitment remains unchanged – we will open source the Mojo compiler and toolchain in 2026.
A lot of people beg to differ. And it's their decision, not yours on when to open source. They have their reasons even if they aren't explaining them to you.
> Weird to release 1.0 without it. What are they waiting for?
Hmm, I've been under the impression that at one point they said it'd be 100% FOSS by the time 1.0 hits, but maybe I misunderstand/misremember the details. But I remember they'd said it'd be FOSS in connection with 1.0, seems weird to do it this way instead of waiting until it's all FOSS then cut 1.0.
I think they are waiting for a wild success in adoption, and if that doesn't happen they can use the IP to pivot to something else without giving the core away to anyone for free/as open-source.
C and C++ were closed source for quite some time, they still are in places like commercial embedded OSes and console dev kits, even when they happen to be GCC and clang forks nowadays.
Clang actually has replaced most GCC forks exactly because vendors can keep the fork closed source.
Sure but at those times C and C++ had no immediate replacement, and if you were doing embedded C/C++ was your only option.
The same cannot be said for Mojo.
The C compiler source came with the AT&T UNIX tape ... it wasn't open source because FOSS didn't exist at the time and it was under a proprietary license, but it was not "closed source". Parts of MOJO, OTOH, are closed source because the source has not been released (yet ... it apparently will be later this month).
I know right? Would be better to have a banner with the language logo than some totally out of place aislop image, almost makes you think this is a random person's blog and not the official Mojo site
I believe Mojo has been primarily using AI-generated imagery of its mascot for several years now, which politically aligns with its pivot to being a language for AI development.
They’ve had this branding for some years, at least since 2023. I doubt at that time it was fully AI generated, although I have no proof of it. I always looked at it as being heavily AI inspired.
> Lastest OpenCV 5 release notes also had a lot of LLMisms.
Yeah, that really made me triple-check if I visited a fake SEO spam website instead of the official OpenCV one. The fact that their blog looks exactly the same every single low-effort AI content farm doesn't help either.
Isn't Mojo expressly for building AI frameworks? It isn't really needed or special as a language by-itself. It's main purpose is to make it easier to program these high end graphics cards for AI.
Finding some unit of the thing one can actually understand and using it to issue a shallow dismissal is canonically the most Hacker News possible comment. And the rest of the commenters generally love it.
Not to worry though, if there’s nothing webshit accessible in the content there’s surely something wrong with the CSS to complain about!
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/ 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.
> Finally, we will continue to progressively open-source more of the Mojo language, as well as components in MAX that we have built with it. Our commitment remains unchanged – we will open source the Mojo compiler and toolchain in 2026.
Why not now though? Why wait for 4 more months? What magic is there to hide in just making it source available at least.
Ladybird is Open Source and doesn't accept outside contributions any more same with sqlite and many other projects. Lots of Google's oss projects also are not very open to contribution.
At this point I find it deeply troubling that it isn't open source. I respect Chris I know folks who have worked with him and but at the end of the day I feel too weird about this entire closed source programming language thing.
If we complain to Nvidia about there weird closed source limitations, I think Mojo is just as bad. You don't even know what your compiler might be doing, and if it does something wrong you can't fix it, you now have to file a bug and wait until the gods from above come to your rescue.
I have had similar issues with drivers, I have faced soo many driver bugs in my work and the answer is always write more code that works around it somehow, this warp level is bad, this feature doesn't work with these values, etc. etc. Why can't I fix them, I have often on Linux just pinged the Mesa team about driver bugs with a rough draft of a patch and gotten it fixed, I can even patch and run it myself when I am in a hurry.
I feel like atleast making stuff, source available like Unreal should be the baseline for any "core" software where a bug could possibly be a major blocking issue for a developer. Windows and Mac are very bad with this.
Mac's CoreML has had soo many bugs over the last couple years I have had to email someone I know at the company to get them fixed or try to get into contact with someone.
Intel's drivers have had bugs too but I have had more contacts there which is a wash. AMD well it's AMD...
Either way closed software sucks I don't want to use fully closed stuff unless I don't have a choice people can make what they want of it. I don't really care.
My guess is that the compiler will be opened next week at Modcon. Honestly? I'm surprised Mojo 1.0 is being released now; I had thought it would be released at Modcon along with the compiler source code, but oh well, 18th August isn't far now.
Nothing but respect for Chris, and I understand why founders take these deals. But an acquihire usually means the product is the part that gets left behind, and that's the part I cared about.
> They should show some performance comparisions between PyTorch and Mojo, PyTorch+kernel compilation + Triton vs Mojo, ThunderKittens vs Mojo.
The fact that they release 1.0 without doing this, I think says a lot. I personally haven't even started looking into Mojo because of the closed source stuff, but usually you can tell what's going on by looking for what's obviously missing.
They kind of did. It has a separate website now [1] . All the docs, announcements, roadmap, some comparisons as you asked are there. So they do seem to be working towards separation.
Aren’t they already separated? Max is an inference runtime, written in Mojolang, which uses the MLIR compiler chain to target diverse accelerator hardware.
The premise of Mojo used to be that it was a superset of Python so in theory LLMs would benefit from that but I'm not sure how much divergence there's been
Creating a new language in the age of AI seems kind of pointless. I don't write code by hand anymore, I only review it and I prefer it to be in a language which I already know since investing time in learning another language doesn't make sense at this point.
And Mojo will die because nvidia is not interested in maintaining any semblance of backwards compatibility when it comes to CUDA. It's going to be a perpetual race forwards, and whenever nvidia upgrades CUDA, you're going to be stuck there twiddling your thumbs and waiting for Mojo to become compatible.
Additionally, anyone who has seen how Swift evolved should be wary of Lattner saying "the language is mostly stable", or even "the language is released".
It's not true that Nvidia doesn't care about CUDA backwards compatibility. The invention of TileIR was motivated entirely by that problem. GPU architectures are supported by the full tool suites for at least 10 years by CUDA (that's longer than they are for graphics).
Nvidia is also a major contributor to MLIR, which they use for TileIR and ClangIR, so should a compatibility break occur it wouldn't be entirely up to Mojo to fix it.
I feel like this language would really benefit from some sort of 1-pager overview.
I just spent a fair bit of time on the official site, and I still don't think I have a very good grasp of what problem this language aims to solve, or why I would select it over other similar languages
Having written a lot of Mojo over the last two year, just for fun, it's a really cool language. Ownership model adjacent to Rust, comptime in the realm of Zig, rich type system, first class SIMD support, etc. Performance wise it's the first language in long time that isn't just an LLVM wrapper. LLVM is still involved, but they are using it differently than say, Rust or Zig.
Very excited for Mojo once it's open sourced later this year.
> LLVM is still involved, but they are using it differently than say, Rust or Zig.
Chris Lattner said in a Developer Voices podcast interview:
"Swift in a way was syntactic sugar for LLVM, at the very bottom of the stack it could talk directly to LLVM primitives. Mojo does basically that same trick, but it supercharges it by moving to this MLIR world."
> Performance wise it's the first language in long time that isn't just an LLVM wrapper
Why? Because it uses MLIR? Rust has its own MIR, it's even more not-LLVM-wrapper.
Probably because the creator created both LLVM and MLIR.
How are compile times compared to Rust? Zig? Go?
I felt the same way, even after browsing around on the website, and somehow I got to https://mojolang.org/docs/manual/quickstart/, which brings you to mojolang.org instead, which is the real website of the language it seems, instead of "Modular" which I guess is the business.
https://mojolang.org is a lot better as a introduction to the language for a programmer, at least for me, compared to whatever I could find on the modular.com website.
It's supposed to be (currently) a fully native, Python-like language, but for GPUs primarily. Though I am seeing it as having a future as a fully native Python alternative that might get interesting.
I hope with 1.0 (havent fully read the article yet) they stop breaking language features / syntax because they did quite a few different changes over time, their overall goal is to be a fully native superset of Python.
I do see this one overtaking Nim over time, which kind of saddens me, because I like Nim for what it is, but Mojo trying to be a superset of Python is a no-brainer for most Python developers. Reminds me of how a lot of Go devs were former Python devs not C++.
i think the main idea is that by using MLIR[1] instead of the usual LLVM path it can target gpus directly
1. https://mlir.llvm.org/
Python, but good.
I mean, it feels like "Python, but aiming at a completely different vertical that values native compilation and a borrow checker"? Which is not quite the same thing
So, without significant indentation?
I didn't realise people still complained about this in 2026. When has it ever been an issue in use?
Oh nooooo, they fucked it up too. Why would someone make a language that’s whitespace sensitive? It’s confounding.
To weed out programmers who don't indent.
Why would someone make a language where the programmer and the interpreter have two different ways of figuring out where blocks start and end?
at the closing curly?
Programmers look at the indentation.
It's really not that bad
Significant indentation is why people love python. Can 2 billion people be wrong?
yes
Don't see the value of using a language with a closed source compiler...
Much better options out there. Python already has libraries like Pydantic that offload performance to functions written in Rust under the hood.
The point is that Mojo compiles to MLIR for programming on heterogenous compute and GPU so something like Pydantic isn't really comparable here.
The alternatives would be stuff like CUDA
The value has already been materialized. They were acquired by Qualcomm for $3.9 billion.
Wow, so Lattner became a billionaire. Pays to be in compilers.
For once. A former colleague once quipped: The only way to make decent money in the business of language runtimes is to get a job at a big company that depends on it.
> Finally, we will continue to progressively open-source more of the Mojo language, as well as components in MAX that we have built with it. Our commitment remains unchanged – we will open source the Mojo compiler and toolchain in 2026.
It's categorically uninteresting until and unless that happens. Weird to release 1.0 without it. What are they waiting for?
A lot of people beg to differ. And it's their decision, not yours on when to open source. They have their reasons even if they aren't explaining them to you.
> Weird to release 1.0 without it. What are they waiting for?
Hmm, I've been under the impression that at one point they said it'd be 100% FOSS by the time 1.0 hits, but maybe I misunderstand/misremember the details. But I remember they'd said it'd be FOSS in connection with 1.0, seems weird to do it this way instead of waiting until it's all FOSS then cut 1.0.
https://news.ycombinator.com/item?id=48057901#48068126
Make of that what you will.
This exactly. Doesn't scream confidence that its still closed upon release.
Why? The creators have a strong open source background and it's work to properly open source.
People to tune in to the conference, probably.
I think they are waiting for a wild success in adoption, and if that doesn't happen they can use the IP to pivot to something else without giving the core away to anyone for free/as open-source.
C and C++ were closed source for quite some time, they still are in places like commercial embedded OSes and console dev kits, even when they happen to be GCC and clang forks nowadays.
Clang actually has replaced most GCC forks exactly because vendors can keep the fork closed source.
Sure but at those times C and C++ had no immediate replacement, and if you were doing embedded C/C++ was your only option. The same cannot be said for Mojo.
There were competitors. Pascal and assembly, most obviously.
It was just a different culture. There was no expectation that everything should be free.
In that regard yes, personally I think Mojo has lost its opportunity, but not due being commercial.
AMD/NVIDIA/Intel now having first class support for Python DSLs or GPU JITs for their APIs, and Julia as well.
The C compiler source came with the AT&T UNIX tape ... it wasn't open source because FOSS didn't exist at the time and it was under a proprietary license, but it was not "closed source". Parts of MOJO, OTOH, are closed source because the source has not been released (yet ... it apparently will be later this month).
That one yes, the ones sold by all UNIX clone vendors definitely not.
In fact, GCC was largely ignored until Sun decided to split SunOS into two SKUs.
Their website has a banner suggesting news about open sourcing of the compiler at some Aug 18 convention.
AI generated first image does not give me much confidence.
Lastest OpenCV 5 release notes also had a lot of LLMisms.
I guess that's the new normal. Still, I am very hopeful for Mojo.
I know right? Would be better to have a banner with the language logo than some totally out of place aislop image, almost makes you think this is a random person's blog and not the official Mojo site
I believe Mojo has been primarily using AI-generated imagery of its mascot for several years now, which politically aligns with its pivot to being a language for AI development.
I wouldn't say there was a pivot, AI development has explicitly been the goal since launch.
A lot of fancy words to say this is slop.
Oh wow a business pivoted to AI what a shocker lmao (not directed at you/mocking you, to be clear)
I spotted the exact same thing with the AI image. makes the whole thing immediately feel cheap, it's wild
They’ve had this branding for some years, at least since 2023. I doubt at that time it was fully AI generated, although I have no proof of it. I always looked at it as being heavily AI inspired.
> makes the whole thing immediately feel cheap, it's wild
Hard to decide if the blog post is wild, or people's visceral reactions to it.
I've said it before: I believe the obsession in trying to figure out if something is AI generated will soon be classified as a mental disorder.
> Lastest OpenCV 5 release notes also had a lot of LLMisms.
Yeah, that really made me triple-check if I visited a fake SEO spam website instead of the official OpenCV one. The fact that their blog looks exactly the same every single low-effort AI content farm doesn't help either.
"Normal" keeps getting more and more depressing.
Did they think that image would make them look fun or interesting? Because it's exactly the opposite.
Isn't Mojo expressly for building AI frameworks? It isn't really needed or special as a language by-itself. It's main purpose is to make it easier to program these high end graphics cards for AI.
So maybe an AI image isn't the worst.
People who work with AI all the time should be the most finely tuned in to how sloppy it looks and when to use it and when not.
> I guess that's the new normal.
Yes, so basing confidence on it is totally bogus. Such comments are cheap and add nothing to the discussion of Mojo reaching 1.0 status.
Finding some unit of the thing one can actually understand and using it to issue a shallow dismissal is canonically the most Hacker News possible comment. And the rest of the commenters generally love it.
Not to worry though, if there’s nothing webshit accessible in the content there’s surely something wrong with the CSS to complain about!
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/ 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.
They 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.
To be fair, translation plays to the strengths of AI, so there's less benefit to being an exact superset.
> Finally, we will continue to progressively open-source more of the Mojo language, as well as components in MAX that we have built with it. Our commitment remains unchanged – we will open source the Mojo compiler and toolchain in 2026.
Why not now though? Why wait for 4 more months? What magic is there to hide in just making it source available at least.
It's probably very messy and not a great baseline for outside contributors to start create PRs.
That's the favorable interpretation, atleast.
Ladybird is Open Source and doesn't accept outside contributions any more same with sqlite and many other projects. Lots of Google's oss projects also are not very open to contribution.
At this point I find it deeply troubling that it isn't open source. I respect Chris I know folks who have worked with him and but at the end of the day I feel too weird about this entire closed source programming language thing.
If we complain to Nvidia about there weird closed source limitations, I think Mojo is just as bad. You don't even know what your compiler might be doing, and if it does something wrong you can't fix it, you now have to file a bug and wait until the gods from above come to your rescue.
I have had similar issues with drivers, I have faced soo many driver bugs in my work and the answer is always write more code that works around it somehow, this warp level is bad, this feature doesn't work with these values, etc. etc. Why can't I fix them, I have often on Linux just pinged the Mesa team about driver bugs with a rough draft of a patch and gotten it fixed, I can even patch and run it myself when I am in a hurry.
I feel like atleast making stuff, source available like Unreal should be the baseline for any "core" software where a bug could possibly be a major blocking issue for a developer. Windows and Mac are very bad with this.
Mac's CoreML has had soo many bugs over the last couple years I have had to email someone I know at the company to get them fixed or try to get into contact with someone.
Intel's drivers have had bugs too but I have had more contacts there which is a wash. AMD well it's AMD...
Either way closed software sucks I don't want to use fully closed stuff unless I don't have a choice people can make what they want of it. I don't really care.
I care much less about just foss.
They could go the sqlite route for it then, no outside code but let us have a look
My guess is that the compiler will be opened next week at Modcon. Honestly? I'm surprised Mojo 1.0 is being released now; I had thought it would be released at Modcon along with the compiler source code, but oh well, 18th August isn't far now.
So is the language itself proprietary licensed, with standard library Apache 2?
Am I understanding the current state of things correct?
Nothing but respect for Chris, and I understand why founders take these deals. But an acquihire usually means the product is the part that gets left behind, and that's the part I cared about.
Mojo may be interesting to me, but they should really split it from Max, which is some closed stuff I'm not interested in.
They should show some performance comparisions between PyTorch and Mojo, PyTorch+kernel compilation + Triton vs Mojo, ThunderKittens vs Mojo.
> They should show some performance comparisions between PyTorch and Mojo, PyTorch+kernel compilation + Triton vs Mojo, ThunderKittens vs Mojo.
The fact that they release 1.0 without doing this, I think says a lot. I personally haven't even started looking into Mojo because of the closed source stuff, but usually you can tell what's going on by looking for what's obviously missing.
They kind of did. It has a separate website now [1] . All the docs, announcements, roadmap, some comparisons as you asked are there. So they do seem to be working towards separation.
1. https://mojolang.org/
Aren’t they already separated? Max is an inference runtime, written in Mojolang, which uses the MLIR compiler chain to target diverse accelerator hardware.
Apparently they'll be open sourcing it on August 18th, one week from now.
> following the standards of how mature languages (e.g. C++) evolve over time
This gave me a chuckle. When I think of languages evolving their standards, I do think of C++. But not, you know, in a good way.
The main downside is that usually I only choose languages that the LLM is extremely good at. (however I avoid dynamically typed).
But I hope they succeed, it's a very interesting approach. Then I will jump on it later on. S
The premise of Mojo used to be that it was a superset of Python so in theory LLMs would benefit from that but I'm not sure how much divergence there's been
Are there any benchmarks on which languages models perform best?
Interesting. Heard about Mojo a few years now, never really tried it. My Python brain cannot really write C++ or Rust but still need the performance.
You may have heard of it already, but Nim has existed in this space for some time.
Nim could do better with more than just 1 or 2 brilliant developers
Take a look into numba, you add a decorator to your function and it turns it into compiled code.
closed source ngmi
never has their been a language release so uninspiring
Hurray!
Clear, useful, done
the 1.0 release of Mojo, it's a pretty big event, of course first thing I'm greeted with is an AI slop image on the top of the blog post
awesome
like finding a rock of gold underground and tossing it away because it’s dirty?
Creating a new language in the age of AI seems kind of pointless. I don't write code by hand anymore, I only review it and I prefer it to be in a language which I already know since investing time in learning another language doesn't make sense at this point.
Pointless? If compiled mojo is faster, more memory-safe, and more hardware independent, that doesn’t seem pointless at all to me.
(And now in the age of LLMs, the barriers to get started with a new programming language are lower than ever)
Do you know CUDA or Triton? The point of Mojo was to replace GPU kernel programming langs with a Pythonic one that was more familiar
And Mojo will die because nvidia is not interested in maintaining any semblance of backwards compatibility when it comes to CUDA. It's going to be a perpetual race forwards, and whenever nvidia upgrades CUDA, you're going to be stuck there twiddling your thumbs and waiting for Mojo to become compatible.
Additionally, anyone who has seen how Swift evolved should be wary of Lattner saying "the language is mostly stable", or even "the language is released".
It's not true that Nvidia doesn't care about CUDA backwards compatibility. The invention of TileIR was motivated entirely by that problem. GPU architectures are supported by the full tool suites for at least 10 years by CUDA (that's longer than they are for graphics).
Nvidia is also a major contributor to MLIR, which they use for TileIR and ClangIR, so should a compatibility break occur it wouldn't be entirely up to Mojo to fix it.
this language predates the rise of "AI" (you probably mean harnessed LLMs, but I'll forgive you) by several years. This is the 1.0 release.
This is the team behind MLIR, they have been in this field for 10 years or so.
Does it? Mojo was announced 6 months after ChatGPT was released.
Sounds like you're just lazy. Which is fine. You'll probably have a okay career. But not a great one.