Live data from Hacker News

Mojo 1.0

modular.com

211–220 of 229 posts

Re: Mojo 1.0

#211
post #115

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

Do you mean the Modular site or the Mojo site? https://mojolang.org/ makes some clear statements.

I was on both. I honestly don't think mojo.lang.org is much clearer - the front page says "GPU kernels + Python + metaprogramming", and the last of those is something Python already has out of the box. The QuickStart doesn't seem to introduce any novel features of the language either.

Re: Mojo 1.0

#212
post #206

Earlier quoted context omitted.

The novelty is in parrelizing LLVM, which is traditionally a single-thread code generator.

So basically LLVM catching up with times.

Well, LLVM itself is still single-threaded; they just designed Mojo's compiler in such a way that the code generation part can be parallelised, which is something you can do if you understand LLVM from top to bottom. As far as I can see, no other production-grade LLVM consumer has been able to make it parallel; the single-threaded nature remains a major performance bottleneck.

Re: Mojo 1.0

#213

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

To be fair, a good bit of the apps/programs/projects posted on hacker news could use a good '1-pager overview'. Like has nobody every explained the 'elevator pitch'. A little marketing doesn't mean you are selling out. Obfuscating your product doesn't make you hip.

Re: Mojo 1.0

#214
post #113

Earlier quoted context omitted.

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…

> 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.

That is a mistake. Being fully compatible with Python was a big selling point. Now they are just another knock off that wont get enough traction to make a dent. Unless this GPU programming thing is so amazing it takes over the industry with one small niche feature, guess that is the hope.

Re: Mojo 1.0

#215

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

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 agen…

> Back when the pitch still was "minimal python superset that allows us to make it go voom". It wasn't a bad pitch

Sorry, but what's the pitch?

Re: Mojo 1.0

#216
post #206

Earlier quoted context omitted.

So basically LLVM catching up with times.

Well, LLVM itself is still single-threaded; they just designed Mojo's compiler in such a way that the code generation part can be parallelised, which is something you can do if you understand LLVM from top to bottom. As far as I can see, no other production-grade LLVM consumer has been able to make it parallel; the single-threaded nature remains a major performance bottleneck.

> Modular found ways to parralize LLVM code generation by introducing novel techniques

> The novelty is in parrelizing LLVM, which is traditionally a single-thread code generator.

You said they parallelized LLVM with novel techniques, but then claimed the novelty is the very act of parallelizing it. That's circular, you still haven't explained what are the novel techniques?

Re: Mojo 1.0

#217

Earlier quoted context omitted.

Well, LLVM itself is still single-threaded; they just designed Mojo's compiler in such a way that the code generation part can be parallelised, which is something you can do if you understand LLVM from top to bottom. As far as I can see, no other production-grade LLVM consumer has been able to make it parallel; the single-threaded nature remains a major performance bottleneck.

> Modular found ways to parralize LLVM code generation by introducing novel techniques > The novelty is in parrelizing LLVM, which is traditionally a single-thread code generator. You said they parallelized LLVM with novel techniques, but then claimed the novelty is the very act of parallelizing it. That's circular, you still haven't explained what are the novel techniques?

Here is a presentation talking about the parallelization techniques, I skipped to the relevant part but the entire presentation is helpful in understanding how Mojo's compiler works: https://youtu.be/yuSBEXkjfEA?t=813&si=MlB7IsBDsj3o-PTX

Re: Mojo 1.0

#218
post #147

Earlier quoted context omitted.

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.

Part of that is because there isn’t yet a package format and a central repository. I have a few libraries I would like to contribute or merge with similar projects.

For sure, those things would go a distance towards making it a more competitive language.

Why haven't they happened yet though...? Nim is not a young language. Leadership [Andreas] doesn't think they are more important than spending time adding another memory management option.

Re: Mojo 1.0

#219
post #71

> 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 point is that you can compile both old and new versions of C++ using the same compiler. Rust and Go also evolve like this

Re: Mojo 1.0

#220
post #87

Earlier quoted context omitted.

> 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.

There’s no obsession. It’s an obvious, ugly slop.

Ugly images in blog posts were common before LLMs came around. People on HN didn't feel compelled to point it out each time.
Post reply on HN