7 ms·
Mojo 1.0
- melodyogonna 2mo agoHurray!
- alberth 2mo agoSo is the language itself proprietary licensed, with standard library Apache 2? Am I understanding the current state of things correct?
- mono442 2mo agoCreating 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.
- tfrancisl 2mo agothis 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.
- catoc 2mo agoPointless? 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 2mo agoEventually we will all be writing COBOL and how English turns into machine code is irrelevant.
- nylonstrung 2mo agoDo 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 2mo agoAnd 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 2mo agoIt'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.
- mathisfun123 2mo agoNone of these things are true except the ClangIR thing
- jhatemyjob 2mo agoSounds like you're just lazy. Which is fine. You'll probably have a okay career. But not a great one.
- redlewel 2mo agoDon'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 2mo 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 2mo agoIt's categorically uninteresting until and unless that happens. Weird to release 1.0 without it. What are they waiting for?
- ktm5j 2mo agoA 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.
- fluidcruft 2mo agoPeople to tune in to the conference, probably.
- embedding-shape 2mo ago> 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.
- e4m2 2mo ago
- charlieyu1 2mo agoInteresting. 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 2mo agoYou may have heard of it already, but Nim has existed in this space for some time.
- raytopia 2mo agoTake a look into numba, you add a decorator to your function and it turns it into compiled code.
- maleldil 2mo agoIt'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.
- beanjuiceII 2mo agonever has their been a language release so uninspiring
- perarneng 2mo agoThe 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
- oceansky 2mo agoAre there any benchmarks on which languages models perform best?
- nylonstrung 2mo agoThe 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 2mo agoWouldn'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 2mo agoAre you aware of this? https://github.com/modular/skills https://github.com/modular/skills
- xiphias2 2mo agoMojo 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 2mo 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.
- pbronez 2mo agoAren’t they already separated? Max is an inference runtime, written in Mojolang, which uses the MLIR compiler chain to target diverse accelerator hardware.
- geodel 2mo agoThey 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/ https://mojolang.org/
- xiphias2 2mo agoThanks, 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.
- adityazero 2mo ago[dead]
- oceansky 2mo agoAI 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.
- bourbonproof 2mo agoI spotted the exact same thing with the AI image. makes the whole thing immediately feel cheap, it's wild
- winding 2mo agoThey’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 2mo 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.
- wiseowise 2mo agoThere’s no obsession. It’s an obvious, ugly slop.
- BeetleB 2mo agoUgly images in blog posts were common before LLMs came around. People on HN didn't feel compelled to point it out each time.
- boesboes 2mo agonah, i just have no interest in this endless slop. It's so fucking obvious, so cheap, and soooo disrespectful imo I think AI use will soon be classified as a health risk worse then smoking, drug and gambling.
- minraws 2mo 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 2mo agoIt's probably very messy and not a great baseline for outside contributors to start create PRs. That's the favorable interpretation, atleast.
- akshitgaur2005 2mo agoThey could go the sqlite route for it then, no outside code but let us have a look
- minraws 2mo agoLadybird 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.
- swiftcoder 2mo agoI 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
- giancarlostoro 2mo agoIt'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 2mo 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 2mo agoHonestly that doesn't really feel like a glowing endorsement of the language. "They announced a crazy goal, then rolled it back because they grossly underestimated how hard it was" doesn't give me confidence in either the long-term design or the people making it, and I feel like "a Python-like language" is both a lot less interesting and a lot more subjective. If the discussions in this thread around significant whitespace aren't already an indication, which parts of Python people think are good and which aren't will vary by person, so without saying more it's hard to tell whether it's a a language someone will love or hate. To preempt all of the inevitable responses: yes, I'm aware that this was started by the same guy who started LLVM and Swift. That doesn't automatically mean anything he comes up with will be great, especially when it's specifically trying to be "like" a language that doesn't really have much on common with either of those; there are plenty of instances of very smart people having an overabundance of confidence when jumping into something they assume they'll excel at and getting humbled. I'd also argue both Swift and LLVM have some common criticisms that very much are in line with the same concern I've expressed here (i.e. long term design suffering due to expanded or pivoted scope; even the name LLVM alludes to some of that history of having a somewhat different goal originally). His name is enough that I'll probably always click to take a first look at anything he comes up with, but I'm not going to ignore things that seem like issues because of that either. Smart people don't need to held to a lower standard because their work should be able to speak for itself.
- hnfwd5lqmp 2mo agoClear, useful, done
- jax_bro 2mo agoclosed source ngmi
- r_lee 2mo agothe 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 2mo agolike finding a rock of gold underground and tossing it away because it’s dirty?
- tyre 2mo 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.
- melodyogonna 2mo agoThe point is that you can compile both old and new versions of C++ using the same compiler. Rust and Go also evolve like this
- pjmlp 2mo agoYou may compile, linking binary libraries compiled with different versions is a different matter, especially if there are relevant changes between versions on either the standard library, or other dependencies.
- cuzezzzbbfofai 2mo agoApparently they'll be open sourcing it on August 18th, one week from now.
- derbOac 2mo agoIs 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 2mo 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- 2mo agoTo be fair, translation plays to the strengths of AI, so there's less benefit to being an exact superset.
- pansa2 2mo 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 2mo 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.
- twsted 2mo agoNothing 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.
- willseth 2mo ago$3.9 billion is not an acquihire!
- blltprfmnk 2mo agoWell, 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.
- ltbarcly3 2mo ago"We arbitrarily decided we are at 1.0 now, this is a major milestone."
- whimsicalism 2mo agoSorry Chris, love you but will not use a closed language.
- gabrielsroka 2mo agoThey're open sourcing it next week. It's in TFA
- ModernMech 2mo agoTFA 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.
- gabrielsroka 2mo ago[6 days later] https://www.modular.com/blog/mojo-open-source https://www.modular.com/blog/mojo-open-source
- bobajeff 2mo agoI 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).
- adsharma 2mo agoGiven 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.
- SP3269 2mo agoFrom 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.
- Certhas 2mo agoThe 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.
- jakobnissen 2mo agoCompletely 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.
- ElectronCharge 2mo agoMojo and Julia have some very fundamental differences though... Mojo is a fully ahead-of-time (AOT) compiled systems language. Julia is much more dynamic, and its AOT compilation story is still quite weak. Mojo also has explicit memory management, unlike Julia and its real time unfriendly garbage collector. Mojo also has the concept of ownership, similar to Rust, while Julia does not. Mojo is being pitched as an efficient, general purpose, Pythonic systems language which can target a variety of hardware types. That seems like a good target to me, I hope it's successful! One thing to keep an eye on is whether or not a Windows port emerges after it's open sourced...
- joddystreet 2mo agoa 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.
- mojo-10 2mo ago[flagged]
- ElectronCharge 2mo ago(A) Mojo is intended to be a more ergonomic Rust, with Pythonic syntax, and much faster compilation. (B) Mojo supports multiple GPU types, including AMD, Apple, and whatever may come along. That's one of its major selling points over CUDA. It's also targeted at other novel hardware accelerators etc.
- AbuAssar 2mo agofirst impression based on the hero image is that this is a new model for image or video generation!
- jdnier 2mo agoSee their in-depth vision doc here: https://mojolang.org/nightly/docs/vision/ https://mojolang.org/nightly/docs/vision/
- ubercore 2mo agoThis 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? EDIT: I guess this kind of answers my curiosity: https://programming-journal.org/2023/7/2/ https://programming-journal.org/2023/7/2/
- Etheryte 2mo agoCompare the same algorithm/program in Python and C and that's roughly your answer, no?
- actionfromafar 2mo agoPython to C++ compiler: https://shedskin.github.io/ https://shedskin.github.io/
- tomburgs 2mo agoWhat in the world would posses the modular team to attach those horrendous AI generated thumbnails to each blog post? It makes it feel cheap, even though I know the project has some really serious technical expertise behind it.
- melodyogonna 2mo agoThey're an AI company
- tomburgs 2mo agoAI infrastructure. Regardless, I don't see OpenAI or Anthropic attaching AI generated images to their blog posts.
- ryukoposting 2mo agoSsssh, don't tell them. "AI slop image below the headline" is an unmistakable mark of low-quality content written by a sophomoric AI evangelist. Let them keep watermarking their own content.
- MetroWind 2mo ago> uv pip install --upgrade mojo What's wrong with people?
- vovavili 2mo agoA bit odd to have a 1.0 release without Windows support.