Jeremy Howard demo for Mojo launch

Поделиться
HTML-код
  • Опубликовано: 23 ноя 2024
  • This is a section from the Modular launch video. The full video, docs, and details are here: www.modular.com/

Комментарии • 235

  • @ArielTavori
    @ArielTavori Год назад +45

    Incredible work guys, can't wait to see where this goes!

  • @AWriterWandering
    @AWriterWandering Год назад +51

    I would be interested in seeing a comparison between Mojo and Cython, Python’s existing superset.

  • @Dendus90
    @Dendus90 Год назад +136

    Thanks for sharing.
    However, after watching this demo, I am not convinced.
    They deliberately took an algorithm (iteration over lists) that is well-known to be slow in Python as a benchmark. They did not compare the performance with respect to numpy and Numba. Moreover, considering they use LLVM under the hood, I expect the boost will be comparable with existing solutions like Numba JIT, which also leverages LLVM.
    They also mentioned training DL models but did not explicitly list any gradient backward computations performance boost vs PyTorch or Jax.

    • @brandoconnor
      @brandoconnor Год назад +22

      @howardjeremyp - this was my thought too. The base case here is kind of a straw man - no one needing performance from a matrix-like data structure is going to use vanilla Python. What do the benchmarks look like compared to what practitioners are realistically using (numpy, pandas, or libs that leverage LLVM)?
      I'd be curious to get a better understanding of the unique value add (fusion, et al) and a more apples-to-apples performance comparison.

    • @Optimistas777
      @Optimistas777 Год назад +28

      @@brandoconnor I think the value here is that it's going to be python all the way down. With any of your mentioned tools, like numpy or pandas, if you try to modify or look anything deeper, you'll hit a wall of having to switch to another language.

    • @tenthlegionstudios1343
      @tenthlegionstudios1343 Год назад +3

      This is what I was thinking . I only have a little exposure to this, but one of the courses I took basically said to always avoid direct loops. And use numpy for all matrix calculations. Thanks for clarifying. This still seems to make it easier for people to modify algorithms, and deal with memory and memory alignment easier. As well as lower level paradigms. But the comparison wasnt exactly fair.

    • @nicholaswogan
      @nicholaswogan Год назад +10

      Looks like Mojo used the new MLIR compiler technology, which is different than LLVM. This could distinguish Mojo from LLVM based compilers like numba

    • @tenthlegionstudios1343
      @tenthlegionstudios1343 Год назад +1

      @@nicholaswogan Very interesting. Going to have to look into this.

  • @nektariosmusic
    @nektariosmusic Год назад +24

    Awesome! Looking forward to using it! Been waiting for years for a programming language like this...

  • @InternetHuman16
    @InternetHuman16 Год назад +218

    Imagine if Mojo takes off, but none of the LLMs can assist writing code in it as there isn't enough training data (yet).

    • @manojlds
      @manojlds Год назад +15

      People have been using copilot for their own internal dsls etc.

    • @AmanKumarSharma-de7ft
      @AmanKumarSharma-de7ft Год назад +13

      It support python though

    • @ch1n3du3
      @ch1n3du3 Год назад +15

      it's a superset of python so a lot of that data should transfer well

    • @Imcomprehensibles
      @Imcomprehensibles Год назад +15

      The thing about LLMs is that it doesn't take much to extrapolate

    • @mikkosalama
      @mikkosalama Год назад +21

      Just feed examples and documentation and it will do it...

  • @ashutoshrudraksh2977
    @ashutoshrudraksh2977 Год назад +4

    We love and support Jeremy Howard and his hard-work and team behind Mojo!😇😍

  • @Anton_Sh.
    @Anton_Sh. Год назад +17

    This is actually pretty impressive and remarkable.

  • @srikanta80
    @srikanta80 Год назад +54

    This is incredible work for data science especially overcoming weaknesses such as high performance matrix multiplication.

    • @khusham6216
      @khusham6216 Год назад

      @Srikanta Prasad SV I see you point but wouldn't you agree it would at least benefit users in being a more general purpose programming language compared to python ?

    • @jordixboy
      @jordixboy Год назад

      hmm, Python is already good with this, you have numba for example which compiles down to machine code, etc

    • @khusham6216
      @khusham6216 Год назад +2

      Numba has a limited use case and can definitely not be considered as a superset of python. It gives some functionality but takes some in return.

    • @IExSet
      @IExSet Год назад +1

      It's not Mojo fast, it is Python so slow !

  • @JohannPetrak
    @JohannPetrak Год назад +6

    From the FAQ: "We don’t have an established plan for open-sourcing yet.".
    I may get interested once they have open sourced it and definitely not sooner.

  • @xskrish
    @xskrish Год назад +4

    im a Java/Javascript dev and i love what im seeing! cant wait to test this out when its fully released & classes are supported

  • @FarqMuckerberg
    @FarqMuckerberg Год назад +14

    Mojo looks very promising and I can't wait until it reaches a level of maturity where I can put its power in to production..... Superset of python was an excellent design decision, taking the best ideas from Rust, Swift, C and Haskell... Very Exciting! Chris Lattner is an absolute genius been a huge fan of LLVM since it became the default in FreeBSD. Suffice to say Mojo on paper satisfies all my requirements for the language I've always wanted but didn't exist.

  • @anirbanc88
    @anirbanc88 Год назад +21

    will we have the next fastAI course using mojo? ;)

  • @rounaksen1683
    @rounaksen1683 Год назад +4

    At First I thought it is good and cool. Then after Each Cell My Mind is Being Blown away constantly!! Superb Language!!

  • @andrewminhnguyen9446
    @andrewminhnguyen9446 Год назад +14

    Unsurprising -- Chris Lattner, incredible!

  • @user-coexist
    @user-coexist Год назад +5

    Cant believe the day has come. Love python all the way
    Thank you

  • @skicreature
    @skicreature Год назад +5

    And here I was about to sit down and really start learning Julia…. Nevermind.

  • @sapito169
    @sapito169 Год назад +1

    i am in love at first sight with this language

  • @hkanything
    @hkanything Год назад +16

    How does it compare to other popular acceleration methods, says, numba, cython, pypy?

  • @khusham6216
    @khusham6216 Год назад +4

    I'm all for it as long as it works natively with python packages and doesn't break anything in the process.

  • @Haroon_abbasi
    @Haroon_abbasi Год назад +1

    excited to be here before mojo pops off!

  • @beaverbuoy3011
    @beaverbuoy3011 Год назад +1

    :o The holy grail of programming languages!

  • @geoserg6176
    @geoserg6176 Год назад

    It's fine I'm watching that 8 days later, like a birthday gift 🎉

  • @bennguyen1313
    @bennguyen1313 Год назад

    Would love to hear his thoughts on George Hotz's tinygrad.

  • @brownnerd
    @brownnerd Год назад +1

    I would definitely use this in production.

  • @awaz4160
    @awaz4160 Год назад +2

    It'd be great to see mojo with Django 🙏

  • @thomasdeniffel2122
    @thomasdeniffel2122 Год назад +6

    Will it be Open Sourced? If yes, under which licence, where can I find it and how can I contribute? If not, its a deal-breaker for me unfortunately.

    • @quiznoes69
      @quiznoes69 Год назад

      You don't use CUDA? Performance trumps ideological concerns

    • @robosergTV
      @robosergTV Год назад

      you dont use GPU drivers? you dont use any proprietary software at all? Even your mouse and printer drivers are open source? In other words = you talking bullshit

  • @Mew__
    @Mew__ Год назад +34

    Speedups in the thousands makes something that needs ~1 hour in Python take ~1 second in Mojo. Crazy.
    *Edit:* It never ceases to amaze me how much cynicism there is in the tech world. I never said that all code has this speedup; I only put the speedup for the showcased code into perspective. Here's the deal: if it can do this for *some* code, then it is a promising and useful tool with way more applications than e.g. Numba JIT. There's always a silver lining.

    • @andreashon
      @andreashon Год назад +4

      no one in their right mind writes matrix multiplication in pure python
      for loops are horribly slow

    • @Mew__
      @Mew__ Год назад +4

      @@andreashon Sure, but the fact that we have here a Python-like programming interface with parallelised C-like speed obviously extends to other applications.
      Like, you're not going to tell me that it's a 4000x speedup for only matrix multiplication, but other than that, it's an entirely useless language that runs at 1x Python. We can extrapolate.

    • @andreashon
      @andreashon Год назад +2

      @@Mew__, I switched to Julia, when I could not optimize my numpy+numba code any further. It has mature community, tons of packages and several cool syntax choices.

    • @Mew__
      @Mew__ Год назад +8

      @@andreashon I switched to C++ and am severely regretting my life choices regarding the library situation.

    • @zandrrlife
      @zandrrlife Год назад

      ​@@Mew__ lol

  • @user-wr4yl7tx3w
    @user-wr4yl7tx3w Год назад +1

    do you think PyTorch or Tensorflow will be implemented to use Mojo?

  • @SL3DApps
    @SL3DApps Год назад +6

    It would be really cool to see if it’s possible to make a game with decent performance in Mojo because Python is not an option for any form of complex game development.

  • @slf188
    @slf188 Год назад +2

    This is so remarkable

  • @Big-Chungus21
    @Big-Chungus21 Год назад

    This is absolutely insane. I honestly cant believe this exists, for some reason 😂
    I cannot wait to be using it! This looks like itll be useful for anything Python can be used for, not just data science, and more.

  • @systemiccobaltbois6721
    @systemiccobaltbois6721 Год назад +2

    This is a 1000000x speedup compared to mental arithmetic. But how does it compare to actual competitors that aren't pure python?

  • @notFabioFlorey
    @notFabioFlorey Год назад +1

    🐍Here right before Mojo blows up!

  • @shefudgrupa
    @shefudgrupa Год назад +4

    How is this better than Jax or Numba? Julia already does all of this as well.

  • @EKOLegend
    @EKOLegend Год назад

    Waiting to see how this evolves/grows

  • @abhishekjm8611
    @abhishekjm8611 Год назад +2

    This looks incredible.
    I have 2 questions
    1. Can mojo be used as a drop in replacement on any python script to improve performance (if possible) and not just machine learning related functions?
    2. Will the autotuner have context regarding resource split like running inside a 4 core container on a 8 core CPU, so that it allows the other 4 cores to be utilized by other programs?

    • @MilodeVries
      @MilodeVries Год назад

      So I nothing about Mojo but can still answer your 2nd question: software running in a 4 core container only sees 4, so will tune for 4.
      Usually software also allows you to do this without a container, I see no reason why Mojo couldn't support a X_cores compile time or runtime flag

    • @abhishekjm8611
      @abhishekjm8611 Год назад

      @@MilodeVries I specifically asked this because I recently ran into this issue with an older version of golang. But i understand what you mean

    • @MilodeVries
      @MilodeVries Год назад

      @@abhishekjm8611 wait did golang figure out how to use 8 cores from a 4 core container? ;)
      There is most likely a setting for this, but I don't know Go and Google didn't help me in a few seconds

    • @MilodeVries
      @MilodeVries Год назад

      @@abhishekjm8611 ah chatgpt4 to the rescue runtime.GOMAXPROCS(4)
      Seems to be something that needs to be done in the code, so proper Go tools will export this as a parameter I'd say. (or use numCPUs - 1/2 to allow interactivity)

  • @christianm4906
    @christianm4906 8 месяцев назад +1

    I can see a future of mojo killing rust 😂

  • @sandeepvk
    @sandeepvk Год назад

    Its great to start learning a program when everyone is new to it....Well Almost.

  • @Create-The-Imaginable
    @Create-The-Imaginable Год назад

    Please put the Modular Keynote & Development videos onto RUclips. I cannot find anything on Vimeo!

  • @codescv
    @codescv Год назад +2

    This is very cool but I think I will need a good project to learn to use it. Do you have any plans of using this in future fast ai courses / libraries?

    • @Optimistas777
      @Optimistas777 Год назад

      I have no doubt about it, since it obviously has Jeremy Howard's backing

    • @_AdarshVaidyadabl
      @_AdarshVaidyadabl Год назад

      yeah same. If you find one then do share it

  • @ΓιώργοςΑλεξάκης-ι5ζ

    Anything about imports

  • @danser_theplayer01
    @danser_theplayer01 2 месяца назад

    I have no idea how they calculated speed in.. gigaflops? I can't check it in another laguage. I have a suspicion that their starting matrix just sucks.

  • @wege8409
    @wege8409 Год назад

    I would like to see the performance of PyTorch matmul vs. Mojo's, tbh I'm not entirely convinced that it's faster than using stuff made in C, C++, and Rust for Python. Big if true though.

  • @crackwitz
    @crackwitz Год назад

    upto 4:05 everything could have been done with numba. I also don't see a reason why the "plain" code on numpy arrays, if given type annotations for "numpy array", would have to be as slow as a couple megaflop/s
    I do like that it goes *a little* further than that... but numba could easily pick up those tricks too.

  • @giovannimazzocco499
    @giovannimazzocco499 Год назад +1

    Can Mojo code be compiled into a relatively small self-contained executable? If I correctly remember that was the main limitation of the Julia programming language, according to Jeremy himself. Does this Mojo language solve that issue?

    • @joeseabreeze
      @joeseabreeze Год назад +1

      That's actually one of the worst things about python. The fact you have to use a 3rd party tool to generate an exe that will run on all systems (and it doesn't always work). Other things that frustrate the hell out of me with python is the project structure and deployment. It's tedious and quite frustrating for no particular reason. Hopefully they can resolve these things with mojo but I'm not going to hold my breath :)

    • @balen7555
      @balen7555 Год назад +1

      No it does not. Its benefits of performance are minor compared to any language that isn't Python or alike (~4000x speedup with most tricks in the book compared to CPython is hardly impressive). It does not help at creating scalable, reliable software as at its core, it shares the same pitfalls of Python. It will also not make your existing Python code magically faster, unless you're programming the superset; the python ecosystem won't migrate to Mojo overnight.
      This is just a typical Chris Lattner move. He didn't bother contributing to an already existing mature platform, because it's not his creation. He'll get a lot of cash to flow into Mojo(from these hype advertisements that are misleading), only for it to end up like swift4tf in a few years, and then, we'd all still be using the sorry excuse of a language that is Python for the groundbreaking tech of this era!
      (Also, seriously, do they have any language designers/PL theorists on their team? Smacking in different features from everywhere else on top of Python does not make a good language)

    • @erenbalatkan5945
      @erenbalatkan5945 Год назад +1

      @@balen7555 As far as what they have shown, you can take your python script to mojo and it will be 300x faster without doing anything. And contribute what to Python? Python won't ever get rid of global interpreter. You won't ever make a merge this big that completely changes semantics of Python to python codebase. Only way something like this works is as a separate project.

    • @balen7555
      @balen7555 Год назад

      @@erenbalatkan5945 Your python script is not the python ecosystem. If you use X packages, you need to get X packages to compile with Mojo. Even then, copy-pasting as verbatim will only lead ~8x performance increases. You need to rewrite with static types for more performance (and even then, it's hardly as performant as even JS, which is dynamically typed...). Who said anything about contributing to Python? Stop investing in that garbage, other solutions exist that need money.

    • @anonjohnnyG
      @anonjohnnyG Год назад +1

      @@balen7555 youtube backend is python fyi

  • @melonkernel
    @melonkernel Год назад +2

    This is really cool!

  • @gabrielnilo6101
    @gabrielnilo6101 Год назад +1

    Would be nice to see the computer specs... but incredible nonetheless.

  • @carlcaravantsz1869
    @carlcaravantsz1869 Год назад

    Do you think Mojo will work on top of Spark (PySpark)???

  • @matijaxzivkovic8843
    @matijaxzivkovic8843 Год назад

    Very interesting thing. Who knows what future brings?

  • @jeffery_tang
    @jeffery_tang Год назад +2

    fireship took me here

  • @rupeshvinaykya4202
    @rupeshvinaykya4202 Год назад

    Kindly share Matmul.ipynb file , which is use in this video.

  • @rahulshandilya304
    @rahulshandilya304 Год назад

    So which should I learn codon (another superset of python compiler) or mojo ?

  • @JumpDiffusion
    @JumpDiffusion Год назад +7

    why not using external libraries (e.g. numpy) to get fast matrix multiplication?

    • @robosergTV
      @robosergTV Год назад +8

      to sell you the 50000000000000x faster speed up

    • @howardjeremyp
      @howardjeremyp  Год назад +10

      Because you don't get the benefits of fusion, amongst many other things. That's why PyTorch, Jax, and TensorFlow all use separate compilers nowadays and only can support a subset of Python.

    • @soracc_
      @soracc_ Год назад +1

      Another point is, the said external libraries can now be implemented with all the SIMD tricks in a python-like language instead of using C++/Fortran/Cython/... (like numpy did).

    • @erenbalatkan5945
      @erenbalatkan5945 Год назад +3

      @@howardjeremyp Still you guys should have made comparison using as optimized MM implementation on python to keep things fair. For example using numba

    • @systemiccobaltbois6721
      @systemiccobaltbois6721 Год назад

      What does fusion mean in this context? Can you link an explanation?

  • @michaelnurse9089
    @michaelnurse9089 Год назад

    Seems to add some nice features.

  • @henryacero488
    @henryacero488 Год назад

    Is it possible to use MOJO with Django Framework, since the video says that MOJO can leverage all Python libraries?

  • @dzordzkeko2608
    @dzordzkeko2608 Год назад

    Can Automatic1111 image generation speed be improved with MOJO ?

  • @Jatinjay-JAM
    @Jatinjay-JAM Год назад +1

    Will mojo be a general purpose language?🧐

    • @DavidRagazzi
      @DavidRagazzi Год назад +1

      Yes. According to FAQ, the focus now is AI field but they pretend extend to systems development.

  • @user-cc8kb
    @user-cc8kb Год назад

    I am hyped.

  • @SheeceGardazi
    @SheeceGardazi Год назад

    awesome work

  • @alchemication
    @alchemication Год назад +2

    Huge respect, but who writes matmul in python by hand? All low level stuff is delegated to C anyway. Is Mojo targetting the low level stuff, which affect 1% people? How does it compare to C then?

    • @michal3141
      @michal3141 Год назад

      The point is that you no longer need C or C++ for performance. So if you implement some new algorithm which is not provided by numpy, scripy etc. you could write it in plain Mojo and combine flexibility and convenience of Python with performance of C/C++ in one unified language. It's all about unification and having one complete language instead of jumping between Python and C/C++ and then interfacing between these.

    • @alchemication
      @alchemication Год назад

      @@michal3141 That is correct, thank you. After watching Lex' episode with Chris L. I do have much more context, and I agree that the future looks very exciting ;-)

  • @Josus
    @Josus Год назад

    🔥 This will be my pet language after C++

  • @atharvkulkarni534
    @atharvkulkarni534 Год назад

    So, what Typescript is to JS, Mojo is to Python

  • @woolfel
    @woolfel Год назад

    nice to have the mojo team fixing the broken performance of cpython that should have been fixed a decade back.

  • @cyberhard
    @cyberhard Год назад +5

    This is certainly intriguing! Given Python is open source, why not contribute directly to the language instead of creating a superset?

    • @francescobottoni4822
      @francescobottoni4822 Год назад +5

      it's easier to build then refactoring

    • @rjScubaSki
      @rjScubaSki Год назад +3

      Inertia would kill this in the cradle

    • @erenbalatkan5945
      @erenbalatkan5945 Год назад +1

      Open source doesn't mean you can contribute whatever you want and it gets merged. And a project this size would never work as a merge

  • @Farid_Bang_Official_Channel
    @Farid_Bang_Official_Channel Год назад

    Does anybody know how to convert a float to an int in this?

  • @pandalearnstocode
    @pandalearnstocode Год назад

    I don't know how different it will be from numba 🙄

  • @theaerogr
    @theaerogr Год назад

    Imagine if we could train neural networks 10-50x faster by just adapting the language used to define them. You get exponential returns just by wide adoptation and speed of execution/iteration of refinement process + tuning.

  • @fxtech-art8242
    @fxtech-art8242 Год назад +2

    ohh huge speedups !!!

    • @robosergTV
      @robosergTV Год назад +1

      notice how they conveniently dont compare matmul with numpy or cpython etc ;)

  • @FillypeFarias
    @FillypeFarias Год назад

    this language itself can make AI to have a boom in few weeks

  • @supervince110
    @supervince110 Год назад

    Will this be supported by Pytorch?

  • @gardnmi
    @gardnmi Год назад +5

    "usability of Python with the performance of C"...it sounds like you built a rust competitor :)

    • @hkanything
      @hkanything Год назад

      Cython!

    • @inomo
      @inomo Год назад +3

      That's just the slogan from Julia 🤔

    • @DavidRagazzi
      @DavidRagazzi Год назад

      ​@@hkanything I like Cython but it is like a parasite (depends of another language to survive) over C.. Mojo is a standalone solution created from scratch and not limited to C limitations..

  • @sorenkarlesson5736
    @sorenkarlesson5736 Год назад +2

    correct me if I'm wrong but you might want to fix the mandlebrot_kernel function, it should return "i" and not max_iter. 6:13

    • @PeterKese
      @PeterKese Год назад

      max_iter is correct.

  • @anatolicvs
    @anatolicvs Год назад

    Importing certain external libraries, such as numpy, into Mojo appears inelegant. I'm quite interested in understanding how they incorporate other deep learning frameworks... It claims to be a superset of Python, but its syntax reminds me more of Golang.... Especially "usage of the struct"... etc.

  • @sidharth1452
    @sidharth1452 Год назад

    New ERA for AI/ML.

  • @hipposhark
    @hipposhark Год назад

    🔥🔥🔥🔥🔥🔥

  • @theCataras
    @theCataras Год назад

    So does this mean in theory you could train NN 4000x faster if you would rewrite them into mojo?

    • @MFSCraft
      @MFSCraft Год назад +1

      I don't think so. AI/ML libraries for python already uses Rust/C/C++ under the hood, with the same or better optimizations demonstrated here. But the key advantage here is you can write AI code in pure mojo, and expect it to run as fast as compiled programming languages.

    • @Orbilfolda
      @Orbilfolda Год назад +1

      It will be slower.

  • @rayankhan12
    @rayankhan12 Год назад

    Amazing 🎉

  • @wayofmuhammad
    @wayofmuhammad Год назад +1

    Now I am looking mojo developer of atleast 5 year experience 😂

  • @fotidim
    @fotidim Год назад

    Swift + Python lovechild? Sign me up!

  • @MamaMia84oo7
    @MamaMia84oo7 Год назад

    I don’t have enough brain power to keep up with all these new languages.

  • @L4rsTrysToMakeTut
    @L4rsTrysToMakeTut Год назад +1

    Why not Julia ☺️

  • @MichaelKazembe
    @MichaelKazembe Год назад

    Impressive

  • @michaelkent2254
    @michaelkent2254 Год назад +1

    This is only helpfull and will make an impact if is open source, otherwise I don't see a pipeline for the community to adopt

  • @LovemyGTI
    @LovemyGTI Год назад

    Fastmail -> FastAI. Makes sense.

  • @IanRiley915
    @IanRiley915 Год назад

    So, do we need to rename jupyter? :)

  • @user-wr4yl7tx3w
    @user-wr4yl7tx3w Год назад

    Is this faster than C?

    • @ahsookee
      @ahsookee Год назад

      They claim c++/rust performance

  • @nizamphoenix
    @nizamphoenix Год назад

    Motion to introduce Mojo to the world via fastai courses

  • @gameplaysi
    @gameplaysi Год назад

    Could have named python ++ or just pi

  • @xl0xl0xl0
    @xl0xl0xl0 Год назад

    I don't get it, it's not open-source and you need to request access to even try it?

    • @howardjeremyp
      @howardjeremyp  Год назад +9

      As the web site explains, it's an early preview that is planned to be open sourced later.

    • @xl0xl0xl0
      @xl0xl0xl0 Год назад

      @@howardjeremyp Sorry, I was probably a bit too harsh. Just getting bummed out by the normalization of waitlist culture this year.

  • @RodyDavis
    @RodyDavis Год назад

    🤯🤯🤯

  • @mehranaliyari9866
    @mehranaliyari9866 Год назад

    We Python programmers need mojo speed. Why Python company and programmers in this field didn't buy Mojo and upgrade Python with their help. The best way to buy Mojo and help all of us to upgrade Python by using it is to open an account and pay the money that the Mojo maker company says to buy it along with its programmers. We ourselves should work for a maximum of one year to upgrade the Python language for 3 hours a day. After that, only we will have the undisputed power of programming. Even 50% of this money should be paid by billion dollar companies like Google in order to pay less server fees in the future.

  • @chenjus
    @chenjus Год назад

    sugoi!

  • @tarravento
    @tarravento Год назад

    wow that's insane

  • @gnovation706
    @gnovation706 Год назад

    For new developer need to learn python or possible just mojo?

    • @KevinFlowersJr
      @KevinFlowersJr Год назад +1

      Mojo will be a "strict superset" of Python, so that means anything you can do in Python will be doable in Mojo. However, there will be things you can do in Mojo that you *won't* be able to do in Python (eg, memory allocation, and playing with pointers)
      Depending on your goals, there's a couple routes that might work.
      Goal A: build some project that's of personal interest to you
      Goal B: learn the fundamental concepts behind how computers work
      If you lean towards Goal A, then it's probably better to start with Python first. Later, you can learn the extra functionality that Mojo offers. Python has less stuff to worry about
      On the other hand, if you want to learn foundational concepts of computers for Goal B (how memory works, how to manage it manually, etc), then becoming aware of lower level abstractions (pointers, the stack, heap, etc) should happen as quickly as possible. Mojo should be able to help with this (but I'm not 100% sure since it's not out yet). The fact that Python doesn't have pointers (but Mojo does), makes me think Mojo might be better if you're trying to understand computers
      Here's an analogy related to cars:
      [Goal A]
      Do you just want to learn enough about the car to be able to drive it from A to B?
      Then just get an automatic car (ie, install Python on your computer)
      take some driver's ed courses (ie, learn Python with some beginner course)
      and take your road trip from A to B (ie, build your personal project)
      [Goal B]
      Do you want to understand why cars (ie, computers) work and how to tinker with your own to make it go fast?
      Then get a stick shift car (ie, install Mojo on your computer)
      take some auto shop/mechanics class (ie, take some Mojo course that focuses on the algorithmic & hardware side of things)
      and start tinkering with stuff to see what happens (using benchmarking & debugging tools to see how stuff works)
      Since Mojo will be new, Goal B may have limited resources for a little while. But most people who use cars don't need (or want) to pursue Goal B

    • @radadadadee
      @radadadadee Год назад

      python

    • @gnovation706
      @gnovation706 Год назад

      @@KevinFlowersJr Thanks for the answer.

  • @AntonPanchishin
    @AntonPanchishin Год назад

    Great video but the "background" music is louder than the voice and very distracting. Had to turn off audio and just read CC

  • @yomajo
    @yomajo Год назад

    Ever heard of closed source programming language?

  • @didiervandendaele4036
    @didiervandendaele4036 Год назад +1

    Now I hope that Mojo can also run on Quantic computer to get more speed 😮

  • @sharabugnanesh3098
    @sharabugnanesh3098 Год назад

    Does this good for 1st programming language?

  • @Orbilfolda
    @Orbilfolda Год назад +4

    High performance code should be written in a systems programming language. To get the most out of mojo, you'll have to learn everything that is hard about systems programming anyways, but then you're trapped in a language designed to fuse with python. It's like being given the muscles of a marathon runner, but not their heart. You'll have to train so much cardio that you would've gotten those muscles anyways 😂

    • @trejohnson7677
      @trejohnson7677 Год назад +5

      Sounds like you’re still learning Rust. This comment reeks of indoctrination.

    • @Orbilfolda
      @Orbilfolda Год назад +2

      @@trejohnson7677 I'm speaking from years of experience doing HPC for production applications and I don't see a reason to use mojo. Also, if you don't like rust and systems programming, then you won't like mojo is all I'm saying :) But it's ok, please disagree that's not a problem.

    • @trejohnson7677
      @trejohnson7677 Год назад +1

      @@Orbilfolda What of my comment is disparaging towards Rust? I suppose English is not your first language, if so, kudos for knowing two!

    • @balen7555
      @balen7555 Год назад

      ​@@trejohnson7677 You didn't get any love from mummy, did you.

    • @erenbalatkan5945
      @erenbalatkan5945 Год назад +1

      I think you are COMPLETELY missing the point here.
      1. there are no good clean syntax SPL out there. Best bet is Rust which isn't as clear as what is shown here.
      2. Whole idea here is that it is compatible with entire Python ecosystem out of box. Which is by far the biggest code ecosystem.
      3. Even if you don't learn any of the low level optimizations, simply using static typing and few keywords (like parallellize) alone gives you hundreds of times performance over naive python.
      To reference back to your anology, it gives you resources, antreneours, dietarieens and muscles of marathon runner. Building cardio is much easier than doing it from scratch.

  • @tuhinroychowdhury3801
    @tuhinroychowdhury3801 Год назад

    Something greater is coming on the way