I am really enjoying the language, the level of improvement over the last few months has been amazing. At work all our heterogeneous compute needs are implemented using C++/CUDA. I've been exploring new languages for the type of work we do on and off over the last few years: Julia, Rust, D, Chapel, and Mojo. It seems the only new languages serious about native heterogeneous compute are: Julia, Chapel, and Mojo. Of th…
Most likely because HPC isn't cool for TikTok videos, by language influencers. As CERN alumni, and language nerd, I find Chapel quite cool.
Mojo: Ownership and lifetime checks deep dive with Chris Lattner [video]
31–37 of 37 posts
Re: Mojo: Ownership and lifetime checks deep dive with Chris Lattner [video]
#32Earlier quoted context omitted.
So they can optimize code. The main theme is addressing two-language problem (single high & low level language). They want uniform language for cpu/gpu/whatever-pu. They can't have garbage collection. They need strict dataflow analysis with precise destruction points.
Do you see my point that they are trying to do everything?
Re: Mojo: Ownership and lifetime checks deep dive with Chris Lattner [video]
#33Earlier quoted context omitted.
> something like the expressiveness of Python combined with the speed and safety of Rust. Isn't that problem already solved? We already have Nim[0] that is memory-safe language with Python-esque syntax and performance of C. Yeah, it's not an extension of Python as Mojo claims to be; but I'd pick a mature language with proven design for my projects over something that's not even out yet. [0]- http://nim-lang.org
Nim is not memory safe and doesn't technically claim to be. What they claim is to provide memory safe features, but then so does C++ and a lot of other languages.
Re: Mojo: Ownership and lifetime checks deep dive with Chris Lattner [video]
#34Earlier quoted context omitted.
Most likely because HPC isn't cool for TikTok videos, by language influencers. As CERN alumni, and language nerd, I find Chapel quite cool.
eech. i don’t want to use a language made by people who take advice from, let alone watch, tiktok influencers.
Re: Mojo: Ownership and lifetime checks deep dive with Chris Lattner [video]
#35Earlier quoted context omitted.
> If you want a language that gives you nice, performant code on your first attempt, Julia is always a decent option. If Julia hasn't taken off yet (which I am very sad about), I'm not sure why Mojo would. I'd rather have more resources invested into Julia.
Julia has to bootstrap an ecosystem. If mojo can borrow all of the successful Python libraries, that is worth a lot. Still an enormous uphill battle, but slightly more tractable. Regardless, it is a rough place to be - for a staggering number of uses, Python is fast enough. The organizations who absolutely require top tier performance already have the ability to use FFI. Instagram runs on Django and I believe is stil…
Mojo has a good chance to target Python programmers who would have gone for Go or Java for better performance, and C++ programmers who need something like Rust, but simpler.
Re: Mojo: Ownership and lifetime checks deep dive with Chris Lattner [video]
#36Earlier quoted context omitted.
As someone who has been playing around with (and enjoying) Mojo, I have my doubts about how useful Mojo will end up being for your average scientist. You can't get performant code out of Mojo if you're not willing to learn some deeper programming concepts like SIMD or tiling. I don't have the exact quote on hand, but in the Mojo Discord, Chris Latner explicitly said he wants no "compiler magic" in Mojo. With that ide…
> If you want a language that gives you nice, performant code on your first attempt, Julia is always a decent option. If Julia hasn't taken off yet (which I am very sad about), I'm not sure why Mojo would. I'd rather have more resources invested into Julia.
https://info.juliahub.com/case-studies
Any language designer would be crying of joy if their language had so few users as Julia is currently having.
Re: Mojo: Ownership and lifetime checks deep dive with Chris Lattner [video]
#37Earlier quoted context omitted.
I feel the opposite, they really are focused on being a language that's great for AI and heterogeneous compute, since that's what Modular is focused on. But the features are attractive for other use cases, it has access to MLIR, compile time metaprogramming, easy and ergonomic SIMD, and soon GPU support.
Okay great. Why does AI and heterogeneous compute need ownership and lifetime checks again? These are really needed for low level pointer heavy code.