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+.
@cenntraru12 жыл бұрын
What a Great, long-expected speech encouraging to co-operate instead of fighting against each other... Inspiring and really kind talk, thank you Guido!
@jonathanccast6 жыл бұрын
No, he's trolling and repeating FUD about static typing.
@f3rdy13078 жыл бұрын
Running Guido presentations in 1.25 speedup turns out to be a great deal!
@ncdave4life8 жыл бұрын
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.
@jdkforchrist8 жыл бұрын
Thanks for this idea.
@graham-moss8 жыл бұрын
The "Faster Video" Firefox extension makes this possible. github.com/ispedals/Faster-Video
@slideon9 жыл бұрын
What he's saying about Python vs. Perl vs. Ruby is so true, their communities and approach to programming are all pretty similar.
@mrembeh18489 жыл бұрын
+Adam Jimenstien His approach is really good! I Agree!
@jonathanccast6 жыл бұрын
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.
@feraudyh11 жыл бұрын
Guido van Awesome!
@JeewanthaBandara10 жыл бұрын
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.
@bladyjoker10 жыл бұрын
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.
@andrewking979311 жыл бұрын
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.
@lixinfish12 жыл бұрын
Great keynote! so much fun~
@guyom7512 жыл бұрын
Agreeing with ancientrussian: great talk, great ideas and great arguments against trolls! Thanks Guido
@grimonce4 жыл бұрын
So, the Python 2 hell never came to an end, even though it is no longer supported.
@ulidtko12 жыл бұрын
Actually one has to be very careful about not calling every criticism he hears as "trolling".
@pedlezelnip12 жыл бұрын
Which isn't an argument against static typing. Those "hard bugs" are there regardless, so why not have static typing?
@lucasdarianschwendlervieir37148 жыл бұрын
Soon it will be 5 years in the future... 11:42
@robertngenzi123410 жыл бұрын
Awesome talk
@milmarcin12 жыл бұрын
@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?).
@goddardleroy100111 жыл бұрын
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.
@info30512 жыл бұрын
What about Go!?
@gatersaw12 жыл бұрын
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.
@thealmaherself9 жыл бұрын
the t shirt he is wearing hahaha i want one
@AhmadAlhowity12 жыл бұрын
Thanks for you Guido - python best language programming
@ryosaeba707011 жыл бұрын
Awsome !!
@mrembeh18489 жыл бұрын
I hope he is trolling about not being able to switch slides and coughing into his hand... ;)
@mrembeh18489 жыл бұрын
+Embeh He should have not used a better presentation tool. He should know how to use 90% of presenation tools.
@Novous8 жыл бұрын
BEN FOLDS built PYTHON?! My hero!
@lukesimons762010 жыл бұрын
shirt by Yoshitomo Nara?
@pedlezelnip12 жыл бұрын
"...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.
@ianfoote12 жыл бұрын
Because it isn't needed? I'm not saying statically typed languages are bad - just that dynamically typed languages aren't necessarily bad either.
@umirra12 жыл бұрын
Nice shirt!
@goddardleroy100111 жыл бұрын
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.
@VirtualTicher11 жыл бұрын
Con cuantos años creo Python ?
@diliupg11 жыл бұрын
2.9????????
@themrkurosawa12 жыл бұрын
in'st haskell better that any one of those?
@crcaccounts8 жыл бұрын
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.
@PrashantSohani8 жыл бұрын
+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.
@crcaccounts8 жыл бұрын
+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.
@PrashantSohani8 жыл бұрын
+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.
@frechjo7 жыл бұрын
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.
@beomsookim6 жыл бұрын
+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.
@lixinfish12 жыл бұрын
"I see I scared you all".... lol !!!
@ianfoote12 жыл бұрын
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.
@DarkShroom12 жыл бұрын
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
@caffeinephreak12 жыл бұрын
18:44 Responds to complaints that a dynamically typed language is not safe.
@jerobarraco12 жыл бұрын
sometimes the solution to a problem depends on how you look at it. there is already pylint
@lethalsub11 жыл бұрын
34:47 "There are people running Python on machines with sixty-four thousand cpu's." Does he mean 2**10 when he says "thousand"?
@JamesCPinkerton9 жыл бұрын
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.
@DeepDuh8 жыл бұрын
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.
@AbhijeetBhagat11 жыл бұрын
Awesome Guido and thanks."trolls" have good answers
@MrGigGuy11 жыл бұрын
2.7 is the latest at this moment (2.7.5).
@GGAAAFF10 жыл бұрын
Keynote 2012 (Respuestas a preguntas de Trolls): Guido Van Rossum
@GGAAAFF10 жыл бұрын
Explicación amena y sencilla de características básicas del lenguaje.
@MikeKoss12 жыл бұрын
You can run Python scripts on Android using "android-scripting": code.google.com/p/android-scripting/
@LucasFerreira-jy9kw7 жыл бұрын
Can u imagine browsers support Python?
@DarkShroom12 жыл бұрын
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..
@jomuni9 жыл бұрын
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
@donmeswimee8 жыл бұрын
+Light Bringer Lol. why in a modular language would you have a 4009 line file?
@bichitomax12 жыл бұрын
That is far far far on the future my friend javascript now days is the king of the web.
@SHONNER11 жыл бұрын
22:00 I see this all the time with male programmers. Know-it-alls.
@thorstenkranz12 жыл бұрын
"your argument is invalid" Thanks a lot for your detailed and fruitful comment
@themrkurosawa12 жыл бұрын
what is not for noob
@pedlezelnip12 жыл бұрын
Fair enough, all I'm saying is that Guido's argument is pretty weak.