I would add quick note to this as title is misleading
* It was partially open-sourced before this. There were a lot of cool things they open sourced before like MAX for large scale LLM serving which was outperforming VLLM, Dynamo, etc on a lot of models. (super valuable GPU kernels). This is why Qualcomm acquire them imo.
* Chris (also created swift) talked in the past the reason for not fully open-sourcing was more because he wanted to get all the core design decisions right. He said this was a big thing Swift got wrong as it scaled too quickly being fully open source at the beginning.
Mojo is an awesome language, I've used it a lot as a Swift/Python lover. A couple things though
* If you want to understand Mojo spend 10x the time in MLIR before. It's just a fancy MLIR wrapper (good thing)
* They still haven't lived up to the python "superset" promise and that's the big thing preventing bigger adoption.
When people talk about a language being open source they primarily mean the compiler. A closed compiler surrounded by a collection of open source things is an anti-pattern and trap to be avoided if you're interested in open tools, that's why open sourcing the Mojo compiler was so important to many people.
> Chris (also created swift) talked in the past the reason for not fully open-sourcing was more because he wanted to get all the core design decisions right.
I'm glad that it's open source now and they are supporting a lot more hardware. There are some interesting features that I hope the language design community pays attention to.
It's built on top of MLIR so you can make compiler optimizations in a library instead of the compiler. I believe Reactant.jl has been using MLIR for optimizing higher level abstractions in Julia. Imagine a Lisp with that capability.
IMO saying julia is literally a lisp is just not worth the type of discussion it generates. I'd much prefer to say the important part: Julia learned a ton of very important lessons from the lisp family of languages, and has integrated a lot of them.
Does this project have any meaningful traction? Seemed like a cool idea, but I wasn't even sure what problem does it solves. Looks like its completely missing from the regular discussion / news outlets. Every 1-2 years some barely visible post/article reminds me it even exists...
I think the compiler not being open-source hurt with getting people to check it out. Today, people are accustomed to most of it regarding PL development being out in the open, and Mojo was an outlier here.
> But I wasn't even sure what problem does it solves. Looks like its completely missing from the regular discussion / news outlets. Every 1-2 years some barely visible post/article reminds me it even exists...
At this point "developers" these days sound a lot more like consumers than those who actually do research on a tool that solves a problem. Ocaml is barely mentioned in the news and rarely HNers here use that language, but it is Jane Street that maintains and uses it.
Judging by hype isn't a great way of evaluating a language. I am not going to check the entire Nvidia stack, from CUDA, to CUTLASS to cuDNN and even on PyTorch's side just to solve a runtime error that could have originated from either place when Mojo solves all of that.
> At this point "developers" these days sound a lot more like consumers than those who actually do research on a tool that solves a problem.
No need for snarky comments. These days tools/frameworks/languages/libraries/etc are popping all the time. Do you expect people to research every simple signal they catch in the wild?
I had been holding off on testing out mojo till it was open sourced, and started picking it up this week.
So far I've been enjoying the language (pythonic, comptime, tile support) and plan to spend time using it to work with gpus to learn more, the puzzles are also pretty cool.
Maybe I'm a party pooper, but given Qualcomm history, open sourcing just after acquisition feels like they don't care about it and they're going to let it die while they cut Modular in pieces and extract all the juice possible of their cloud offering.
This is nice, but the long time it took them to open source I think burnt a lot of the initial traction. I do like the idea & I'll see whether I can make use of it
I remember being really interested a few years ago when it was billed as a superset of Python. I know they pivoted away from that, but I might play with it now that the compiler is also open source.
I'm pretty excited about mojo and look forward to it continuing into the phase of supporting systems programming. I have been using rust a lot lately for things I had used python for (that were not computation). I really like rust for static typing and functional programming patterns... but not for numerics. Hopefully mojo can become a serious staticly typed alternative to python.
When mojo 1.0 was announced, I looked into porting my current rust project (a very opinionated type-driven DICOM library/anonymizer that has a spec implemented in haskell) and it wasn't ready for that sort of work yet vs continuing with rust. Which is fine! The numerics side looks great. I'm glad they have reached 1.0 and open sourced.
If anybody wants to give a talk on this at the 2027 Carolina Code Conference, our call for speakers will be open from January to March. Love featuring languages like this.
Qualcomm is changing a lot. They are learning and adopting open source. I’ve seen this in other Silicon vendors, they used to deal only with big corps and would talk to you only if you promised to buy millions of parts. Now they are all moving to a model where they want an open ecosystem , attract developers, promote open source. It’s changing , it’s not going to be perfect, there will be false steps but the direction is good and we all benefit from this change.
As someone else said they are way ahead of NVIDIA in open source adoption so you should keep an eye on Qualcomm
Exciting. For hobby projects, I was looking into what should be my programming language. Open source was a criteria. Now I have choice between Rust and Mojo.
I'm waiting for Phase 2[1]: especially "Algebraic data types & pattern matching". Current tagged union[2] use is pretty awkward/verbose and lacks exhaustiveness checking and typed error handling.
I would add quick note to this as title is misleading
* It was partially open-sourced before this. There were a lot of cool things they open sourced before like MAX for large scale LLM serving which was outperforming VLLM, Dynamo, etc on a lot of models. (super valuable GPU kernels). This is why Qualcomm acquire them imo.
* Chris (also created swift) talked in the past the reason for not fully open-sourcing was more because he wanted to get all the core design decisions right. He said this was a big thing Swift got wrong as it scaled too quickly being fully open source at the beginning.
Mojo is an awesome language, I've used it a lot as a Swift/Python lover. A couple things though
* If you want to understand Mojo spend 10x the time in MLIR before. It's just a fancy MLIR wrapper (good thing)
* They still haven't lived up to the python "superset" promise and that's the big thing preventing bigger adoption.
* https://www.spheron.network/blog/modular-max-mojo-gpu-cloud-...
When people talk about a language being open source they primarily mean the compiler. A closed compiler surrounded by a collection of open source things is an anti-pattern and trap to be avoided if you're interested in open tools, that's why open sourcing the Mojo compiler was so important to many people.
> Chris (also created swift) talked in the past the reason for not fully open-sourcing was more because he wanted to get all the core design decisions right.
This I don't buy so much, as there seem to be a lot of core design decisions still up in the air: https://mojolang.org/docs/roadmap/
I'm glad that it's open source now and they are supporting a lot more hardware. There are some interesting features that I hope the language design community pays attention to.
It's built on top of MLIR so you can make compiler optimizations in a library instead of the compiler. I believe Reactant.jl has been using MLIR for optimizing higher level abstractions in Julia. Imagine a Lisp with that capability.
Julia is a Lisp, just like Dylan or Lisp 2.
Many Lisps have that capability.
IMO saying julia is literally a lisp is just not worth the type of discussion it generates. I'd much prefer to say the important part: Julia learned a ton of very important lessons from the lisp family of languages, and has integrated a lot of them.
Julia is extremely lispy in its semantics and design, it's mostly separated by syntax.
Indeed Reactant looks like a young, fantastic piece of technology.
Does this project have any meaningful traction? Seemed like a cool idea, but I wasn't even sure what problem does it solves. Looks like its completely missing from the regular discussion / news outlets. Every 1-2 years some barely visible post/article reminds me it even exists...
I think the compiler not being open-source hurt with getting people to check it out. Today, people are accustomed to most of it regarding PL development being out in the open, and Mojo was an outlier here.
You can read a lot more about it here: https://mojolang.org/docs/vision/
> But I wasn't even sure what problem does it solves. Looks like its completely missing from the regular discussion / news outlets. Every 1-2 years some barely visible post/article reminds me it even exists...
At this point "developers" these days sound a lot more like consumers than those who actually do research on a tool that solves a problem. Ocaml is barely mentioned in the news and rarely HNers here use that language, but it is Jane Street that maintains and uses it.
Judging by hype isn't a great way of evaluating a language. I am not going to check the entire Nvidia stack, from CUDA, to CUTLASS to cuDNN and even on PyTorch's side just to solve a runtime error that could have originated from either place when Mojo solves all of that.
> At this point "developers" these days sound a lot more like consumers than those who actually do research on a tool that solves a problem.
No need for snarky comments. These days tools/frameworks/languages/libraries/etc are popping all the time. Do you expect people to research every simple signal they catch in the wild?
Summarized here: https://www.phoronix.com/news/Modular-Mojo-Open-Source
This is by Chris Lattner, known for LLVM and Swift.
Also Swift for Tensorflow, lets not ignore that effort as well.
I had been holding off on testing out mojo till it was open sourced, and started picking it up this week.
So far I've been enjoying the language (pythonic, comptime, tile support) and plan to spend time using it to work with gpus to learn more, the puzzles are also pretty cool.
This is how I imagined you seeing Qualcomm :D
https://youtu.be/eFbtGDGbdFU?si=VJ0XSiuNO9Z36DtD&t=30
I think this submission should be merged with this much older one since they link to the same post: https://news.ycombinator.com/item?id=49348079
Maybe I'm a party pooper, but given Qualcomm history, open sourcing just after acquisition feels like they don't care about it and they're going to let it die while they cut Modular in pieces and extract all the juice possible of their cloud offering.
Open sourcing was on Mojo's roadmap long before Qualcomm was in the picture.
close source language is a dumb concept anyway
This is nice, but the long time it took them to open source I think burnt a lot of the initial traction. I do like the idea & I'll see whether I can make use of it
The actual blog post on open-sourcing: https://www.modular.com/blog/mojo-open-source
I remember being really interested a few years ago when it was billed as a superset of Python. I know they pivoted away from that, but I might play with it now that the compiler is also open source.
I am much more interested in it now that it is not a subset of Python. That felt like something which would hold it back and seems like they agreed.
Finally! I have been waiting for this for years. Mojo has great potential. I would use it for everything if it was for me
I'm pretty excited about mojo and look forward to it continuing into the phase of supporting systems programming. I have been using rust a lot lately for things I had used python for (that were not computation). I really like rust for static typing and functional programming patterns... but not for numerics. Hopefully mojo can become a serious staticly typed alternative to python.
When mojo 1.0 was announced, I looked into porting my current rust project (a very opinionated type-driven DICOM library/anonymizer that has a spec implemented in haskell) and it wasn't ready for that sort of work yet vs continuing with rust. Which is fine! The numerics side looks great. I'm glad they have reached 1.0 and open sourced.
If anybody wants to give a talk on this at the 2027 Carolina Code Conference, our call for speakers will be open from January to March. Love featuring languages like this.
I guess they want to go after CUDA for their GPU lines. Now give us the hardware.
They made a big mistake by not open sourcing before, doubt they'll ever gain traction now.
Their goal was to get bought. Now it doesn’t matter whether they get traction, they already made a billion dollars.
Really happy to see this. Kudos to Qualcomm for releasing it under a liberal Apache 2.0 license.
Strategically speaking, I think this only makes sense as an anti-NVIDIA play.
Qualcomm is a notoriously closed source company.
Don't reward them with your support just because they are forced to open source something.
Qualcomm is changing a lot. They are learning and adopting open source. I’ve seen this in other Silicon vendors, they used to deal only with big corps and would talk to you only if you promised to buy millions of parts. Now they are all moving to a model where they want an open ecosystem , attract developers, promote open source. It’s changing , it’s not going to be perfect, there will be false steps but the direction is good and we all benefit from this change. As someone else said they are way ahead of NVIDIA in open source adoption so you should keep an eye on Qualcomm
Notoriously is a stretch if almost all of Linux ARM commits these days come from them
They are no better than Nvidia.
I do not see your point.
NVIDIA is way worse and QCOM are improving
I agree. Saying "Qualcomm is a notoriously closed source company." isn't really a point in the semiconductor space. They all are.
At least with Mojo that is open sourced and Nvidia's nvcc is still closed.
Did you mean “worse”?
Exciting. For hobby projects, I was looking into what should be my programming language. Open source was a criteria. Now I have choice between Rust and Mojo.
What sort of projects are you looking at doing?
[dupe] Discussion on blog post: https://news.ycombinator.com/item?id=49348079
I'm waiting for Phase 2[1]: especially "Algebraic data types & pattern matching". Current tagged union[2] use is pretty awkward/verbose and lacks exhaustiveness checking and typed error handling.
[1] https://mojolang.org/docs/roadmap/#phase-2
[2] https://mojolang.org/docs/std/utils/variant/Variant/