Coming from a background of C++ and stepping into ML, I disliked Python greatly before, but now I totally see how convenient it is while developing and experimenting with ML. I have big hopes for Mojo and it's keys that it works with the existing Python codebase, you can then grow new performant code from there. I can already see myself using the added multithreading capabilities for example.
Because I really enticed by the prospect of a Python like, SYSTEMS LEVEL language to address the issues with Python, I looked at a lot of MOJO videos to ensure I understood what I was getting into. This was quite possibly the best MOJO explainer video I seen to date. Thank you very much!
Thatâs cool but lemme install it locally lol. But I like mojo. I hope it allows you to compile to wasm modules and letâs you easily use flask/fast api/openCV.
7:01 yes and no! If youâre already using type annotations in your Python code, that shouldnât too much of an issue going Mojo static type definition And for anybody else which havenât jumped into the type annotations of course they will find that cumbersome in the beginning or more verbose
I don't think Mojo could replace Python. Python is easy to learn for everyone, even with 0 knowledge in programming you can make super cool scripts. With mojo you need to know more what you're doing making it less accessible to a lot of people who aren't really programmers.
Exactly Python đ is giant, mojo will be called python framework to specify certain conditions for example ML (Where Time complexity is important if majo is faster than Python)
Stop saying this lol Python đ sucks, itâs the worst kind of language - hyper productive except: - you cant rely on it in production - you need an engineer on staff just to get the damn things deployed - you pay đ° for all the dev time you saved by running your servers into the ground and itâs STILL OBJECTIVELY SLOW - your whole ecosystem rides on the back of C and C++ libs - your anaconda / pip / PYPI / Piodide etc endless flavor is forcing people to the cloud because itâs the only way to get something done in that language Julia, Nim, Go, hell even Javascript or F#, even Lua!!! All much much less of a pain - and Iâm talking about vanilla JS not that typescript Bs or all of your frameworks
@@ITSecNEO that's what I'm saying, for TS which is best for JS devs, literally TS make life easy. Mojo is also life saving for Python's developers. Everybody hit runtime errors
Great video! When re-writing Python projects like Numpy or Pandas in Mojo, would it run faster? Would the AI training time also decrease if projects are converted to Mojo?
Mojo is not 35,000 times faster than Python. That number has to do with a particular scenario where Mojo know how to take advantage of massively parallel computations using GPUs compared to single threaded CPU operation in Python. That number should not be bantied about.
If âfastâ was preferred, Lua (which i like better) would come out on top over Python. Like Torch was originally in Lua. I think itâs going to be hard to take Python down for the time being
Hi, I am trying to rum a mojo file on Visual Studio Code but I always got the same message: The Mojođ„ development environment was not found. If the Mojo SDK is installed, please set the MODULAR_HOME environment variable to the appropriate path, or set the `mojo.modularHomePath` configuration
I've tried it a couple of months ago when it was in beta test, and I don't see why not, as it basically draws its speed from GPU already the same way Games have been doing for decades now. And Mojo's creator is also the creator of the Swift language that have been used a lot in Apple products, so its team have a lot of experience.
as long as it is capable of modifying vertices parallelly this fast why not. on the other hand games already mostly use C++ and I doubt if mojo claims they are faster than that.
@@galaxian_hitchhiker ok but writing games in mojo may be a more smooth experience. I am not a C++ programmer, but I am assuming by what I have experienced thus far.
In theory it is a perfect platform. The core game engine could be written in MOJO (so fast and memory safe like Rust) and scripting in Python. If some scripting logic becomes a bottlenneck it could be upgraded to MOJO (unlike other scripting languages eg lua, c#). Best of all worlds (in theory)
Thanks For information đđ But Mojo can't replace Pythonđ Yep if anyone is interested in Ai or ML he should learn mojo instead of python đ„°đ
@@vt2788 I mean đ What I mean was those who are interested in Ai and ML should learn mojo đ Instead of python " Analogy is best but my English is best My native language is pashto"
@@vt2788 I disagree with this. A superset language is a very unpleasant experience as you basically have to know several different sets of syntaxes and programming styles. I personally would be much more excited about mojo if it didn't support legacy python (Just like python3 had breaking changes with python2). I get that if you support backwards compatibility you potentially are able to tap in to a big pool of adopters, but imo it comes at a significant cost to the elegance of the language. For example, C++ is basically a superset of C, but C retains a significant market share for a reason.
@@yevgeniygrechka6431 I don't agree entirely either. If C++ changed the speed of C like Mojo does with Python, the use of C would be pointless. Is as it were, a new and expanded version, just by another provider. Mojo can support any existing Python code, so I see no downside here. I mean there would not be any unpleasantness I can imagine. Of course this depends on how easy it is to install and management wise with libraries etc.
I think this will be very interesting and I look forward to see how it plays out. Personally I feel like making it compatible with python is not a good move as it essentially makes it into a weird 2 (or more) in 1 language. Python already has the numba library that compiles certain portions of the program, an while it isn't the greatest experience to use, I have a hard time imagining that companies will switch to Mojo for what is basically a better numba. If they need proper compiled code then then will go with C++, Rust or Go. It would be different if Mojo was its own modern language, but I think its compatibility with python will significantly hurt it.
Majo going to best language, it won't completely replace python, but it will use as python frameworks, Majo need to introduce Strings Pool like Java, because String Is most used in code.
Why not simply switch to C++ or Rust? Mojo seems like an opportunistic mish-mash. Python itself was a terrible move backwards, and now we 've worse coming.
Nah, Python is heaven. To have people with the Python skill set, or people who can code in C/C++ who canât stand it like me - suddenly be able to write fast, reliable, readable compiled code using the easiest most popular is huge. And to be able to use existing Python libraries. Are you gonna go rewrite them in C++? Not a chance. Chris Latner created LLVM that compiles much of the worldâs C code, and lead Swift. Iâd trust he knows how to compile Python to native C++. Sorry to labour the point but mishmash is really not understanding it. Soon as I learnt about this I stopped learning Rust.
@@Freshbott2 Tensorflow has over 50% c++ code, and pytorch over 40%. All performant python libraries are just wrappers for underlying C++, C, CUDA or Fortran code. Are you saying Mojo will completely eliminate the need for underlying C++, C, Fortran or CUDA code? I would doubt it.
@@akaalkripal5724 do you think saying Iâm Mojo will eliminate the need for underlying C++ code? I know performant Python libraries are just wrappers, which is the whole point in CPython. And thatâs got nothing to do with the end user, which is the whole point in Python.
Coming from a background of C++ and stepping into ML, I disliked Python greatly before, but now I totally see how convenient it is while developing and experimenting with ML. I have big hopes for Mojo and it's keys that it works with the existing Python codebase, you can then grow new performant code from there. I can already see myself using the added multithreading capabilities for example.
Try Julia
I agree, i dislike python becoz it was so slow.
Because I really enticed by the prospect of a Python like, SYSTEMS LEVEL language to address the issues with Python, I looked at a lot of MOJO videos to ensure I understood what I was getting into.
This was quite possibly the best MOJO explainer video I seen to date. Thank you very much!
Thatâs cool but lemme install it locally lol.
But I like mojo. I hope it allows you to compile to wasm modules and letâs you easily use flask/fast api/openCV.
7:01 yes and no!
If youâre already using type annotations in your Python code, that shouldnât too much of an issue going Mojo static type definition
And for anybody else which havenât jumped into the type annotations of course they will find that cumbersome in the beginning or more verbose
I don't think Mojo could replace Python. Python is easy to learn for everyone, even with 0 knowledge in programming you can make super cool scripts. With mojo you need to know more what you're doing making it less accessible to a lot of people who aren't really programmers.
You can use it as Python, so it would actually not change any code
Exactly Python đ is giant, mojo will be called python framework to specify certain conditions for example ML (Where Time complexity is important if majo is faster than Python)
Stop saying this lol Python đ sucks, itâs the worst kind of language - hyper productive except:
- you cant rely on it in production
- you need an engineer on staff just to get the damn things deployed
- you pay đ° for all the dev time you saved by running your servers into the ground and itâs STILL OBJECTIVELY SLOW
- your whole ecosystem rides on the back of C and C++ libs
- your anaconda / pip / PYPI / Piodide etc endless flavor is forcing people to the cloud because itâs the only way to get something done in that language
Julia, Nim, Go, hell even Javascript or F#, even Lua!!! All much much less of a pain - and Iâm talking about vanilla JS not that typescript Bs or all of your frameworks
@@pookiepats well that's why mojo would be combining the best of two worlds imho
@@ITSecNEO that's what I'm saying, for TS which is best for JS devs, literally TS make life easy.
Mojo is also life saving for Python's developers. Everybody hit runtime errors
Great video! When re-writing Python projects like Numpy or Pandas in Mojo, would it run faster? Would the AI training time also decrease if projects are converted to Mojo?
Mojo is not 35,000 times faster than Python. That number has to do with a particular scenario where Mojo know how to take advantage of massively parallel computations using GPUs compared to single threaded CPU operation in Python. That number should not be bantied about.
Mojo is big, because of MLIR.
Some GPU producers are abusing their power right now, you know which!
MLIR will be a chainbreaker
I wonder what is its compilation speed. Would it as fast as javascript?
Im c++ dev but i definitely use mojo because i want to be a sane person in my fifties
I dont feel static code is more complex, I find it much easier to read and write especially when using external libraries and knowing what to expect
Mojo is proprietary. I won't even try it. Besides, Julia is a fantastic alternative for those looking for a fast alternative to Python.
If âfastâ was preferred, Lua (which i like better) would come out on top over Python. Like Torch was originally in Lua. I think itâs going to be hard to take Python down for the time being
wonder if they have a plan to make it general purpose
Hi, I am trying to rum a mojo file on Visual Studio Code but I always got the same message: The Mojođ„ development environment was not found. If the Mojo SDK is installed, please set the MODULAR_HOME environment variable to the appropriate path, or set the `mojo.modularHomePath` configuration
4:27 Won't it confuse JS programmers that "let" is immutable?
JS actively confuse JS programmers so it isn't a big deal
@@BreytnerNascimento haha true. JS is a nightmare for logicians
They deserve it!
I wonder if Mojo can be used for game development if it is so frickin fast?
I've tried it a couple of months ago when it was in beta test, and I don't see why not, as it basically draws its speed from GPU already the same way Games have been doing for decades now.
And Mojo's creator is also the creator of the Swift language that have been used a lot in Apple products, so its team have a lot of experience.
@@freedom_aint_free ok, that's interesting. Thanks for the info. it would make making games more accessible. This is potentially a big thing
as long as it is capable of modifying vertices parallelly this fast why not. on the other hand games already mostly use C++ and I doubt if mojo claims they are faster than that.
@@galaxian_hitchhiker ok but writing games in mojo may be a more smooth experience. I am not a C++ programmer, but I am assuming by what I have experienced thus far.
In theory it is a perfect platform. The core game engine could be written in MOJO (so fast and memory safe like Rust) and scripting in Python. If some scripting logic becomes a bottlenneck it could be upgraded to MOJO (unlike other scripting languages eg lua, c#). Best of all worlds (in theory)
Seems like another tuned C
it is not OpenSource Yet, So it is not a Programmimg Language at all
It's like c++ trying to replace c but the source language isn't even good.
I'm going to stick to c++.
I left c for pointers and mojo bringing it back.. great
Thanks For information đđ
But Mojo can't replace Pythonđ
Yep if anyone is interested in Ai or ML he should learn mojo instead of python đ„°đ
No point in using python if mojo is a superset. Why learn driving a carriage so that you understand what a car is?đsorry bad analogy
@@vt2788 I mean đ What I mean was those who are interested in Ai and ML should learn mojo đ Instead of python
" Analogy is best but my English is best My native language is pashto"
@@vt2788 I disagree with this. A superset language is a very unpleasant experience as you basically have to know several different sets of syntaxes and programming styles. I personally would be much more excited about mojo if it didn't support legacy python (Just like python3 had breaking changes with python2). I get that if you support backwards compatibility you potentially are able to tap in to a big pool of adopters, but imo it comes at a significant cost to the elegance of the language.
For example, C++ is basically a superset of C, but C retains a significant market share for a reason.
@@yevgeniygrechka6431 I don't agree entirely either. If C++ changed the speed of C like Mojo does with Python, the use of C would be pointless. Is as it were, a new and expanded version, just by another provider. Mojo can support any existing Python code, so I see no downside here. I mean there would not be any unpleasantness I can imagine. Of course this depends on how easy it is to install and management wise with libraries etc.
I think this will be very interesting and I look forward to see how it plays out. Personally I feel like making it compatible with python is not a good move as it essentially makes it into a weird 2 (or more) in 1 language. Python already has the numba library that compiles certain portions of the program, an while it isn't the greatest experience to use, I have a hard time imagining that companies will switch to Mojo for what is basically a better numba. If they need proper compiled code then then will go with C++, Rust or Go. It would be different if Mojo was its own modern language, but I think its compatibility with python will significantly hurt it.
Majo going to best language, it won't completely replace python, but it will use as python frameworks,
Majo need to introduce Strings Pool like Java, because String Is most used in code.
Why not simply switch to C++ or Rust? Mojo seems like an opportunistic mish-mash. Python itself was a terrible move backwards, and now we 've worse coming.
Nah, Python is heaven. To have people with the Python skill set, or people who can code in C/C++ who canât stand it like me - suddenly be able to write fast, reliable, readable compiled code using the easiest most popular is huge. And to be able to use existing Python libraries. Are you gonna go rewrite them in C++? Not a chance.
Chris Latner created LLVM that compiles much of the worldâs C code, and lead Swift. Iâd trust he knows how to compile Python to native C++. Sorry to labour the point but mishmash is really not understanding it.
Soon as I learnt about this I stopped learning Rust.
@@Freshbott2 Tensorflow has over 50% c++ code, and pytorch over 40%. All performant python libraries are just wrappers for underlying C++, C, CUDA or Fortran code.
Are you saying Mojo will completely eliminate the need for underlying C++, C, Fortran or CUDA code? I would doubt it.
@@akaalkripal5724 do you think saying Iâm Mojo will eliminate the need for underlying C++ code? I know performant Python libraries are just wrappers, which is the whole point in CPython. And thatâs got nothing to do with the end user, which is the whole point in Python.
most of the Ai and machine learning requires python now
â@@akaalkripal5724that is the reason it was created
I'm going to stick to c++.
Ok. Nobody cares...
@@DavidRagazzi it looks like you cares because my comment hurt your feelings. Lol.
aww you guys be nice
Bah... I prefer Assembler for string manipulation.
@@cfusername đđđ