Mojo 1.0 (modular.com)
390 points by dayanruben 18 hours ago
swiftcoder 15 hours ago
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
jillesvangurp 5 hours ago
Their communication definitely needs work. I listened to the interview with Chris on the Lex Friedman podcast a few years ago. Back when the pitch still was "minimal python superset that allows us to make it go voom". It wasn't a bad pitch. But it's gotten a lot murkier since then apparently. And obviously pitching a new language just before world plus dog was about to switch to delegating programming work to AI agents wasn't great timing.
> "Qualcomm to Acquire Modular"
That's linked from their news section. If I read between the lines here what happened is the VC money ran out and they arranged some kind of acquihire. That obviously raises a lot of questions about what will happen to Mojo and the intentions around it. The merger was completed a few weeks ago so apparently this is a done deal. Them wrapping a ribbon around the 1.0 a few weeks later is a bit suggestive.
The modular front page reads like it was trying to pitch the whole thing as a competitor to other inference platforms like open router, replicate, bedrock, etc.
I'm sure there's more to it and that the tech was amazing. But the acquisition raises a lot of questions about the future of the whole thing. An OSS move at least would allow people to continue working on Mojo independently from Qualcomm. I assume some people in the team might be moving on post acquisition.
Certhas 3 hours ago
The Python tie in was always a sales pitch. The technical pitch was "a language built around MLIR taking all the lessons learned by Rust and Swift on board, with an eye towards Python interop". There were MLIR intrinsics and extensive discussions of the ownership model from the start, but never even an attempt to have classes.
And the main use of the language (and justification for the VC money) was always the engine built with it, which I have absolutely no opinion on.
Honestly, the promise of the language is immense. Ownership semantics that have much better ergonomics and are much more teachable than Rusts, and eventually a relatively smooth teaching path from Python to Mojo would make Mojo a default first modern low level language for many people coming in. Whether this will be relevant in the LLM world we live in now, where you can just take your Python prototype and have it be rewritten in Rust, who knows...
pjmlp 3 hours ago
embedding-shape 15 hours ago
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.
totalperspectiv 15 hours ago
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.
cpeterso 15 hours ago
> 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."
afdbcreid 14 hours ago
> 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.
giancarlostoro 14 hours ago
skavi 12 hours ago
nu11ptr 14 hours ago
How are compile times compared to Rust? Zig? Go?
melodyogonna 10 hours ago
sakesun 7 hours ago
Whoever behind the company communication have done an incredibly terrible job. They start with an extremely unnecessary polished Steve-Jobs-alike debut video when they have zero stuff to offer, while the founder name is already immensely trustworthy. Then follow with a very ugly AI-image-heavy website and blog posts, only to be reverted back to plain website later.
I'd love the language and platform be succesful, nevertheless.
giancarlostoro 15 hours ago
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++.
pansa2 12 hours ago
> their overall goal is to be a fully native superset of Python
Not any more. That was the initial announcement, but I think then somebody actually looked at Python and realised what a complex language it is - so they refocused on being a Python-like language. Python has a reputation for being a simple language, but in reality it isn’t at all.
saghm 8 hours ago
SJMG 7 hours ago
Language-feature-wise it seems like Nim will be competitive. Ecosystem-wise… yeah it's kind of a nonstarter over in Nim land. There are not many go-to libraries and its culture is not very collaborative. People seem more enamored at what they can hack together than what they can contribute to.
winding 6 hours ago
timmyd 11 hours ago
You'd likely enjoy: https://mojolang.org/nightly/docs/vision/ for why we created it, and there's https://mojolang.org/nightly/docs/faq/ as well :)
Feedback welcome as always and thanks for checking it out! Encourage you to watch ModCon next week for some exciting announcements :)
blackhaz 2 hours ago
This page really helped me to put it into perspective against Python:
https://www.modular.com/blog/an-easy-introduction-to-mojo-fo...
samuell 2 hours ago
For me as a follower, my interest is all about a compiled and fast language with little complexity (vs Rust), and a highly readable and fluent syntax (vs Go).
erdinc 3 hours ago
I think they wrote an internal memo and by mistake they share with the public. I read because one person I know works there, now I don't know what my friend does there either. Sounds like another VC eating company.
adsharma 6 hours ago
https://github.com/py2many/static-python-skill
You can stick to python and generate mojo or rust or lean.
There is more than one solution to the two language problem.
efficax 14 hours ago
i think the main idea is that by using MLIR[1] instead of the usual LLVM path it can target gpus directly
jibal 11 hours ago
Do you mean the Modular site or the Mojo site? https://mojolang.org/ makes some clear statements.
manojlds 15 hours ago
Python, but good.
swiftcoder 15 hours ago
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
steve1977 15 hours ago
So, without significant indentation?
dimator 11 hours ago
usef- 13 hours ago
tyre 14 hours ago
Fraterkes 14 hours ago
ubercore 17 minutes ago
This probably has a simple answer, and is something I can easily google. But it's always been in the back of my mind, what optimizations would be possible if you took actual python code and forced 100% type annotation. Could you meaningfully speed that up at the interpreter or with some pre-processing or compilation?
Etheryte 14 minutes ago
Compare the same algorithm/program in Python and C and that's roughly your answer, no?
redlewel 16 hours ago
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.
my123 16 hours ago
> 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.
mort96 16 hours ago
It's categorically uninteresting until and unless that happens. Weird to release 1.0 without it. What are they waiting for?
embedding-shape 15 hours ago
burntcaramel 7 hours ago
fluidcruft 16 hours ago
redlewel 15 hours ago
bourbonproof 15 hours ago
ktm5j 13 hours ago
ekianjo 5 hours ago
nylonstrung 15 hours ago
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
woadwarrior01 15 hours ago
The value has already been materialized. They were acquired by Qualcomm for $3.9 billion.
sgt 14 hours ago
Wow, so Lattner became a billionaire. Pays to be in compilers.
woadwarrior01 13 hours ago
mohamedkoubaa 12 hours ago
The value has been speculated on. It doesn't mean the value has materialized.
pansa2 11 hours ago
That’s insane, for a language that seems to be Temu-Python.
OTOH Python itself is the world’s most popular programming language, yet has only recently had the money to support more than a single full-time developer.
saghm 8 hours ago
jmalicki 10 hours ago
pjmlp 15 hours ago
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.
redlewel 15 hours ago
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.
mike_hearn 15 hours ago
pjmlp 15 hours ago
jibal 15 hours ago
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).
pjmlp 13 hours ago
ashu1461 10 hours ago
Pydantic is mainly about making Python strongly typed.
Mojo addresses the actual need to write code in other languages, such as C++ or CUDA, for low level and hardware specific work.
But I wonder if it has already missed the AI hype cycle, when a lot of low level code is being written. I'm not sure how the developer ecosystem will react now.
fluidcruft 16 hours ago
Their website has a banner suggesting news about open sourcing of the compiler at some Aug 18 convention.
zer0zzz 7 hours ago
They are going to open source it eventually
oceansky 15 hours ago
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.
boesboes 26 minutes ago
Yeah, I just assumed that it was some sort of image generation crap >_< It's funny how this affects me tbh, I think it has almost the same effect as if there would be a boner-pills ad there or something. Or a 'subscribe to read' popups.
It's all just spam, filler content and I did not ask for that.
redlewel 15 hours ago
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
fwip 15 hours ago
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.
ainch 15 hours ago
sph 14 hours ago
Forgeties79 15 hours ago
bourbonproof 15 hours ago
I spotted the exact same thing with the AI image. makes the whole thing immediately feel cheap, it's wild
winding 15 hours ago
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.
BeetleB 13 hours ago
> 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.
boesboes 24 minutes ago
wiseowise 3 hours ago
pnt12 3 hours ago
A lot of software engineers don't have a good feel for this kind of aesthetics or social outcomes. They're playing with their new toy (which is very exciting, let's not ignore that), they're happy it does stuff, but ignore that it can be perceived as ugly and cheap by others. As well as totally bland - every other cheap company is using it too.
galonk 15 hours ago
"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.
flexagoon 14 hours ago
> 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.
FrustratedMonky 15 hours ago
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.
andy99 15 hours ago
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.
jibal 15 hours ago
> 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.
phoghed 13 hours ago
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!
derbOac 14 hours 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/ 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.
pansa2 11 hours 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.
spprashant 14 hours ago
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.
usef- 13 hours ago
To be fair, translation plays to the strengths of AI, so there's less benefit to being an exact superset.
minraws 15 hours ago
> 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.
rirze 15 hours ago
It's probably very messy and not a great baseline for outside contributors to start create PRs.
That's the favorable interpretation, atleast.
minraws 14 hours ago
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.
akshitgaur2005 15 hours ago
They could go the sqlite route for it then, no outside code but let us have a look
melodyogonna 13 hours ago
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.
jibal 12 hours ago
Who said anything about 4 months? Your "logic" seems to be that they are releasing it in 2026 and there are 4 more months in 2026 so they will be releasing it in 4 months. That's obviously flawed thinking. They will probably be releasing it coincident with their August 18 conference.
TylerE 8 hours ago
So why not either delay the 1.0 release by a week or move the open sourcing up by a week? This "strategy" makes absolutely no sense.
jibal 7 hours ago
SP3269 5 hours ago
From Mojo Wikipedia article: ``` The intention behind Mojo is to bridge the gap between Python’s ease of use and the fast performance required for cutting-edge AI applications. ```
Basically, same raison d'etre as that of Julia.
jakobnissen 36 minutes ago
Completely true, but Mojo approaches the problem from a different angle. Where Julia aims to blend fast and slow code seamlessly, Mojo's solution is to have a set of opt-in semantics that ensure fast code.
Certhas 2 hours ago
The design and intellectual heritage of Julia and Mojo couldn't be more different though. Mojo is a Swift/Rust style language from industry veterans, Julia is a Lisp built to make academics write faster code.
twsted 14 hours ago
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.
blltprfmnk 7 hours ago
Well, there was $300M+ in VC money and after burning through some percentage of it those investors wanted an exit. I don’t think this is so much about founders taking a deal as it is investors demanding that exit.
willseth 12 hours ago
$3.9 billion is not an acquihire!
alberth 17 hours ago
So is the language itself proprietary licensed, with standard library Apache 2?
Am I understanding the current state of things correct?
jdnier 3 hours ago
See their in-depth vision doc here:
adsharma 6 hours ago
Given the shared heritage with MLIR, one way to think about mojo: higher level IR, but still an IR. Rpython for GPUs.
But mojo is a superset, not a subset. So why not use a subset, infer what you need and generate mojo?
I've never seen this question actually presented to the company and discussed in more detail.
cuzezzzbbfofai 14 hours ago
Apparently they'll be open sourcing it on August 18th, one week from now.
xiphias2 16 hours ago
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.
embedding-shape 15 hours ago
> 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.
geodel 14 hours ago
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.
xiphias2 3 hours ago
Thanks, it's so boring and disappointing.
LLVM has such a cool tutorial, eventhough I haven't written a programming language myself, it was excitung to go through it to see how static programming languages are lowered to SSA form.
Mojo should have something showing how to write a super fast matmul and especially what's interesting for me is a fast linear attention kernel, as that's where PyTorch is getting much harder to use.
pbronez 15 hours ago
Aren’t they already separated? Max is an inference runtime, written in Mojolang, which uses the MLIR compiler chain to target diverse accelerator hardware.
AbuAssar 4 hours ago
first impression based on the hero image is that this is a new model for image or video generation!
joddystreet 4 hours ago
a systems language that reads like python is great!
python superset would have been perfect.
I do hope the language thrives and gets a community.
All the best to the modular team.
beanjuiceII 16 hours ago
never has their been a language release so uninspiring
whimsicalism 12 hours ago
Sorry Chris, love you but will not use a closed language.
gabrielsroka 6 hours ago
They're open sourcing it next week. It's in TFA
ModernMech 6 hours ago
TFA says "we will open source the Mojo compiler and toolchain in 2026" and "we’ll share more on our plans for Mojo, MAX, and open source at ModCon on August 18th" which makes it seem they're not open sourcing it next week, but some time between next week and 1/1/27.
perarneng 16 hours ago
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
nylonstrung 15 hours ago
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
refactor_master 7 hours ago
Wouldn't that cause an awful lot of confusion in practice? Instead of having one being a superset of the other, you now have two almost identical syntaxes, but probably not quite.
LLMs have enough problems distinguishing between major versions between packages, e.g. where all the imports were moved around and renamed.
384028345 10 hours ago
Are you aware of this?
oceansky 15 hours ago
Are there any benchmarks on which languages models perform best?
charlieyu1 16 hours ago
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.
seanw444 16 hours ago
You may have heard of it already, but Nim has existed in this space for some time.
mathverse 15 hours ago
Nim could do better with more than just 1 or 2 brilliant developers
SJMG 7 hours ago
Julia as well.
raytopia 14 hours ago
Take a look into numba, you add a decorator to your function and it turns it into compiled code.
maleldil 9 hours ago
It's JIT only, and it needs to be in a particular shape to be effectively compiled. It's mostly for numeric code, but there are many other cases where native code would be better.
tyre 14 hours ago
> 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.
bobajeff 11 hours ago
I wish Modular/Qualcomm good luck with this. We would be well served with a good alternative to Cuda. I will be looking at Modcon to see how serious they are with Mojo's ecosystem. (Hopefully it won't be yet another SYCL).
r_lee 15 hours ago
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
netdur 14 hours ago
like finding a rock of gold underground and tossing it away because it’s dirty?
melodyogonna 17 hours ago
Hurray!
hnfwd5lqmp 15 hours ago
Clear, useful, done
ltbarcly3 12 hours ago
"We arbitrarily decided we are at 1.0 now, this is a major milestone."
jax_bro 15 hours ago
closed source ngmi
mono442 17 hours ago
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.
catoc 15 hours ago
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)
pjmlp 2 hours ago
Eventually we will all be writing COBOL and how English turns into machine code is irrelevant.
nylonstrung 15 hours ago
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
well_ackshually 15 hours ago
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".
Conscat 14 hours ago
tfrancisl 16 hours ago
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.
winding 15 hours ago
This is the team behind MLIR, they have been in this field for 10 years or so.
ainch 15 hours ago
Does it? Mojo was announced 6 months after ChatGPT was released.
jhatemyjob 15 hours ago
Sounds like you're just lazy. Which is fine. You'll probably have a okay career. But not a great one.
mojo-10 4 hours ago
(A) MOJO should have used rust.
(B) MOJO should should have used Nvidia.