Keynote: Guido Van Rossum

  Рет қаралды 125,843

Next Day Video

Next Day Video

Күн бұрын

Пікірлер: 74
@astropgn
@astropgn Жыл бұрын
I started learning python just a little bit after python 3 came out and I remember people were so mad about the transition. I also had people saying I should learn python 2.7 instead of 3, but luckily I decided to stick with 3+.
@cenntraru
@cenntraru 12 жыл бұрын
What a Great, long-expected speech encouraging to co-operate instead of fighting against each other... Inspiring and really kind talk, thank you Guido!
@jonathanccast
@jonathanccast 6 жыл бұрын
No, he's trolling and repeating FUD about static typing.
@f3rdy1307
@f3rdy1307 8 жыл бұрын
Running Guido presentations in 1.25 speedup turns out to be a great deal!
@ncdave4life
@ncdave4life 8 жыл бұрын
1.5x is better. 1.75x would be better yet, but that's not an option in any of the current browsers, unfortunately. 2x is just a little too fast.
@jdkforchrist
@jdkforchrist 8 жыл бұрын
Thanks for this idea.
@graham-moss
@graham-moss 8 жыл бұрын
The "Faster Video" Firefox extension makes this possible. github.com/ispedals/Faster-Video
@slideon
@slideon 9 жыл бұрын
What he's saying about Python vs. Perl vs. Ruby is so true, their communities and approach to programming are all pretty similar.
@mrembeh1848
@mrembeh1848 9 жыл бұрын
+Adam Jimenstien His approach is really good! I Agree!
@jonathanccast
@jonathanccast 6 жыл бұрын
Oddly enough, Python got really popular on the theory that it's fundamentally better than Perl. Then, of course, when Ruby started getting popular, suddenly Python, Perl, and Ruby were all the same thing, somehow.
@feraudyh
@feraudyh 11 жыл бұрын
Guido van Awesome!
@JeewanthaBandara
@JeewanthaBandara 10 жыл бұрын
And now, Python 3 is excellent. Python 2.7 should only be used when using old libraries or modules. Python 3 is the now and future.
@bladyjoker
@bladyjoker 10 жыл бұрын
Worth watching! Glimpsed over few interesting and key topics. Some good arguments, especially threads, IO and GIL, cpython vs pypy and some not so good ones IMHO such as static typing, which he seems to underestimate. All in all a cool guy.
@andrewking9793
@andrewking9793 11 жыл бұрын
Awesome talk. I definitely agree that the whole eventloop problem isn't something that needs to be in core. We already have Queue, futures, and loads of event loop implementations that rely on native code (pick a GUI toolkit). If you really need event loops, you probably need something else in a GUI toolkit anyway. There are loads of if you need threading, you're probably doing it wrong and should be using processes observations floating aroung the interwebs. Loved it.
@lixinfish
@lixinfish 12 жыл бұрын
Great keynote! so much fun~
@guyom75
@guyom75 12 жыл бұрын
Agreeing with ancientrussian: great talk, great ideas and great arguments against trolls! Thanks Guido
@grimonce
@grimonce 4 жыл бұрын
So, the Python 2 hell never came to an end, even though it is no longer supported.
@ulidtko
@ulidtko 12 жыл бұрын
Actually one has to be very careful about not calling every criticism he hears as "trolling".
@pedlezelnip
@pedlezelnip 12 жыл бұрын
Which isn't an argument against static typing. Those "hard bugs" are there regardless, so why not have static typing?
@lucasdarianschwendlervieir3714
@lucasdarianschwendlervieir3714 8 жыл бұрын
Soon it will be 5 years in the future... 11:42
@robertngenzi1234
@robertngenzi1234 10 жыл бұрын
Awesome talk
@milmarcin
@milmarcin 12 жыл бұрын
@caffeinephreak I read his explanation as "nondynamically typed languages alse have errors, so who cares if there are few bugs more?". Then he says 'go and hire wise people', but wait, lion's share of their job could be done (w/o costs) by a compiler... if you gave it some tips (static typing?).
@goddardleroy1001
@goddardleroy1001 11 жыл бұрын
Parallelism means that there is an actual speed up, because the processes are running in the same time frame on different cores. Concurrency and parallelism have some overlapping features. I think the future lies in parallelism. The compiler of a pure language can easily parallelize tasks automatically, because he know when a function is pure (and doesn't have to share resources). This is a huge advantage.
@info305
@info305 12 жыл бұрын
What about Go!?
@gatersaw
@gatersaw 12 жыл бұрын
From personal experience. Guido's sinus congestion/drainage is dependent on a high fat diet. Cut the dairy/meat for a week while on a low fat diet and be amazed.
@thealmaherself
@thealmaherself 9 жыл бұрын
the t shirt he is wearing hahaha i want one
@AhmadAlhowity
@AhmadAlhowity 12 жыл бұрын
Thanks for you Guido - python best language programming
@ryosaeba7070
@ryosaeba7070 11 жыл бұрын
Awsome !!
@mrembeh1848
@mrembeh1848 9 жыл бұрын
I hope he is trolling about not being able to switch slides and coughing into his hand... ;)
@mrembeh1848
@mrembeh1848 9 жыл бұрын
+Embeh He should have not used a better presentation tool. He should know how to use 90% of presenation tools.
@Novous
@Novous 8 жыл бұрын
BEN FOLDS built PYTHON?! My hero!
@lukesimons7620
@lukesimons7620 10 жыл бұрын
shirt by Yoshitomo Nara?
@pedlezelnip
@pedlezelnip 12 жыл бұрын
"...if you use them for what threads were originally meant for, OS level threads are meant for parallel level IO, not for doing parallel computation" It's 2012, not 1980, we all have dual-core or better machines. Aside from Python I'm hard pressed to think of a single language (or for that matter OS) that designs threads solely for parallel I/O and not parallel computation.
@ianfoote
@ianfoote 12 жыл бұрын
Because it isn't needed? I'm not saying statically typed languages are bad - just that dynamically typed languages aren't necessarily bad either.
@umirra
@umirra 12 жыл бұрын
Nice shirt!
@goddardleroy1001
@goddardleroy1001 11 жыл бұрын
That is only a basic necessity, but yes it is possible. The only thing about mutable data is, that it makes concurrency and parallelism more complex. E.g. In a purely functional language, you don't have to work with mutexes, which are a major source of headaches. Also note that there is a difference between parallelism and concurrency. Concurrency means simple that the processes are interleaved, this can be simulated on a single core system.
@VirtualTicher
@VirtualTicher 11 жыл бұрын
Con cuantos años creo Python ?
@diliupg
@diliupg 11 жыл бұрын
2.9????????
@themrkurosawa
@themrkurosawa 12 жыл бұрын
in'st haskell better that any one of those?
@crcaccounts
@crcaccounts 8 жыл бұрын
He states that dynamic languages are not inherently inferior to statically typed languages. That's a huge statement, and he doesn't even bother to back it up. Why would I not take advantage of static typing to catch errors that would otherwise get caught at runtime or not at all. Then he mentions that statically typed languages would not catch unit conversion errors from centimeters to inches. So I should throw away all of the benefits of static typing because it does not cover all cases? And he mentions that the purpose of test is to catch these sorts of errors. But tests will only catch a fraction of the errors. At least with static typing a certain class of errors are made impossible, which compared to a dynamic typed program, would require fewer tests to be written.
@PrashantSohani
@PrashantSohani 8 жыл бұрын
+crcaccounts I guess, the complete story is that in a dynamic language, while you lose some benefits such as type checking, you also gain some others, such as the better ability to express levels of abstraction. So at the end of the day, it's a tradeoff.
@crcaccounts
@crcaccounts 8 жыл бұрын
+Prashant Sohani I would like to hear more about the ability to perform better abstraction. I find the idea of mixin interesting, but this can be achieved in static languages with composition. Duck typing is also interesting, but this is basically a static type language interface. I would've also liked to hear about using python within an IDE. I find refactoring java in eclipse effortless. Want to rename a method that has 100 calls sites? One hotkey and 2 seconds later you're done. If I understand python correctly, grep or sed are your only tools, but doing so is not possible safely since two different classes can share the same method name.
@PrashantSohani
@PrashantSohani 8 жыл бұрын
+crcaccounts Well, dunno much about your other points; but regarding abstraction, static languages could achieve similar things, but the aim of Python is to express a lot of those features using a few common and simple paradigms such as dynamic typing; which BTW also extend to the under-the-hood 'dunder' methods. (For instance, imagine a @validate decorator that can wrap around any function to pre-validate its arguments based on some criteria.) So again, the aim is to make such levels of abstractions possible with visually minimal and beautiful changes in coding patterns. I'm not claiming that static languages wouldn't find ways to achieve the same thing ; it just that they may look a bit artificial, as if it's something that has been hacked on top of, and not evolving naturally from the language itself. Anyway, just a thought.
@frechjo
@frechjo 7 жыл бұрын
The kind of things that Java IDEs do today was pioneered in Smalltalk, a wonderfully dynamic language. Eclipse even began it's life implemented in Smalltalk for Smalltalk (ancestry traces back to VisualAge). Refactoring is very possible in dynamic languages, it just makes inference harder. Look for Alan Kay, Gilad Bracha, David Ungar and Carl Hewitt on dynamic typing, they all have some good points on it. There's also very interesting talk between Felleisen and Bracha about types here on yt. Of course you can do the same stuff, you just do it differently, and that's the whole point. You can implement static types on top of a dynamic language, or you can implement a dynamic language on top of a static one. I'd rather go static on top of dynamic if I really have to.
@beomsookim
@beomsookim 6 жыл бұрын
+crcaccounts Dynamic languages(DL) can do everything that static typing languaes(SL) do; DL and SL is not mutually exclusive and SL is simply a restriction on DL. For example, python supports static typing with mypy library, and I heard that Dropbox resort on this feature to a large degree and improved performance and got ride of typing bugs.
@lixinfish
@lixinfish 12 жыл бұрын
"I see I scared you all".... lol !!!
@ianfoote
@ianfoote 12 жыл бұрын
His point is that this is not the lion's share of their job. Instead the hard bugs that require a lot of work are not found by static typing.
@DarkShroom
@DarkShroom 12 жыл бұрын
11:00 yeah when we look back to the days we where worried no-one wanted python 3 we will laugh at that and then worry about python 4 instead
@caffeinephreak
@caffeinephreak 12 жыл бұрын
18:44 Responds to complaints that a dynamically typed language is not safe.
@jerobarraco
@jerobarraco 12 жыл бұрын
sometimes the solution to a problem depends on how you look at it. there is already pylint
@lethalsub
@lethalsub 11 жыл бұрын
34:47 "There are people running Python on machines with sixty-four thousand cpu's." Does he mean 2**10 when he says "thousand"?
@JamesCPinkerton
@JamesCPinkerton 9 жыл бұрын
Guido's comments on typing suggest he's never coded in Haskell. This "the compiler can't catch every bug so I declare it should catch none" mantra is nonsense.
@DeepDuh
@DeepDuh 8 жыл бұрын
Did you listen to the talk? He has other comments about Haskell than the type system - he likes it but thinks it's not the right tool for all kinds of problems, mainly, when you deal with code that's impure by definition (because of the resources it needs to use). Basically, Python is a Swiss army knife while Haskell is more like universal 3D printer - you can solve all problems with it as well, but for the stuff that a Swiss army knife is fine your development time will skyrocket.
@AbhijeetBhagat
@AbhijeetBhagat 11 жыл бұрын
Awesome Guido and thanks."trolls" have good answers
@MrGigGuy
@MrGigGuy 11 жыл бұрын
2.7 is the latest at this moment (2.7.5).
@GGAAAFF
@GGAAAFF 10 жыл бұрын
Keynote 2012 (Respuestas a preguntas de Trolls): Guido Van Rossum
@GGAAAFF
@GGAAAFF 10 жыл бұрын
Explicación amena y sencilla de características básicas del lenguaje.
@MikeKoss
@MikeKoss 12 жыл бұрын
You can run Python scripts on Android using "android-scripting": code.google.com/p/android-scripting/
@LucasFerreira-jy9kw
@LucasFerreira-jy9kw 7 жыл бұрын
Can u imagine browsers support Python?
@DarkShroom
@DarkShroom 12 жыл бұрын
but go is a compiled language... or is that your point i can't tell. Anyway, I think python being a dynamically typed language that is far cleaner than javascript I really think that python is more representative of the "future language".. i really think/hope javascript will die before python..
@jomuni
@jomuni 9 жыл бұрын
python is awesome except for the excessive parsing yeesh...i used to hate c# because every time id make an error it wouldn't run but with python....if you kinda get it....the program runs the function.....sees something that doesn't make sense. thinks to itself and goes "" meh" looks off but whatever.....changes a critical value to what it thinks it was and you spend hours hunting through mystical magical forests of white-space only to notice the one Tiny semantic mistake error on line 4009
@donmeswimee
@donmeswimee 8 жыл бұрын
+Light Bringer Lol. why in a modular language would you have a 4009 line file?
@bichitomax
@bichitomax 12 жыл бұрын
That is far far far on the future my friend javascript now days is the king of the web.
@SHONNER
@SHONNER 11 жыл бұрын
22:00 I see this all the time with male programmers. Know-it-alls.
@thorstenkranz
@thorstenkranz 12 жыл бұрын
"your argument is invalid" Thanks a lot for your detailed and fruitful comment
@themrkurosawa
@themrkurosawa 12 жыл бұрын
what is not for noob
@pedlezelnip
@pedlezelnip 12 жыл бұрын
Fair enough, all I'm saying is that Guido's argument is pretty weak.
@ryosaeba7070
@ryosaeba7070 11 жыл бұрын
Awsome !!
Guido Van Rossum - Keynote 05 - PyCon 2014
35:06
PyCon 2014
Рет қаралды 50 М.
Stop Writing Classes
27:29
Next Day Video
Рет қаралды 940 М.
Try this prank with your friends 😂 @karina-kola
00:18
Andrey Grechka
Рет қаралды 9 МЛН
Enceinte et en Bazard: Les Chroniques du Nettoyage ! 🚽✨
00:21
Two More French
Рет қаралды 42 МЛН
Арыстанның айқасы, Тәуіржанның шайқасы!
25:51
QosLike / ҚосЛайк / Косылайық
Рет қаралды 700 М.
Oral History of Guido van Rossum, part 1
3:12:00
Computer History Museum
Рет қаралды 140 М.
Haskell is Not For Production and Other Tales
38:19
Linux.conf.au 2016 -- Geelong, Australia
Рет қаралды 100 М.
"The Mess We're In" by Joe Armstrong
45:50
Strange Loop Conference
Рет қаралды 383 М.
Keynote
42:57
Next Day Video
Рет қаралды 31 М.
Guido van Rossum - Keynote: Python now and in the future
59:30
EuroPython Conference
Рет қаралды 27 М.
Google I/O 2012 - Go Concurrency Patterns
51:27
Google for Developers
Рет қаралды 821 М.
Making Badass Developers - Kathy Sierra (Serious Pony) keynote
23:03
The Art of Subclassing
39:48
Next Day Video
Рет қаралды 39 М.
Lin Clark: A Cartoon Intro to WebAssembly | JSConf EU
29:41
Try this prank with your friends 😂 @karina-kola
00:18
Andrey Grechka
Рет қаралды 9 МЛН