It's time... for PYTHON 3.11!

Поділитися
Вставка
  • Опубліковано 14 жов 2024

КОМЕНТАРІ • 694

  • @NathanRichHotpot
    @NathanRichHotpot 2 роки тому +313

    Virtually nothing I do will be affected by the speed increase; but the exception pinpointing is god tier.

    • @RandCode
      @RandCode 2 роки тому +4

      Was not expecting to find you here, Nathan! xD

    • @jimjimseem
      @jimjimseem Рік тому

      Damn I guess I'll have to stick to python now

  • @dantezco
    @dantezco 2 роки тому +140

    I feel like I might not be the only one that gets incredibly more excited about the improved error messages. I mean, I literally let out a loud cheer on my end. #py311

    • @adamantii
      @adamantii 2 роки тому +8

      mCoding calls it a small/boring change but I very much disagree!

    • @anon_y_mousse
      @anon_y_mousse 2 роки тому +1

      If only every language's compiler/interpreter would do the same. About 20-ish years ago, the Digital Mars C++ compiler could do this exact thing with error messages in C++. It's not still getting updates, so it can't handle a lot of the newer standard stuff, but if it could be done with C++ post-templates, then every compiler/interpreter should do it.

    • @anguilliasKR
      @anguilliasKR Рік тому +2

      It makes such a big difference. Rust is already very good for this and it's such a big help

  • @Peshyy
    @Peshyy 2 роки тому +177

    I'm so glad Python is getting more performant and receives even more QoL features lately. I'm not a Python dev, but I've been keeping an eye on it due to it being the standard for ML/AI nowadays.
    Thanks for yet another informative video, keep them coming! #py311
    P.S. Waiting for the Gentoo announcement for migrating to 3.11 woot!

  • @tylerpetrov8094
    @tylerpetrov8094 2 роки тому +46

    I love that python is putting more effort into error messages and things that aren't as exciting, but super helpful to everyone #py311

  • @supermonkeyqwerty
    @supermonkeyqwerty 2 роки тому +59

    I love the "Use a compiled language / faster python" joke! Also always super excited to try out new typing related stuff.
    #py311

  • @raphaelsinai8900
    @raphaelsinai8900 2 роки тому +19

    better error location is such a small change yet it is so significant! i can’t wait for #py311

  • @Gilthans
    @Gilthans 2 роки тому +17

    Would love to hear more about variadic typing! One of the greatest difficulties with data science code is understanding the dimensions of tensors, and this looks like an interesting solution

  • @laurenlewis4189
    @laurenlewis4189 2 роки тому +19

    Interested to see how the speedup improves my terribly inefficient scripts. Also endless praise to Mr. Salgado for making errors more bearable; the improved exception handling also makes me excited to write buggier code just to admire the vastly improved debugging process. I've been toying with rust and as everyone said, the compiler errors are a thing of beauty compared to other languages I've tinkered with, hopefully we start to see some of the same love for Python's interpreter. #py311

  • @carewen3969
    @carewen3969 2 роки тому +28

    Thanks for the update. While my focus is Django I do appreciate what is coming with 3.11. I also appreciate how your high quality content offers great education. Props to the Python core team. Better error messages FTW #py311

  • @paradox9551
    @paradox9551 2 роки тому +4

    It's always funny how Python becomes faster when you use stuff not written in python!
    Honestly, you have literally the best videos on this topic, thanks for doing this. #py311

  • @jbramley
    @jbramley 2 роки тому +15

    Looking forward to better error messages, faster python, and continued improvements to type annotations in #py311 !

  • @2raddude
    @2raddude 2 роки тому +12

    So glad you mentioned asyncio TaskGroups!! I’ve been using Trio for it’s similar Nursery functionality for a long time, but it’s hard to beat the support of using a package in the standard library. #py311

  • @potzko2552
    @potzko2552 2 роки тому +8

    I am super happy to get some better error massages :)
    I wonder how much it would help with some of those long list comprehensions

    • @KHariram
      @KHariram 2 роки тому +1

      I used to purposefully write such things over multiple lines for better error catching. Knowing where in a line an error occurs is such a boon.

  • @cullen36
    @cullen36 2 роки тому +17

    Always exciting to see continual improvements! #py311

  • @philstubblefield
    @philstubblefield 2 роки тому +1

    Thanks for the shout out to Pablo Galindo Salgado! It's nice to see people that work behind the scenes getting public credit! #py311

    • @JorgeLuis-ts6qp
      @JorgeLuis-ts6qp 2 роки тому +1

      At the Spanish PyCon he was received almost like a rock star.

  • @marcotroster8247
    @marcotroster8247 2 роки тому +25

    Can you go into detail why Python became faster without requiring type hints? 😉 And what do you think about a hard-typed mode with a sufficient JIT optimizer built into Python 3.12? 🤔
    Btw, the array hard-typing efforts are really nice. I can't wait to see them 😄

  • @tcozz12
    @tcozz12 2 роки тому +4

    Very exciting to see performance improvements in CPython since a lot of packages I use don't support interpreters like PyPy. #py311

  • @vectoralphaSec
    @vectoralphaSec 2 роки тому +10

    This is all great. Makes me wonder what the core language developers have planned for Python 4.

    • @dave_jones
      @dave_jones 2 роки тому +7

      While he is no long BDFL, Guido recently said there probably will never be a python 4

    • @0xDEAD_Inside
      @0xDEAD_Inside 2 роки тому +8

      @@dave_jones He also added that python 4 will only be there if some major change / feature update is done like removing GIL.
      And you see, there is significant work done in removing GIL by Sam Colebury's nogil python implementation. This implementation removes GIL but reduces single core performance a bit. They should have removed GIL with 3.11 as general performance improvement in python would have compensated for removal of GIL.

    • @oxey_
      @oxey_ 2 роки тому +1

      @@0xDEAD_Inside the 3.11 performance will still compensate in 3.12 or wherever else down the line tho?

    • @jeffw991
      @jeffw991 2 роки тому +2

      Full compatibility with Python 2! 😉

  • @Groctel
    @Groctel 2 роки тому +1

    I volunteered at PyConES and got the chance to work at Pablo's core talk about 3.11's optimisations. I loved every second of it and it sure wasn't presented as boring stuff :D

  • @PyPylia
    @PyPylia Рік тому +2

    I feel like the addition of the Self type should've been mentioned. As someone who uses mypyc and type annotates everything in larger projects, a Self type is very useful. #py311

  • @derrickwlh
    @derrickwlh Рік тому +1

    Great to know that Python still comes up with ways to improve the language! The error message improvement will be such a timesaver… Excited for #py311!

  • @witherialol
    @witherialol 2 роки тому +1

    I respect what you said about SQL queries however I'm a data analyst and often have to deal with huge tables (50+) columns and with format strings you
    -can read/understand a lot more clearly what's going on (imagine 50+ columns and adding another one)
    -dont need to specify the parameters in order which is HUGE considering most of the stuff I'm working with comes in whatever form but lists in correct order
    -can easily generalize requests with string addition and functions (especially search queries where you dont need all SQL filters)
    -can easily convert from other data types
    I dont do stuff on the web, so that might be a niche opinion, but in my opinion string-ized requests are justified.
    (If there is a better option that does not require me to format my data into a sorted list let me know)

  • @aleksanderszymborski5801
    @aleksanderszymborski5801 Рік тому

    When I was reading about 3.11 in official docs, i wasn't sure about exception groups use-cases, but you show one of them. Thanks man, i can understand it better now. #py311

  • @marcoroose9973
    @marcoroose9973 Рік тому +1

    I absolutely love this new version and have immediately used it in production.

    • @mCoding
      @mCoding  Рік тому

      Very nice! Many companies are still stuck on 3.8!

  • @randomnickname00
    @randomnickname00 2 роки тому +1

    Nice, hyped by this version, 10 to 60% faster is really a huge improvement. The new error thing is also really amazing. Looks like an amazing release. #py311

  • @amithm3
    @amithm3 2 роки тому +2

    there has been so many times where i wanted the highlighted error messages, finally #py311 it's no longer required to separate a single statement into multiple lines to check the error :)

  • @ChristianBrugger
    @ChristianBrugger 2 роки тому +2

    Very excited about the last one, about task groups. Makes async code so much more readable and close to the mom-async counterpart.

  • @Mertly
    @Mertly 2 роки тому +1

    This is basically the speed and organization update. I love it

  • @mr_idk185
    @mr_idk185 2 роки тому +2

    I'm very excited for the new version and the many improvements made. I am programming in python myself and really looking forward to this!
    I also really enjoy your content, so keep up the great work!#py311

  • @bakedbeings
    @bakedbeings 2 роки тому +1

    I'm guessing the line about other languages providing error messages with line and character positions was a dry gag. Good to see them in Python though!

  • @python-b5
    @python-b5 2 роки тому

    It's great that Python is getting performance improvements. Python is really convenient to use for things but the (lack of) speed is always a problem, so this really helps! #py311

  • @evyatarelalouf704
    @evyatarelalouf704 2 роки тому +1

    This channel is one of the best channels to learn coding.. the way Murphy explains codes under the hood is golden. thank you very much.

  • @itzDJ73
    @itzDJ73 2 роки тому +1

    Can't wait to use the faster CPython, updates to exceptions, new typing features, and possibly more! #py311

  • @muavains
    @muavains 2 роки тому +1

    Faster CPython is the biggest improvement. As it will enable better embedded software development in python. #py311

  • @nocturnomedieval
    @nocturnomedieval 2 роки тому +1

    Would love to hear what are your thoughts on BDFL decisions and about Pyston and alike projects. Maybe a comparison video. #py311

  • @leovin00
    @leovin00 2 роки тому

    Error messages highlighting which part of the line they came from are a game changer! I can’t believe this hasn’t been implemented in every language years ago. Im looking at you NullPointerException in a 100+ character line

  • @glorytoarstotzka330
    @glorytoarstotzka330 2 роки тому

    honestly the error messages where it shows you exactly where the problem is, not just the line, that sounds just amazing #py311

  • @kristiansims
    @kristiansims 2 роки тому +1

    Just tried it with a python heavy project and it’s running over 1.6x as fast as it did on 3.10, pretty great!

  • @hanz1375
    @hanz1375 2 роки тому +8

    The python devs did a great job this update. I hope more quality updates like this keep coming! #py311

  • @renatopiacente5329
    @renatopiacente5329 2 роки тому

    I love that we can now add notes to exceptions , have literal strings to better manage Databases, for example. #py311

  • @friedbutter1014
    @friedbutter1014 2 роки тому

    Being able to see exactly where exceptions happen seems like a massive improvement. I've spent many minutes staring at exception output not knowing where in the line is actually causing the exception. #py311

  • @max2451
    @max2451 2 роки тому +2

    i like the new additions to python, like the new detailed error messages, and the overall speed increase, looking forward to the official release #py311

  • @Kai_Ning
    @Kai_Ning 2 роки тому +1

    The better error messages is the only thing that really interest me here in #py311 . I'm a noob learning and being told exactly and explicitly where i messed up is simply amazing. Making python faster also seems neat. When you're starting to learn programing, wondering if learning python is really the best language because some are faster kind of is a big deal. "Should i really try to use pygame to make simple game or directly switch to c++ and unity once i get things going after learning some python" is a legitimate question newbs ask themselves.

  • @-mwolf
    @-mwolf 2 роки тому

    I've been waiting for shape typing for ages. And better error messages is also amazing. And ofc speedups oh man I love this language

  • @saivamshis8052
    @saivamshis8052 2 роки тому

    BROTHER, YOU ARE THE BEST!!! You oooh really helped me!! THANK YOU VERY MUCH!This is cool, well done!

  • @EthanTrewhitt
    @EthanTrewhitt 2 роки тому

    Love your videos - very minor squabble - you have a bit of low-frequency hum when you're speaking. You can probably run a high-pass filter around 130 or 140 Hz to get rid of it.

  • @eyalfischel716
    @eyalfischel716 2 роки тому

    After the read about the new logging system on python 3.11 I wanted to cry. Its going to save a lot of pain on future projects.

  • @steveymcsteve0717
    @steveymcsteve0717 Рік тому +1

    Hey mCoding, love your python videos, especially about weird python language features!
    Could you explain this weird syntax please:
    match x:
    case int() as x:
    print("number")
    case list() as x:
    print("list")

    • @mCoding
      @mCoding  Рік тому

      Check out my videos on the match statement, I have 2 whole videos on this!

  • @supleed2
    @supleed2 Рік тому

    I thought I'd be most excited about the performance improvements but after trying out F# and Typescript, I'm definitely ready for better type animations and editor hints #py311

  • @SupernoobkillerXD
    @SupernoobkillerXD 2 роки тому

    o.o 10%-60% faster?! bloody hell.... well even if it ends up only being 5% faster, still would happily thank them for the great work!

  • @alikazerani
    @alikazerani 2 роки тому

    Embarrassed to say that I probably won't be making much use of these particular changes, except of course speedup and perhaps error locating. Still, I'm excited, and I wouldn't have known about 3.11 for quite a while if you hadn't told us! Thank you!!! #py311

  • @daninnmyt
    @daninnmyt 2 роки тому

    Great update. Python already has a lot of features. It's great to see improvements in error descriptions and autocompletions (through type annotation improvements)! #py311

  • @aramisdnivra
    @aramisdnivra Рік тому

    Python has been my go-to language for many years for quick prototyping or general QoL scripts. Any improvement is a win in my book :) #py311

  • @davidriveros5422
    @davidriveros5422 2 роки тому

    Thank you! This was a very in-depth update on 3.11. The new typing features allowing better auto-completes has to be my favorite change! #py311

  • @aaronrbermudez7787
    @aaronrbermudez7787 2 роки тому

    I'm in still in the learning process so this info about the update of #py311 is good to know because i am trying to stay updated. Thanks.

  • @marcinpohl3264
    @marcinpohl3264 Рік тому

    Could you do more in-depth videos about these individual features? This is a great summary, but I could use more.

  • @БогданМартинюк-в1я

    It is very good, that python developers continue to make our favorite python more and more smart. I think that somebody in future will make "Typed Python" so we will get best speed!!! #py311

  • @maadneet
    @maadneet 2 роки тому

    Error location will help a lot right now, and the typing features look like they will enable some good QoL changes too. #py311

  • @Veptis
    @Veptis 2 роки тому +1

    I didn't even get into 3.10 but did recommend it for the course we are teaching as the error messages are a lot better. Switch case and match case don't necessarily need to be taught as intro level.
    So 3.11 improved the error messages again? Maybe I suggest it once more.

  • @amortalbeing
    @amortalbeing 2 роки тому

    I guess I should now migrate from the good old 3.7 to 3.11 now. this looks promising .
    Good job everyone. Thanks to all of the good people working on this magnificent piece of grandiose artisanship

  • @mjhearn
    @mjhearn Рік тому

    #py311 Type hinting is wonderful, but I think I'm more excited about the error messages pointing to the specific part that caused the error than implementing Variadic Generics. Also the exception comments seem like a great addition! Thanks Mr. Salgo!

  • @phantomwings4187
    @phantomwings4187 Рік тому

    Between more type hinting and extremely better error messages, I'm already loving 3.11.
    I was experimenting with Rust for the past couple days and absolutely loving the compiler error messages there. Glad to see python improving their errors in a huge way!
    #py311

  • @angryoldman9798
    @angryoldman9798 2 роки тому

    Only features that you listed that will actually impact my code writing are speed, error messages and maybe Type hunting
    Looking forward to the next updates though! #py311

  • @Shikaku2
    @Shikaku2 Рік тому +1

    Can't wait to try Python 3.11 for WorkGroups

  • @dexterantonio3070
    @dexterantonio3070 2 роки тому +2

    I’m looking forward to generic type hints. I’m currently using a python version and numpy version without any of this. The best I can do is np.ndarray and pd.DataFrame.

  • @katherinemorton9126
    @katherinemorton9126 Рік тому

    Since I’ve updated to #py311 I’ve definitely noticed the better error messages! So much better now

  • @bernimas1
    @bernimas1 2 роки тому +1

    This is so dope. In the context that I am using python it is always stigmatized as "too slow for this type of work" so any speed improvement (specially one as big as this one) is more than great news! I can't wait to be ported over to 3D applications 😁#py311

  • @WillyJL
    @WillyJL 2 роки тому

    asyncio taskgroups is just what i needed... literally yesterday i pondering whether to rewrite a good chunk of code to suppress failed steps in a process and give a message at the end, now its going to be soooo much easier

  • @nnirr1
    @nnirr1 2 роки тому

    my favorite addition is the access to the default getstate. though i'd love to have an access to the default setstate as well

  • @RedPsyched
    @RedPsyched Рік тому

    Bro??? FR super excited for the #py311 release. It hasn't come out on pacman yet :((
    Damn are these features so good. Type hinting upgrade is gonna be my personal fav.

  • @dnullify100
    @dnullify100 2 роки тому

    More info on async task groups please!!!
    Also, I am working on a pub/sub program to consume hundreds of pages from an API and process results as they come in using async queues...
    I feel like I am doing everything not really best practice. It works but it's rough

  • @yolosaurusrex90
    @yolosaurusrex90 2 роки тому

    python is such an impressive and fun language. these improvements and features over the last half-dozen versions have been so exciting. #py311

  • @recarsion
    @recarsion 2 роки тому

    5x speed up would be pretty damn impressive and it would make me lean towards Python for most tasks even more than I already am, but, 5x... that sounds too good to be true

  • @at5.53
    @at5.53 2 роки тому +1

    I really like the improvement done to error message and your special mention of Pablo. He does deserve it #py311

  • @hunterwilhelm
    @hunterwilhelm 2 роки тому +1

    Love that typing features similar to typescript’s are making their way into python! 🎉🎉🎉 #py311

  • @knut-olaihelgesen3608
    @knut-olaihelgesen3608 2 роки тому +1

    I hope for python 4.0 with zero backwards compatibility. Also I hope they rename all the namespaces in the builtin libraries. I think it's horrible to see camalcase, snake case and compact lowercase combined

  • @Kommentierer
    @Kommentierer 2 роки тому

    The new error handling reminds me of the helpful null pointers introduced in Java 14. It is almost like automatically fixing bugs by telling WHY something goes wrong instead of WHERE. Especially when writing super compact code in a single line. Looking forward to #py311

  • @nothingnewatall
    @nothingnewatall 2 роки тому +1

    Great Video, thanks for the overview.
    Really excited to see getting my favourite programming language evolve to be 5x faster🤩. #py311
    Would love a python typing tutorial from you.

  • @MmKayUltra1
    @MmKayUltra1 2 роки тому

    idk about how much the difference in error messages will improve productivity, but having error groups so I don't have to spend all day solving a different problem because I didn't think that an error's priority would present like it did will make lots of days just feel better. #py311

  • @Swinfighter
    @Swinfighter 2 роки тому

    I've been getting into rust lately and the great error messages rust has really helped me speed up the process. Python also getting better error messages is huge imo. #py311

  • @yashinshekh802
    @yashinshekh802 2 роки тому

    subscribed recently and have been learning a lot of deep things about python recently

  • @13thk
    @13thk 2 роки тому

    Task groups will be pretty nice, won't they? And soon enough python won't be the slowest language I know that isn't esoteric (hopefully) #py311

  • @AFMTAG
    @AFMTAG 2 роки тому

    This was a neat overview! Due to the increase in speed, I might now finally upgrade from 3.9 to #py311

  • @alexenriquecrispim830
    @alexenriquecrispim830 2 роки тому

    I am very excited about the new version 3.11. It brings improvements in two points that I really wanted: execution speed and better error messages. #py311

  • @johnexim5187
    @johnexim5187 2 роки тому +1

    This overview is nice. But dedicated video discussions to some of the more helpful new features would be appreciated. :) #py311

  • @Jim-Works
    @Jim-Works 2 роки тому

    Definitely a fan of task groups, better typing, and faster performance! I've been using python more and more lately, and the type hints are very helpful as someone new-ish to the language. #py311

  • @bigsmoke6414
    @bigsmoke6414 2 роки тому

    tbh the better error messages are probably the best addition ever, saving at least half an hour per day debugging deep lists...

  • @sanjeevhalyal2075
    @sanjeevhalyal2075 2 роки тому

    we use #py38 , because legacy packages do not support newer version. I will soon try a micro service architecture to split API to use #py311 for some endpoints. Exception handling is amazing in py311

  • @grzegorzryznar5101
    @grzegorzryznar5101 Рік тому

    @mCoding maybe some speed comparison through different versions?

  • @JordanKarim
    @JordanKarim 2 роки тому

    Neat! The error messages might be very helpful as I learn more, but probably just as soul-crushing #py311

  • @HomoSapiensMember
    @HomoSapiensMember 2 роки тому

    really glad someone picked up on the new error reports features

  • @randallanderson4999
    @randallanderson4999 2 роки тому

    Thank you for explaining some of the new features of #py311. Does #py311 still have the string limits imposed recently? Keep up the great work.

  • @felixschndr
    @felixschndr 2 роки тому +1

    Great video! One question I have: what's the difference between
    "raise MyException("my note")"
    And
    "e = MyException()
    e.add_note("my note")
    raise e"
    The first way is what I have been doing and I wonder if should adapt to use add_node 🤔

    • @Starwort
      @Starwort 2 роки тому

      It looks like add_note is primarily for when an exception is being caught and reraised; you should use the first method when you are simply raising an exception. If you are handling an exception, but something else went wrong and you need to raise an exception, use raise from (raise MyException('oh no!') from exc). If you are handling an exception, but you can only diagnose - and not fix - it, you should add a note and then reraise (bare raise statement)

  • @hankertric
    @hankertric 2 роки тому

    Hyped for Python 3.11! Love the improvement to errors and the async task group context manager. #py311

  • @v00017
    @v00017 2 роки тому +1

    Always excited for a new Python release. Thanks for this overview! #py311

  • @amrshatnawi
    @amrshatnawi 2 роки тому

    (1:13) Another implementation of python is RustPython, which has an experimental jit mode, but more importantly it compiles to wasm, which allows running python scripts in the browser, and in wasm/wasi runtimes #py311

  • @TechSY730
    @TechSY730 2 роки тому

    ExceptionGroup and ExceptionNotes are so useful.
    For the former I have been awkwardly chaining exceptions together using BaseException.__context__
    For the latter, I have been having to pass in relevant data to underlying functions, that is _only_ useful in the case of a failure.
    Like transforming the value from a dict, but ensure the key the value came from is on the exception message. Now with Exception notes, that previously necessary abstraction failure can be fixed.

  • @PhinkTink
    @PhinkTink 2 роки тому

    your joke around the exception notes in #py311 got me.
    all along the more detailed error messages really will help me and others, especially when helping newbs to solve their problems.
    AsyncIO task groups could also be a nice thing, will see how it turns out on a everyday basis

  • @TechSY730
    @TechSY730 2 роки тому

    The flat, serious business tone of the narration, combined with the high tier meme game going on screen, cracked me up. 😆

  • @juliacoriolano9429
    @juliacoriolano9429 2 роки тому

    Thank you for this informative and educational video!