Rust & Python are nice, but Mojo has Magic

  Рет қаралды 26,502

Code to the Moon

Code to the Moon

Күн бұрын

Пікірлер: 164
@codetothemoon
@codetothemoon 26 күн бұрын
Start your journey today with 7-day free trial of Mem here: bit.ly/mem_ai_cttm
@devon9374
@devon9374 25 күн бұрын
There is no way you listed Chris's accomplishments without mentioning his greatest, LLVM 🤦
@codetothemoon
@codetothemoon 25 күн бұрын
omg good point! maybe I should have included that instead of the Lex Fridman interview 🙃
@Serizon_
@Serizon_ 25 күн бұрын
I know right , llvm is his de facto achievement
@pookiepats
@pookiepats 25 күн бұрын
Yea and unfortunately all his languages abuse the hell out of it, he creates behemoth’s and moves on, leaving us to drag them across the pragmatic barriers. Mojo will be as “mainstream” as Swift became Swift on the server my ass
@fabienpenso
@fabienpenso 24 күн бұрын
@@pookiepatswhat would you use on the server side then? Love swift rust ruby but looking at other options. Elixir?
@pookiepats
@pookiepats 24 күн бұрын
@@fabienpenso Elixir is tempting but I have been using Go. there’s a library called “gomponents” that just 1.0’d (SSR in pure Go) + pocketbase + HTMX has been very effective. I love the notion of a single binary
@MW-mn1el
@MW-mn1el 26 күн бұрын
Mojo is not truly open source, compiler and debugger is not open source yet, and license is confusing with vague "Non compete" clause. Design is bettter then rust, but still missing many stuff. Unlikely to get any significant adoption outside AI, and back by venture capital is not god sign, even it's created by Chris Lattner. The licence, community backing and ecosystem is it's biggest hurdle for general adoption.
@melodyogonna
@melodyogonna 26 күн бұрын
Modular did not get investor backing to create Mojo; the company did not intend to create a language at all. They being backed for the AI Cloud Inference infrastructure they're building. As for open source vs closed source, most languages start with being closed - Rust for example, started in 2006 but was opened in 2010, that is 4 years of closed development. Modular announced Mojo after less than a year of development because they want to build in the open, Chris Lattner had a bad experience with Swift being closed until the Swift team deemed it 1.0.
@perc-ai
@perc-ai 26 күн бұрын
Mojo is the fastest language ever created... I think we need to give it more respect. Rust is still thinking in the old ways, all the magic happen at the data center level Mojo is truly the future.
@MW-mn1el
@MW-mn1el 26 күн бұрын
@@perc-ai That depend "fastest" for what, that doesn't change the fact it's cool but still lacking the community support Rust have. Without community, vibrant ecosystem it's just "cool" but not really useful. If not enough developer adopt it, it's hype will run out and new language will replace it few years from now, then suddenly mojo isn't cool anymore.
@MW-mn1el
@MW-mn1el 26 күн бұрын
@@melodyogonna It's just distraction. When people creating issue and ask Modular to clarify when mojo going be "fully truly" open source, what's the roadmap for that. The response is coperate "non compete" vague response, and they don't want to commit to open source toolchain, just standard library for the time being. Everything is mix with "Max" platform under commercial license. Go read yourself what't in their commercial license.
@noomade
@noomade 26 күн бұрын
why does zig have so much community support?
@rickdg
@rickdg 25 күн бұрын
If you don't know anything else, this video doesn't tell you why the mojo version is potentially better.
@codetothemoon
@codetothemoon 24 күн бұрын
Yeah I did a bad job explaining this. Basically when I made the last video you could do almost nothing with it. I don't even think there were basic data structures like maps, and I don't think Python inter-op was working yet. for more details check out the previous video. But in this one I was able to make a simple program that does language model inference. Development has come a long way.
@melodyogonna
@melodyogonna 26 күн бұрын
MAX is not built entirely in Mojo as Mojo is not mature enough to build such a critical infrastructure, It is built in C++. GPU kernels for MAX are what are written entirely in Mojo
@codetothemoon
@codetothemoon 26 күн бұрын
I didn't realize this - thanks for pointing it out!
@Ivoshevo
@Ivoshevo 25 күн бұрын
Have you seen the source code?
@melodyogonna
@melodyogonna 25 күн бұрын
@@Ivoshevo Modular is pretty open about these things if you're in the discord. You have to remember that they were already building the Max infrastructure in C++ before Mojo was conceived
@mathiaz943
@mathiaz943 25 күн бұрын
0:39 - 😂 impressive track record: having been interviewed by Lex Friedman…
@codetothemoon
@codetothemoon 25 күн бұрын
it's a big milestone! 😎
@lx2222x
@lx2222x 25 күн бұрын
I am studying data science and I am looking forward to use Mojo in the near feature!
@codetothemoon
@codetothemoon 24 күн бұрын
nice! definitely one to keep an eye on.
@TheLostBijou
@TheLostBijou 26 күн бұрын
at 4:40 you appear to be complementing python, but its really a compliment on that specific API you are using, which has nothing to do with the language. Earlier you said CUDA was a programming language, but its actually a framework and an API.
@codetothemoon
@codetothemoon 26 күн бұрын
you're right - the simplicity and brevity of the Python version is in large part due to its great ecosystem of libraries, but I think it's also the language. I think I said CUDA is an extension of C right? The point is it's a distinct platform, and there can be consequences of that - the need for SMEs, thought around integration points, context switching, vendor specificity, etc.
@TheLostBijou
@TheLostBijou 26 күн бұрын
Yes, admittedly these are minor issues in what is an informative video. Thanks!
@Nekroido
@Nekroido 24 күн бұрын
Before I unpause the video Imma click that bell icon. I totally forgot about Mojo. What a timely and lovely feed recommendation. And thank you too! Now, back to watching 👀
@codetothemoon
@codetothemoon 24 күн бұрын
nice, really happy to have you onboard!
@kmaximoff
@kmaximoff 26 күн бұрын
Hey thank you for all of your content! I love watching Rust related content !
@codetothemoon
@codetothemoon 26 күн бұрын
thank you, really appreciate the kind words!
@PouriyaJamshidi
@PouriyaJamshidi 26 күн бұрын
You should really take a look at Nim. Syntax of Python, performance of C++/Rust
@codetothemoon
@codetothemoon 26 күн бұрын
I took a look awhile back and was definitely intrigued, but I wasn't sure how its configurable memory management strategy was going to work long term. Maybe I'll take another look!
@PouriyaJamshidi
@PouriyaJamshidi 26 күн бұрын
@codetothemoon you can always let the default memory management do its thing. We migrated a bunch of our applications at work from Python and Go to Nim and were are quite happy with less resource utilization and speed gain
@PouriyaJamshidi
@PouriyaJamshidi 26 күн бұрын
@@codetothemoon you can always let the default memory management do its thing. Never came across any scenario that needed us to mess with it. I have done some benchmarks on its ARC and ORC models and the results were quite similar. We have migrated a few of our applications from Python and Go to Nim at work and the results are very satisfactory. The resource utilization has dropped significantly while the performance has increased.
@pookiepats
@pookiepats 25 күн бұрын
@@codetothemoonit has defaults (ARC), you don’t have to touch any notion of memory config to write programs with it
@system64_MC
@system64_MC 25 күн бұрын
Nim is the goat! I made my final school work with Nim
@AliMoeeny
@AliMoeeny 26 күн бұрын
interviewed by Lex is before created Swift :D Keep up the good work, thanks for the great videos
@codetothemoon
@codetothemoon 26 күн бұрын
lol, I'm a Lex fanboy, so I'm a little biased 😎 thank you!
@dobleuber
@dobleuber 25 күн бұрын
Before Rust, I tried mojo. I love it, but it was in a really early state, only available in the playground, so I focused on Rust again.
@codetothemoon
@codetothemoon 24 күн бұрын
yeah it was hard to do much in those days, good call focusing on Rust 😎
@DiaaKasem0
@DiaaKasem0 24 күн бұрын
when I tried looking into mojo and similar simpler rust alternatives ... I found out about Nim and V / vlang .. for me I see Nim is already there and does what mojo is going to do ! also vlang does that ( yet not python like - but very simple ! ) - both transpile first to C then to binary .. I don't really get what would mojo add to the mix
@codetothemoon
@codetothemoon 18 күн бұрын
very good question - I can't speak too deeply on nim as I've only looked into it briefly, but I loved what I saw so far. In the nim community, I'm not aware of any efforts around developing a unified alternative to GPU-specific programming that is also isomorphic with the higher level code. I also don't think they have any goals of Python interop at the syntax level, nor in the package management tooling. It seems like both of these are central and unique to Mojo's goals. Similar thing with Vlang.
@DataPastor
@DataPastor 25 күн бұрын
Mojo’s license (with the competitive clause) discourages me from touching it. Otherwise technically a good direction.
@codetothemoon
@codetothemoon 24 күн бұрын
Thanks for pointing this out, I haven't taken a look at the license. I have some preliminary thoughts but I'll do that before commenting on it 😎
@harrynair1811
@harrynair1811 25 күн бұрын
Can I actually build a production pipeline with Mojo? Would you be able to do a video on it ? The whole shebang one ? Using magic to kickstart a workspace- docker to build an image and run on kubernetes
@codetothemoon
@codetothemoon 24 күн бұрын
I don't see anything precluding it, as Docker and K8 are stack agnostic. But I haven't done it myself. Would love to make a video on it at some point, but it won't be anytime soon I'm afraid 😢
@harrynair1811
@harrynair1811 25 күн бұрын
I love your content - I have been trying to push Rust at workplace for long. Side note have you tried Julia ? What are your thoughts on that ?
@codetothemoon
@codetothemoon 24 күн бұрын
thanks for the kind words! props on trying to push Rust at work, I imagine that can be challenging in some situations. I have tried Julia - I remember being impressed with it, but I don't think I personally have a use case for it
@GuiseppeZanotta
@GuiseppeZanotta 25 күн бұрын
Javascript rules the web and Python is the undisputed king of all things data science AI/ML. The genius thing they did was build on existing infrastructure. I just threw Rust in the dumpster where it belongs along with Haskell and picked up Mojo!
@codetothemoon
@codetothemoon 23 күн бұрын
Agree that prioritizing python interop was a great call. Disagree that Rust is dumpster bound 🙃
@ToanNguyen-ue8rw
@ToanNguyen-ue8rw 26 күн бұрын
I don't understand why we would need mojo for AI stuffs. The speed you gain is minuscule compared to inference time.
@codetothemoon
@codetothemoon 25 күн бұрын
I think there are many factors beyond just speed!
@empathy_monster
@empathy_monster 25 күн бұрын
I personally don't understand why everyone is so critical that the Mojo compiler is not yet open source. What Chris Lattner and team are doing with the newly developed MLIR has never been done before. Think of it like UNIX, and now we have open source implementations that revolutionized computing forever, and Mojo aims to do something similar with programming.
@codetothemoon
@codetothemoon 18 күн бұрын
I agree. I think open source is great when possible, but I don't think we should ever feel "entitled" to it. If a company makes substantial investment in a new technology, they should not have to spend time worrying about whether someone else will take what they've created (completely for free) and doing something with it that threatens their existence. If this is tolerated, we wouldn't see companies making big investments like this anymore. Because why would they?
@be1tube
@be1tube 25 күн бұрын
Mojo is making some bad initial decisions. For example, the type of (i or s) where i is an Int and s is a String is String, and it silently converts. Silent conversions have caused so many bugs in C. Instead the type should be (Int | String).
@codetothemoon
@codetothemoon 24 күн бұрын
oh interesting, I actually didn't know about this. thanks for pointing it out!
@glamoagency5642
@glamoagency5642 24 күн бұрын
Mojo has lots of funding AND Chris Lattner, so it's guaranteed pretty much.
@codetothemoon
@codetothemoon 23 күн бұрын
these things certainly give it a lot more credence!
@shivaylamba5641
@shivaylamba5641 26 күн бұрын
Always amazing content!
@codetothemoon
@codetothemoon 26 күн бұрын
thank you!
@Quracrow
@Quracrow 26 күн бұрын
The bread is a good decision.
@codetothemoon
@codetothemoon 25 күн бұрын
bread?
@Quracrow
@Quracrow 25 күн бұрын
@codetothemoon Beard*
@rasputindasilva858
@rasputindasilva858 25 күн бұрын
Everyday a new language borns... and always better than the hinder and we leap from one to other and never get expertize in any.
@codetothemoon
@codetothemoon 24 күн бұрын
Definitely not advocating that anyone should drop what they are doing and learn Mojo. Just saying it's one to keep an eye on.
@michaelmueller9635
@michaelmueller9635 26 күн бұрын
Didn't see any reasons for mojo.
@codetothemoon
@codetothemoon 26 күн бұрын
If you want the performance of C but want a syntax that is closer to Python, I think it's the most promising game in town. That said, the vast majority of folks won't need it.
@michaelmueller9635
@michaelmueller9635 26 күн бұрын
@@codetothemoon That's the (or ...my) problem. Only to keep Python (or the python guys) in the game, doesn't justify mojo. In my eyes, python is a scripting language for c-files, which got a bit out of control. The only longtime fix for this issue is to get rid of the scripting language (...python). And then we are in the c-world and its slangs (c, zig, c++, rust, ...). But mojo as an extended python makes no sense. So maybe it's just me and history will tell something different, but I do not see anything convincing to change my mind (to the things written above).
@knowledgedose1956
@knowledgedose1956 26 күн бұрын
​​@@michaelmueller9635 zig is in its zigote 😅 phase, lots of breaking changes between versions. other than that, FYI Python is used a lot in ML, data science, science in general, because it's starter friendly. And calling , for example scientists "python guys" is not exactly correct. spending a lot of time to learn a programming language for them is probably less preferable than doing actual science. So they choose python for that matter(as well as other languages, like Julia, i am aware of that). Thus Python has it's own niche, and always will, or some other high level language most probably will. And science is just an example. So, saying things you said is just being arrogant, sorry.
@AchwaqKhalid
@AchwaqKhalid 26 күн бұрын
#Golang FTW 🙌🏻
@michaelmueller9635
@michaelmueller9635 26 күн бұрын
@@knowledgedose1956 Nope. When you reach a certain level of complexity, you can not hide it from the users by choosing an 'easy' programming language. That's no arrogance. That's practise.
@anamoyeee
@anamoyeee 26 күн бұрын
Off-putting ai images on mojo's official website make me never want to use this programming language... ehh
@codetothemoon
@codetothemoon 25 күн бұрын
fatigue of AI generated images is quite relatable - they do seem to make quite a few images of the Mojo mascot. but probably not the best reason to dismiss the language 😎
@synreader
@synreader 26 күн бұрын
great stuff
@codetothemoon
@codetothemoon 26 күн бұрын
thank you!
@desireco
@desireco 25 күн бұрын
You are not really selling us on Mojo here :) maybe next year...
@codetothemoon
@codetothemoon 25 күн бұрын
Didn't intend to. My takeaway was that it's a great language but might not make sense for many projects yet. As you say, maybe next year 😎 But if you want to be an open source contributor, right now there is tremendous opportunity for that in its ecosystem.
@desireco
@desireco 25 күн бұрын
@@codetothemoon definitely appreciate all the details you covered.
@desireco
@desireco 25 күн бұрын
@@codetothemoon I think like you, I would love a solid language like Python without warts.
@ambientswn
@ambientswn 26 күн бұрын
Is Mojo open source yet?
@MW-mn1el
@MW-mn1el 26 күн бұрын
Maybe decade from now, maybe never 😄
@ambientswn
@ambientswn 26 күн бұрын
@@MW-mn1el Yeah, exactly my point. Adoption matters most. No open source, no adoption. Plenty of alternatives. While I don't doubt language is cool and all, having it closed source from the get go wasn't really wise
@melodyogonna
@melodyogonna 26 күн бұрын
@@ambientswn why? Every popular language I know started off being closed.
@sebastianospino4861
@sebastianospino4861 26 күн бұрын
are you dumb bro, is it not wise to start OS
@khanra17
@khanra17 23 күн бұрын
They don't care. They focus on 'MAX' (some ai shit). Glad I didn't got too far with this shitty language
@asdfmonstrosity
@asdfmonstrosity 24 күн бұрын
How did you spend 12 minutes talking with only an "inconclusive, the libraries were different" as the outcome
@codetothemoon
@codetothemoon 24 күн бұрын
there was a bit more to it than that
@Ivoshevo
@Ivoshevo 26 күн бұрын
thats my programming language
@codetothemoon
@codetothemoon 26 күн бұрын
nice!!
8 күн бұрын
Has exceptions...
@andrewbuzz7308
@andrewbuzz7308 20 күн бұрын
"Track record... interviewed by Lex Friedman..." Wow, what an accomplishment
@codetothemoon
@codetothemoon 20 күн бұрын
It is! 🙃
@lcssbr
@lcssbr 12 күн бұрын
It requires Python to be installed so a big no for me.
@codetothemoon
@codetothemoon 12 күн бұрын
understandable!
@khanra17
@khanra17 23 күн бұрын
Last time I disagreed because I was hyped about the language. This time I disagree more. Mojo sucks now, they has no focus on the language & the reputation of language instead they focus on some 'MAX' shit. Not opensource etc. etc.
@codetothemoon
@codetothemoon 23 күн бұрын
I can understand this point of view!
@AntonioRonde
@AntonioRonde 25 күн бұрын
Video did not meet expectations. It was almost exclusively about Mojio tooling, syntax and details of the language were only glanced at.
@codetothemoon
@codetothemoon 25 күн бұрын
Thanks for the feedback! 🙏
@DustinKrejci
@DustinKrejci 25 күн бұрын
2 1/2 minute in and im wondering when are you going to get to the POINT AND TL:DR!
@codetothemoon
@codetothemoon 23 күн бұрын
😂
@ChuTuanAnh2k
@ChuTuanAnh2k 25 күн бұрын
No, python syntax s*ck, mojo the same.
@codetothemoon
@codetothemoon 24 күн бұрын
Using whitespace to dictate scopes is definitely quite polarizing....
@edgardoarriagada9467
@edgardoarriagada9467 25 күн бұрын
Mojo with brackets plzzz 🙏
@codetothemoon
@codetothemoon 24 күн бұрын
as opposed to using whitespace to denote scopes? I wouldn't be opposed to this...
@gustavojoaquin_arch
@gustavojoaquin_arch 26 күн бұрын
Cringe, this is just another bloated language
@codetothemoon
@codetothemoon 26 күн бұрын
how so? I think its core intent is to avoid the bloat that exists in the current Python ecosystem
@christianovergaard1081
@christianovergaard1081 26 күн бұрын
@@codetothemoon For the same reason you feel the need to remove my comment about the license issue.
@knowledgedose1956
@knowledgedose1956 26 күн бұрын
​@@christianovergaard1081 dude, chill, KZbin sometimes deletes comments automatically
@codetothemoon
@codetothemoon 25 күн бұрын
@@christianovergaard1081 I did not remove any comments. Generally speaking the only comments I delete are from bots
@Taddy_Mason
@Taddy_Mason 24 күн бұрын
There's a whole bunch of technical deep dives on mojo and not to mention it's by the creator of LLVM and Swift, practically speaking if there was any one person on the planet that could make all the bold claims that mojo does it's Chris Lattner.
@carlosbrown6208
@carlosbrown6208 26 күн бұрын
DE >> Learn Rust DS >> Learn Mojo
@codetothemoon
@codetothemoon 25 күн бұрын
for now I'd agree, but I can definitely see Mojo moving into the DE space once the library ecosystem is a bit more mature. we shall see!
@DataPastor
@DataPastor 25 күн бұрын
Rust is fully irrelevant for data engineering. pydantic and polars were written in Rust, but besides that, Rust is invisible in the data space.
@skuwamy
@skuwamy 25 күн бұрын
@@DataPastor you didnt even know that hugging face wrote a library in rust.
@DataPastor
@DataPastor 25 күн бұрын
@@skuwamy I know it. It doesn’t change the fact, though.
@saiba-b7l
@saiba-b7l 24 күн бұрын
maybe, but in fact, this mojo just can run in macos and ubuntu for now, so I'll say: full of shit... You are promoting something that not everybody can use 😂😂😂, big W to rust and python.
@codetothemoon
@codetothemoon 24 күн бұрын
I think restricting supported platforms can actually be a really smart move in the early stages of a product. It can cut down on the test scenarios the devs need to worry about, so they can focus on the core mission. Then add support for other platforms in one swoop later. That said, I don't think I'm "promoting" it, just sharing my experience with it for others that might be interested.
@kmaximoff
@kmaximoff 26 күн бұрын
I am first 🎉
@codetothemoon
@codetothemoon 26 күн бұрын
🥇
@kaas99
@kaas99 25 күн бұрын
Golang FTW
@codetothemoon
@codetothemoon 24 күн бұрын
Gopher spotted! 😎
@ulrich-tonmoy
@ulrich-tonmoy 26 күн бұрын
i really hated python being the AI lang in case of performance and usability+platform js is better since all are library why not make for js also then by default you get the web support and then theres desktop and mobile app dev framework Mojo would be great system level performance+python level syntax i hate the mojo path system
@codetothemoon
@codetothemoon 26 күн бұрын
js performance, while probably better than python in many cases, still isn't great. re: web capability, this is still possible via targeting webassembly, though I don't think there is any support for it quite yet. Rust provides a great model for this with its fantastic WASM support, and great frameworks like Leptos and Dioxus have sprouted up as a result of that. Maybe Mojo can do something similar.
@ulrich-tonmoy
@ulrich-tonmoy 26 күн бұрын
@@codetothemoon wasm wont be the solution for frontend unless frontend development becomes like desktop development in which case people started to use electron same way might switch to wasm but not before that(i think)
@zoom0211
@zoom0211 26 күн бұрын
Dude, you sound like you missed some crucial info. Python is just a way of calling AI libraries/frameworks which are written in C/C++, it's just a thin shell. Also, one can always optimize the hot paths in python scripts with C, C++ or Rust. JS has some pretty bad characteristics for science stuff, its quirks might the main reason why it hasn't been picked for this purpose. Or, most likely, JS didn't exist on servers when people started building these, nowadays popular, libraries/frameworks.
@khanra17
@khanra17 23 күн бұрын
😂 Really JS? JS & Performance should never be used in a single sentence!
Why do developers hate Rust?
8:20
Let's Get Rusty
Рет қаралды 142 М.
Making Minecraft 100x faster (by rewriting it in Rust)
17:02
Theo - t3․gg
Рет қаралды 131 М.
Twin Telepathy Challenge!
00:23
Stokes Twins
Рет қаралды 108 МЛН
Players vs Pitch 🤯
00:26
LE FOOT EN VIDÉO
Рет қаралды 136 МЛН
This Game Is Wild...
00:19
MrBeast
Рет қаралды 171 МЛН
Rust LLM Frameworks have a Bright Future
8:48
Code to the Moon
Рет қаралды 17 М.
iced GUI | Rust Language
17:00
Learning Rust
Рет қаралды 9 М.
Qwen Just Casually Started the Local AI Revolution
16:05
Cole Medin
Рет қаралды 87 М.
Is Functional Programming DEAD Already?
21:07
Continuous Delivery
Рет қаралды 69 М.
20 Celebrities That Ruined Their Careers with One Interview
22:23
WatchMojo.com
Рет қаралды 3 МЛН
Rust is easy... (we make it hard)
10:11
Let's Get Rusty
Рет қаралды 125 М.
All-in-one C++, Rust, AND Python Successor? Mojo
17:20
Code to the Moon
Рет қаралды 45 М.
Large Language Models explained briefly
8:48
3Blue1Brown
Рет қаралды 504 М.
Rust Collections Explained
11:51
Code to the Moon
Рет қаралды 13 М.