It's a nice tutorial but I think the performance comparison is highly irrelevant for practice. It is a comparison against a manual matmul in Python - and nobody does this. Ever. I benchmarked myself and get the same order of magnitude and (in most cases) still more performance with 0 optimization and simply using PyTorch on GPU, like any AI dev would. No researcher will ever invest time to optimize on that level, if running PyTorch (and the like) on GPU gives similar or more speedup. Don't get me wrong, Mojo looks like a really interesting approach but the huge win of Python - including in AI - comes from enabling the dev to do complex stuff without optimization in just a few lines of code and outsourcing the "heavy lifting" automatically to CUDA and the like. Thus (1) Mojo will never win a huge user base over if the implementation takes much more time and, what is far more important, (2) Mojo needs to compare against PyTorch and the like and *perform better* there, not against vanilla Python.
The functionality of Python and the speed of C make Mojo a promising language 🔥 it's far from replacing Python at the moment but we will be waiting for it to evolve. Thank you for the tutorial
So i did a little research with the exotic behaviour of Int datatype: Int8 stores 127 positive number, null and 128 negative numbers. So when you type 127 in Int8 you'll get 127, but when you type 128 you'll receive -128 and further initial increment just reduces the negative num by +1 (Int8 129 = -127 and so on). Also when binary grid overflow occurs the bit pointer just continues to move from left to right overlapping past bit. As shown in the video 6000 became 112. The representation of 6000 in binary is 1011101110000 and for 112 is 01110000, as you can see these are the last 8 bits of 6000 in binary.
not exotic behaviour. when a number doesn't fit the datatype (like 6000 into a en.wikipedia.org/wiki/Two%27s_complement signed 8-bit integer) the extra digits get truncated and the implementation may rise some "overflow" flag.
@@scarysticks66 They just announced that they are open-sourcing it. Should be out by Q1 2024! And I agree that this is definitely what they needed to do to ensure widespread adoption. Now this can truly be game-changing!
58:02 I think it would be better example for "rhs" if you overload operator in that struct. Such as fn __add__(self, rhs: Banana) -> Float32: return self.Length + rhs.Length. Since you only return self.Rype or Length or Color, include "rhs" argument wasn't necessary.
@30:54 people are going to get confused when Elliot says an Int8 can go from minus 255 to 255. That's not correct. If you take 2^8 bits (two to the eighth power or 2x2x2x2x2x2x2x2) you get 256 available values within any 8 bits or binary digit positions. In a signed integer, this is represented in decimal from minus 127 down to 0 and then up to to 127, totaling 255 possibilities (plus "negative 0" gives you 256, but nevermind that). So it's really only minus 127 to plus 127, not minus 255 to 255. The trick is the "sign bit" -- the leftmost bit position of the 8-bit byte that can of course be either 0 or 1. If 0, then the number is positive (7 bits going from 0-127) and if 1 the sign bit is set and the number is negative (7 bits going from negative 0 to negative 127). The other 7 of the 8 bits are used for the actual number. With an unsigned integer UInt, the sign bit is not used for negative numbers, but it is used instead for an additional 128 positive integers to take you from 0 to 255. This is convenient if you don't have any intention of the variable to go negative. A signed Int16 or 16-bit integer can give you 2^15 possibilities in both the negative and positive direction, or minus 32767 to +32767, and a 32-bit integer can give you (2^32 / 2) over 2 billion in either direction. Python is nice because it doesn't bother us with this, but this is also why Python is not as efficient as Mojo or C. So, when you start wanting high performance speed in your code, you have to start considering the bit and byte level to speed up many of your operations. Eventually it becomes second nature to know what purpose the variable or data element is being used for. In general, the difference between a high-level developer and a regular programmer is more or less this understanding and not a great deal more. If you learn this well (and it's not really that impenetrable, I promise), you will have a richer understanding and a new level of ability with computers.
The 'let' keyword is no longer supported in Mojo as of the 24.2 release. Instead, Mojo now only supports 'var' variables and undeclared variables (similar to Python) inside 'def' functions or in top-level code in the REPL. Therefore, you should use 'var' instead of 'let' for variable declarations.
Thanks for the intro! Mojo looks very promising,, but anything that needs a huge speedup would be called from a Python library containing compiled functions. If there's no existing library, it takes extra time and effort to create a custom one in C or some other language compatible with the Python ABI. Yes, great advantage that Mojo compiles directly, but it is definitely possible to get good performance with Python.
Thank youuuuuuuuuuuuuu, finally some mojo content!!!!!!!!!!!!!!!!!!! All do, I have a problem, remember the time you opened Jupyter Notebook? a made the same thing, write "Jupiter notebook" in the terminal, and other enter that link, but it does not open in my browser.
Thanks for the video. Honestly I’m not sure it really makes sense from a beginner perspective because a beginner would just be confused by Mojo, as they don’t understand the underlying Python. IMO it would have made more sense to write a tutorial for people who already know Python and how they could use this to speed up their programs.
nice, with the speed test with cuda/torch sometimes it delays the initialization of a lot of the cuda packages untill you start using torch. so can mean moving a few 100mb over once at the start of the program. Just didnt want anyone to make the mistake - gpu is going to be much faster at doing most things esp parallellizable stuff. Amazing tutorial thanks!
you guys always putting out stuff like you reading our minds lol! ... request could you please do a tutorial on MQL5 as in metatrader's language for building trading bots
Thanks a lot! Free education is amazing. I have a question - does Mojo require powerful hardware to run? It can do a lot and im afraid I may not have what it takes hardware-wise for it to be used optimally... Or could it just be run with the same specs like Python? I know it really depends on what you're doing with it but im speaking in general terms as well as in more broad ones
1:39:50 "We're going to take the first four numbers of whatever you put in here, and everything else we're just going to splice it off. That's a cool little feature. I don't know if that's a feature or a bug --" 😁
Correct me if I am wrong but almost all if not all major AI frameworks such as Tensorflow or PyTorch are not "written" in Python. To the best of my knowledge (and I could be wrong here) they act more like wrappers with low level mathematical operations (and thus AI training) taking place in compiled languages, I suspect it's C++. So where is this improvement in AI model training (as mentioned in the video 5:25) comes from? True if you are doing anything outside of those frameworks you are indeed stuck with Python speeds. But I don't believe the training speeds themselves are affected in any way.
When you build a Time Distributed model such as CNN + LSTM for action recognition or video classification, you have extract feature embedding from N frames and then feed them one by one to LSTM (you have to use for loop in this case). And that part is a bottleneck since you use python for loop. Those bottleneck occur in many parts of the code where you don't perform tensor operation. You can look for PaDiM (an unsupervised method for anomaly detection), you can see that there are many parts that have that kind of bottleneck. Hopefully, Mojo can speed up those parts.
At 1h01m I don't see the point of the rhs variable, you can just use fn rype(self) -> Bool or am I missing something (It works just fine in my code) Thanks for the tutorial!
Wonderful tutorial, a question from a noob. With the "owned" arg, does the function change a parameter declared as "let"? Or does the function create it's own copy that is disconnected from the "let" parameter, and therefore mutable now?
if they have built in support to their own Data science libraries maybe they can replace python but most people wont be inclined to switch with similar features and little added on their part.
what a silly name (or worst) for a potential nice language and syntax...why not something like: PyCon, PyonC , ConPy, PythoC, PyWarp, and so on. Thumbs up for the lecture!
Technically Python is a compiled language and it even has a PVM like JVM. However, the slowness comes from 10 different things in python. BTW, thank you for this course. Fun fact, Mojo can load Python libraries as well.
No it is not a compiled language just because it has a bytecode. There’s a big difference in architecture between a compiler and an interpreter and CPython is definitely the latter.
@@LakaiSkateForLife it depends what Implementation of python you are taking into consideration. CPython kind of takes care of the pyc generation(compiler) and execution through VM(interpreter).
Your notebook looks slightly different. Is there some theme or other setting that I would need to change or is it just because it's a newer version? I have to first create a new notebook and then it opens another tab where I can select python or mojo.
maybe its the cpp in me talking but wouldnt the expression let x = "hello world" print(x) mean that print takes in a reference to a string rather than a string literal? which is the type that the lsp sates that the print fn takes in?
The last example I saw on the Modular blog a few weeks ago showed a 68K speedup on the Mandelbrot benchmark. This was also the figure advertised on the home page. But, also, the 68K was on 88 cores, so you won’t get that on your PC! But you could get thousands.
I wasnt able to find out in the docs. Does Mojo have a support for infinite integers like Python does? I want to test out Mojo's speed by performing a Mersenne Prime search but I would need int's that can carry 10's of thousands of digits.
I recommend Java, python is very high level and hiding the machine and mojo is not ready yet. There are important concepts which are still missing in mojo. My university starts with java. It is not that hard and you can learn everything important, although it is a bit slower.
only issue i have with this tut is he explains half of everything with the context of knowing python and the other half of not knowing python, and personally he doesnt sound exactly like he wants to explain idk just the feeling i get from his voice
@@Summersault666 I mean, sure, why not? That's like asking a C++ programmer if there is a C++ framework. Almost all C code works in C++, so any C framework is also a C++ framework. You know what I mean?
A few things wrong so far, but I guess its just because the guy is not that experienced with programming overall. I like the tutorial so far tho @28:28. (an int8 can be from -128 to 127, wheras a uint8 would be 0 to 255)
i am getting this error on my wsl ubantu terminal :tack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
Why not make a general purpose programing language like c++ but with syntax of a python. Mojo is not a general purpose programming language it is used in ai.
Let's gooo!
Thank you for the tutorial 🙏 will be waiting for more🔥
outdated yet?
Thank you so much
It's a nice tutorial but I think the performance comparison is highly irrelevant for practice. It is a comparison against a manual matmul in Python - and nobody does this. Ever. I benchmarked myself and get the same order of magnitude and (in most cases) still more performance with 0 optimization and simply using PyTorch on GPU, like any AI dev would. No researcher will ever invest time to optimize on that level, if running PyTorch (and the like) on GPU gives similar or more speedup. Don't get me wrong, Mojo looks like a really interesting approach but the huge win of Python - including in AI - comes from enabling the dev to do complex stuff without optimization in just a few lines of code and outsourcing the "heavy lifting" automatically to CUDA and the like. Thus (1) Mojo will never win a huge user base over if the implementation takes much more time and, what is far more important, (2) Mojo needs to compare against PyTorch and the like and *perform better* there, not against vanilla Python.
As a Python enthusiast i believe this will soon become my favorite language and thanks to you guys for providing amazing free content, once again!
As someone who has stayed away from being a Python enthusiast due to its speed... likewise. I have yet to watch the tutorial. Is Mojo interpreted?
okay, i lied, i'm pretty enthusiastic about the language. lolol
@@EmberHolly Compiled ;)
The functionality of Python and the speed of C make Mojo a promising language 🔥 it's far from replacing Python at the moment but we will be waiting for it to evolve. Thank you for the tutorial
So i did a little research with the exotic behaviour of Int datatype:
Int8 stores 127 positive number, null and 128 negative numbers. So when you type 127 in Int8 you'll get 127, but when you type 128 you'll receive -128 and further initial increment just reduces the negative num by +1 (Int8 129 = -127 and so on).
Also when binary grid overflow occurs the bit pointer just continues to move from left to right overlapping past bit.
As shown in the video 6000 became 112. The representation of 6000 in binary is 1011101110000 and for 112 is 01110000, as you can see these are the last 8 bits of 6000 in binary.
not exotic behaviour. when a number doesn't fit the datatype (like 6000 into a en.wikipedia.org/wiki/Two%27s_complement signed 8-bit integer) the extra digits get truncated and the implementation may rise some "overflow" flag.
@@alelondon23 yep, that's what i meant
The reason is the 0
Cant believe darth vader is teaching me mojo.such a deep voice 🎉🎉
😂😂😂 stop 🛑 playing and pay attention 😅😅😅. No cap 🧢, that was funny 😁
Lukeeee😂
@@yeyintaung9837 I am ur tutooor!
Is he doing ASMR? On his both voice and keyboard
@@fintech1378
This annoying voice is ASMR to you ?
Mojo has a lot of potential to take over the world. Hopefully it gets a lot of support.
it's not opensource, so its useless
@scarysticks66 not now, but the creators have said they are planning for open source in the future so it's getting there.
Nim has its potential.
@@scarysticks66 They just announced that they are open-sourcing it. Should be out by Q1 2024! And I agree that this is definitely what they needed to do to ensure widespread adoption. Now this can truly be game-changing!
@@scarysticks66 They have now open sourced the Mojo standard library. So we're moving in the right direction.
58:02 I think it would be better example for "rhs" if you overload operator in that struct. Such as fn __add__(self, rhs: Banana) -> Float32: return self.Length + rhs.Length. Since you only return self.Rype or Length or Color, include "rhs" argument wasn't necessary.
@30:54 people are going to get confused when Elliot says an Int8 can go from minus 255 to 255. That's not correct. If you take 2^8 bits (two to the eighth power or 2x2x2x2x2x2x2x2) you get 256 available values within any 8 bits or binary digit positions. In a signed integer, this is represented in decimal from minus 127 down to 0 and then up to to 127, totaling 255 possibilities (plus "negative 0" gives you 256, but nevermind that). So it's really only minus 127 to plus 127, not minus 255 to 255. The trick is the "sign bit" -- the leftmost bit position of the 8-bit byte that can of course be either 0 or 1. If 0, then the number is positive (7 bits going from 0-127) and if 1 the sign bit is set and the number is negative (7 bits going from negative 0 to negative 127). The other 7 of the 8 bits are used for the actual number. With an unsigned integer UInt, the sign bit is not used for negative numbers, but it is used instead for an additional 128 positive integers to take you from 0 to 255. This is convenient if you don't have any intention of the variable to go negative. A signed Int16 or 16-bit integer can give you 2^15 possibilities in both the negative and positive direction, or minus 32767 to +32767, and a 32-bit integer can give you (2^32 / 2) over 2 billion in either direction. Python is nice because it doesn't bother us with this, but this is also why Python is not as efficient as Mojo or C. So, when you start wanting high performance speed in your code, you have to start considering the bit and byte level to speed up many of your operations. Eventually it becomes second nature to know what purpose the variable or data element is being used for.
In general, the difference between a high-level developer and a regular programmer is more or less this understanding and not a great deal more. If you learn this well (and it's not really that impenetrable, I promise), you will have a richer understanding and a new level of ability with computers.
I’m so glad you guys made this video, but I’d appreciate better audio quality.
yea the guys mic is... interesting lol
Thank you so very much
I was waiting for this since I heard about Mojo about six months ago!
The 'let' keyword is no longer supported in Mojo as of the 24.2 release. Instead, Mojo now only supports 'var' variables and undeclared variables (similar to Python) inside 'def' functions or in top-level code in the REPL. Therefore, you should use 'var' instead of 'let' for variable declarations.
thanks
I’m sure we’re a few years away from this but, imagine a game engine built in Mojo using Mojo as the scripting language. ❤
Python based AI is usually implemented using the PyTorch library, which uses Lua (C based code) for optimizations.
Thanks for the intro! Mojo looks very promising,, but anything that needs a huge speedup would be called from a Python library containing compiled functions. If there's no existing library, it takes extra time and effort to create a custom one in C or some other language compatible with the Python ABI. Yes, great advantage that Mojo compiles directly, but it is definitely possible to get good performance with Python.
Thank youuuuuuuuuuuuuu, finally some mojo content!!!!!!!!!!!!!!!!!!!
All do, I have a problem, remember the time you opened Jupyter Notebook? a made the same thing, write "Jupiter notebook" in the terminal, and other enter that link, but it does not open in my browser.
Wow this is fast! Mojo would be potential, it really nice to adapt from Rust.
It's not an adaptation of Rust though.
Thanks for the video. Honestly I’m not sure it really makes sense from a beginner perspective because a beginner would just be confused by Mojo, as they don’t understand the underlying Python. IMO it would have made more sense to write a tutorial for people who already know Python and how they could use this to speed up their programs.
nice, with the speed test with cuda/torch sometimes it delays the initialization of a lot of the cuda packages untill you start using torch. so can mean moving a few 100mb over once at the start of the program.
Just didnt want anyone to make the mistake - gpu is going to be much faster at doing most things esp parallellizable stuff.
Amazing tutorial thanks!
Hello, Mojo😊
24 hours without this channel feels like a day
😂exactly..
I dont get it? 24 hours is a day?
@@marcusdelictusBro if you will get addicted to this channel, there will be no day for you. This channel is addictive though
@@marcusdelictus Every 60 minutes in Africa, an hour pases.
@@Groguemanwhen people die, they become dead
This language is pretty cool 🤩. The syntax is just like that od Python and Kotlin.
waited a long. thank you so much
Wonderful tutorials 🎉🎉😊😊
It seems very clean! and I am liking it
Great course! Does Mojo even runs Numpy or Pandas faster? Also, would AI training be done faster if re-written in Mojo?
Imagine DSA with MOJO 😮
Would be a fantastic course
that will give us huge benefit during placements🔥🔥
Data Structures & Algorithms?
@@edism data structures and algorithms
@@vishalboudhh Ah, are you referring to the book or subjects in general?
Great intro into the future of IaaS
Thanks. Can you give an example of using Mojo function (such as exp, mod, mul)?
you guys always putting out stuff like you reading our minds lol! ... request could you please do a tutorial on MQL5 as in metatrader's language for building trading bots
Thanks a lot! Free education is amazing. I have a question - does Mojo require powerful hardware to run? It can do a lot and im afraid I may not have what it takes hardware-wise for it to be used optimally... Or could it just be run with the same specs like Python? I know it really depends on what you're doing with it but im speaking in general terms as well as in more broad ones
Thanks for the intro. Does windows version of Mojo mean we use the windows GUI programming?
1:39:50 "We're going to take the first four numbers of whatever you put in here, and everything else we're just going to splice it off. That's a cool little feature. I don't know if that's a feature or a bug --" 😁
Finally someone who knows how good MS Edge is. He is valid boys 😅
Before I start learning mojo, should I still learn python for the near future, if I want to work witj AI?
Hope we will get just huge speed up for existing Python code with Mojo...
Correct me if I am wrong but almost all if not all major AI frameworks such as Tensorflow or PyTorch are not "written" in Python.
To the best of my knowledge (and I could be wrong here) they act more like wrappers with low level mathematical operations (and thus AI training) taking place in compiled languages, I suspect it's C++.
So where is this improvement in AI model training (as mentioned in the video 5:25) comes from?
True if you are doing anything outside of those frameworks you are indeed stuck with Python speeds.
But I don't believe the training speeds themselves are affected in any way.
When you build a Time Distributed model such as CNN + LSTM for action recognition or video classification, you have extract feature embedding from N frames and then feed them one by one to LSTM (you have to use for loop in this case). And that part is a bottleneck since you use python for loop. Those bottleneck occur in many parts of the code where you don't perform tensor operation. You can look for PaDiM (an unsupervised method for anomaly detection), you can see that there are many parts that have that kind of bottleneck. Hopefully, Mojo can speed up those parts.
What about regular expressions or parsers (native without Python Libs)?
At 1h01m I don't see the point of the rhs variable, you can just use fn rype(self) -> Bool or am I missing something (It works just fine in my code) Thanks for the tutorial!
My face during the introduction: 🤨🤨🤨
Thanks alot.. Amazing people ever&ever
i am intreasted in learning mojo programing language
Wonderful tutorial, a question from a noob. With the "owned" arg, does the function change a parameter declared as "let"? Or does the function create it's own copy that is disconnected from the "let" parameter, and therefore mutable now?
Plz Make Kafka Tutorial as well
small comment.
You only get the mojo file icon in VSCode if you set the file icon theme to SETI. For me, this was not preset under WSL2 Ubuntu VSCode.
This is what I wanted .....thank you
Keep it up! Especially when it is for beginners! 👍
if they have built in support to their own Data science libraries maybe they can replace python but most people wont be inclined to switch with similar features and little added on their part.
Thanks❤
what a silly name (or worst) for a potential nice language and syntax...why not something like: PyCon, PyonC , ConPy, PythoC, PyWarp, and so on. Thumbs up for the lecture!
2:20 I realized I'm actually more advanced than I thought, and I really don't need this... I need to just go to the docs.
Technically Python is a compiled language and it even has a PVM like JVM. However, the slowness comes from 10 different things in python.
BTW, thank you for this course.
Fun fact, Mojo can load Python libraries as well.
No it is not a compiled language just because it has a bytecode. There’s a big difference in architecture between a compiler and an interpreter and CPython is definitely the latter.
@@LakaiSkateForLife it depends what Implementation of python you are taking into consideration. CPython kind of takes care of the pyc generation(compiler) and execution through VM(interpreter).
Damn you ARE quick!!!!!!!!!!!!!!!!!!!!!!
Your notebook looks slightly different.
Is there some theme or other setting that I would need to change or is it just because it's a newer version?
I have to first create a new notebook and then it opens another tab where I can select python or mojo.
Exactly, I got this as well. I am also having problems to get the mojo kernel running.
Basically typescript but with python syntax
இந்த மனசு தான் சார் கடவுள் 🙏✨✨
Hey,Tamil Happy to see in the global community
Aaama thala
adai ingayumaa :)
@@sathishyadav6517 😂
Both are amazing. His voice and the whole course as well. ❤
Inout is basically by reference
cool video)
free coding camp is my religion.🙇
is it out of date?
thankh you
Here we go again
Make an Ocaml programming course please 🥺 🙏🥺🙏
In the meantime you could try the underrated F#. Plenty of tutorials on that.
@@kevinmcfarlane2752 Sure, I will try it. Thanks for the suggestion
@@debajyatidey9468 It also has good support for data science and AI. Search "F# data science."
maybe its the cpp in me talking but wouldnt the expression let x = "hello world" print(x) mean that print takes in a reference to a string rather than a string literal? which is the type that the lsp sates that the print fn takes in?
Is the author confident in the accuracy of the speed calculations at the beginning of the video?
The last example I saw on the Modular blog a few weeks ago showed a 68K speedup on the Mandelbrot benchmark. This was also the figure advertised on the home page. But, also, the 68K was on 88 cores, so you won’t get that on your PC! But you could get thousands.
THX
I like your own voice like the angel😂
The major drawback of Mojo is that it is not available for Windows
WSL
Wow nice content
I’ve been waiting for this video for a LONG time
I hope microsoft make this programing language as default on windows. It should replace the shell and c++.
Mojo will be a game changer it will wipeout some languages forever, could this surpass the king: C++?
Mojo coomand not found but, RUNNING ON JUPYTER NOTEBOOK
I wasnt able to find out in the docs. Does Mojo have a support for infinite integers like Python does? I want to test out Mojo's speed by performing a Mersenne Prime search but I would need int's that can carry 10's of thousands of digits.
If i am starting from 0 can i start with mojo or i still need python?
I recommend Java, python is very high level and hiding the machine and mojo is not ready yet. There are important concepts which are still missing in mojo. My university starts with java. It is not that hard and you can learn everything important, although it is a bit slower.
only issue i have with this tut is he explains half of everything with the context of knowing python and the other half of not knowing python, and personally he doesnt sound exactly like he wants to explain idk just the feeling i get from his voice
Is there any rest api framework for mojo ? Or can I still use fastapi ?
All python packages should work with mojo, assumedly
The question should be, is there a framework written in mojo?
@@Summersault666 It can be written in python. I don't mind as long as it is working :)
@@Summersault666 I mean, sure, why not? That's like asking a C++ programmer if there is a C++ framework. Almost all C code works in C++, so any C framework is also a C++ framework. You know what I mean?
@@nubufiSo what’s the benefit then? 😂 Any Python framework will be a bottle neck.
Isn't it just dropped? Is it ok to learn now?
I am facing a crashpad failed to initialize error😢 someone plzz help
What's mojo used for
It’s too young to be used for something but it supposed to be used in AI development.
Could I use it with MacOs Visual Studio ?
A few things wrong so far, but I guess its just because the guy is not that experienced with programming overall. I like the tutorial so far tho @28:28.
(an int8 can be from -128 to 127, wheras a uint8 would be 0 to 255)
i am getting this error on my wsl ubantu terminal :tack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
Mojo is what we call our typical sauce in the Canary Islands
'Libary' makes me laugh every time 😂
This guy is so cool ...
Can you help me how to open and read a file with mojo?
installation of ubuntu, modular and mojo is hell, button run mojo file doesn't work either 🤯 command jupytor notebook doesn't exist
Mojo has any framework like pytorch?
Great tutorial! hm I think your read_only banana methods could use (self: Self) instead of (self, rhs: Banana)
In the immortal words of Austin Powers "I got my mmmmojo back. Yeah baby!!"
Can I create a django project with mojo
I like python and ready to learn mojo.
Thebproblem is, i have no such speedy computer.
😢😢😢 Mama Africa.
don't worry, just read the documentation, mojo is still in beta and only on linux machines, you have plenty of time
Why not make a general purpose programing language like c++ but with syntax of a python. Mojo is not a general purpose programming language it is used in ai.
Since this language is similat to python . Does it work with django?
That would be cool. Django with the speed of Mojo.
@@vectoralphaSec exactly
configparser.NoSectionError: No section: 'mojo'
modular: error: failed to run script
yesssssss
Can i learn mojo without any coding knowledge please reply
You can, but I would not advise it. I would suggest learning Python first.
@@kevinmcfarlane2752 oky brother already started python
HEADS UP: If you're on Windows using the windows linux subsystem, make sure you're on WSL version 2!!
Save yourself 5 hours of debugging...
still does not work, goofy bill gates can't make windows 11 work properly. I just use jupyter notebook and that's it.