35 ms·
“I'm basically giving myself a permanent vacation from being BDFL”
- loa-in-backup 8y agoFor what it's worth, the variant of syntax Guido pushed is a really good choice and the fact that the mailing list "widely opposed" it only tells of the participants. This is just my personal opinion.
- kamyarg 8y agoIt is sad but needs to happen with every BDFL, I really like the tone of the email and I am sure the python core devs would figure out something. :) Finally, Guido if you are reading this, thanks for everything you have done for the language and especially the community behind it. I partly owe loving what I do to you. Hope taking this break would help you be happier.
- deleted 8y ago[deleted]
- shams93 8y agoYes thank you Guido! I started working with python back in 1999 working with zope, now we live in a much easier world where you have many options to deploy python applications, my boss wound up rejecting my project but working with python was just as amazing in 99 as it is today its just so much easier you can see all the work and more importantly love that has been put into the language since its inception. Thanks again Guido for all your amazing work!
- emodendroket 8y agoI have really horrible memories of trying to keep a Plone site in prod from my sysadmin days.
- rectangletangle 8y agoI'm also really sad to see him go. I sincerely hope Guido enjoys his well earned time off. I'm extremely grateful for the amazing community he has fostered around his excellent language. Though as an avid Python user (~10 years), this does fill me with concern. Not only for Guido's health, but for the health of the language. Guido leaves awfully big shoes to fill, and I'm hoping the community is up for the challenge.
- password4321 8y ago>Now that PEP 572 is done, I don't ever want to have to fight so hard for a PEP and find that so many people despise my decisions. PEP 572: Python assignment expressions has been accepted https://news.ycombinator.com/item?id=17448439 https://news.ycombinator.com/item?id=17448439
- ehsankia 8y agoIs the final syntax := surrounded by parenthesis?
- skywhopper 8y agoYeesh, that’s a sad thing to burn out over. Python made this decision to avoid assignment expressions a long time ago and has done fine without this capability. Why not just leave well enough alone? Adding a new variation to assignment syntax (just because of the opinion that = vs == is too confusing (even though C and Ruby and many other languages deal with it fine)) is just going to add more confusion to the language. For a line saved here and there?
- cben 8y agoI had the same gut reaction when I heard the PEP even exists. But now I actually read the PEP, it's very well written and makes a reasonably good case that in specific scenarios it will be an improvement. (My second gut reaction was it should have used `as NAME` postfix syntax. The PEP debunks that too. Turns out it previously proposed that and the switch to := was a major improvement :-) The bigger question is whether the gains justify making the language larger... That's subjective, impossible to settle by debate, and the kind of thing a BDFL can help decide one way or the other :-)
- AdmiralAsshat 8y agoWhat was the issue that was evidently so contentious that it made him wish to step down?
- pwinnski 8y agoBeing on the internet in 2018.
- amorousf00p 8y agoGod yes.
- sametmax 8y agoThe python idea mailing list scaled very poorly for getting proposals into python. It's a harsh confusing place and the absence of tooling and structure doesn't help.
- gizmo385 8y agoAssignment expressions in Python, it seems.
- tom_ 8y agoThe first sentence of the email mentions PEP 572, and the third paragraph mentions his age (van Rossum is 62).
- Analemma_ 8y ago(a := b) rather than a = b Naturally people went to the barricades for it, in a classic example of bikeshedding and Wadler's Law (programmers will fight to the death over trivial syntax disagreements and just shrug at profound changes to semantics and architecture)
- Herald_MJ 8y agoThat's not an accurate summary of assignment expressions. Assignment expressions perform the assignment and also return the value of the assignment. So you can assign and test a conditional at the same time. It's quite an elegant alternative to some quite verbose repetitive code you would otherwise have to write in some scenarios.
- bla2 8y ago> I don't ever want to have to fight so hard for a PEP and find that so many people despise my decisions. Leading a large open source project must be terrible in this age of constant outrage :-(
- sjm-lbm 8y agoIt's PHP and not Python, but every time I read something like this from a major open source figure, I always think of this old PHP mailing list thread: https://bugs.php.net/bug.php?id=50696 https://bugs.php.net/bug.php?id=50696
- Y_Y 8y agoThat's a good read. I feel like the "customer is always right" mentality does quite a bit of harm to OSS support. Also reminds me of that dev (who I can't seem to search up) who had their email printed as part of a open-source software license in a car manual and would get ridiculous email from people who had car trouble.
- JdeBP 8y ago* https://news.ycombinator.com/item?id=16393228 https://news.ycombinator.com/item?id=16393228 * https://news.ycombinator.com/item?id=16763618 https://news.ycombinator.com/item?id=16763618
- ranko 8y agoYou're probably thinking of Daniel Stenberg of curl fame: https://daniel.haxx.se/blog/2016/11/14/i-have-toyota-corola/ https://daniel.haxx.se/blog/2016/11/14/i-have-toyota-corola/
- luhn 8y agoHa, hadn't seen that one before. I did enjoy this related post about him hacking someone's Instagram. https://daniel.haxx.se/blog/2016/01/19/subject-urgent-warning/ https://daniel.haxx.se/blog/2016/01/19/subject-urgent-warnin...
- jagger27 8y agoBDFL? PEP?
- bitmadness 8y agoWow, this is the end of an era! Guido has had an extraordinary impact on the direction of Python and software engineering more generally, and I thank him for his contributions.
- Tenoke 8y agoI got to say, HN has become much looser with the titles since dang took over. It could be for the better (or not), but I definitely see at least 5 top posts a week with an editorialized title now, compared to a lot less before. Edit: Everyone is saying it is fine. Again I'm not saying it is not, but if it is, can you please update this part of the guidelines: >Otherwise please use the original title, unless it is misleading or linkbait. Don't editorialize.
- JustSomeNobody 8y agoIt makes a LOT more sense than "Transfer of Power" does.
- apendleton 8y agoIt's a direct quote from the email. Do you think it was taken out of context in a way that communicates editorial intent? Seems pretty directly connected to the contents of the message to me.
- code_duck 8y agoIt’s journalistic, but is not misleading. “[python-committers] Transfer of power - Guido van Rossum” would be more verbatim, but I think the title is okay.
- Tenoke 8y agoSigh I'm not saying it's not okay in this case, I'm saying that I believe this would've been disallowed before because we didn't want it to be up to people's judgement whether it is okay or not.
- code_duck 8y agoIt’s not an article, and doesn’t have a title, so I don’t know what I’d suggest, personally. We have no idea if the title came from the submitter or a moderator, also.
- 8y ago
- deckarep 8y agoSorry Guido but it’s BDFL — for LIFE! Just kidding and Thanks Guido for all you’ve done for the Python community.
- misthop 8y agoThat is a really interesting point. Without some process formalizing his (desired it appears) removal as BDFL he could override any future construct that is built to guide python. The thought of a schism in the direction of python is worrying. Edited to remove inadvertent backhanded compliment
- deckarep 8y agoHis email made it pretty clear he doesn’t care how things move forward as it’s now up to the community to decide.
- misthop 8y agoYes, it is clear as of now. I expect if a chunk of his life's work looked like it was going to go off the rails he may want to reconsider.
- icebraining 8y agoAt the end of the day, he's not actually a dictator. He's just a contributor with a lot of influence, borne out of respect, and that will remain true regardless of any formal or informal position.
- jimnotgym 8y agoExactly, and if the community as a whole disagreed with him there is nothing stopping them from forking and forming their own org. Nothing except hard work that is...
- hiccuphippo 8y agoBut he is still the BDFL, he's just on permanent vacation.
- whalesalad 8y agoYikes. Python has become so hugely popular and is used for so many different use cases that I fear the ecosystem is going to really struggle to find consistency and direction without a dictator.
- LyndsySimon 8y agoMaybe we'll try something like a triumvirate? As best I can tell there are basically three areas where Python is dominant: web, data science, and academia. A single leader for each of those spheres could form a council where BDFL-level decisions could be made by fiat. Each community could then form whatever organization they felt necessary to choose who to send to the triumvirate. As as check on the power of the triumvirate, we could have something like a "Tribune of the Plebs" - a representative elected by open election from the entire community that holds veto authority over changes approved by the triumvirate.
- 3rdAccount 8y agoThis sounds familiar:)
- LyndsySimon 8y agoHey - I'm from the US. We have a long tradition of stealing organizational ideas from the Romans.
- swyx 8y agoyou're missing a body that can decide in case of implementation disputes over the other two. we could even compare it to a court. since python is so huge, we would have several levels for triaging and appeals. and the top one would reign supreme.
- LyndsySimon 8y agoThis would be the that body - it would be the final arbiter of what gets approved. The Tribune of the Plebs would not be able to approve anything at all, but would be able to unilaterally refuse to allow changes to be made. The UN Security Council is somewhat similar in that respect, though comprised of more members. New matters are approved by majority vote, but the five permanent members can veto anything that gets approved. My proposal is somewhat tongue in cheek, hence the names from the Roman Republic - but I do think the idea is sound. An alternate, simpler implementation would be to simply require that all changes be unanimous. I like the idea of a Tribune of the Plebs though because it gives a second means of a voice should a sizable minority of members of the sub-communities strongly disagree with the direction of their representatives.
- azhenley 8y agoCan someone paraphrase why PEP 572 was disliked by so many people?
- JustSomeNobody 8y agoBecause developers.
- js2 8y agohttps://lwn.net/Articles/757713/ https://lwn.net/Articles/757713/
- kevinwang 8y agoThanks, that was a good summary
- olavk 8y agoSe discussion previously on HN: https://news.ycombinator.com/item?id=17448439 https://news.ycombinator.com/item?id=17448439
- js2 8y agoBackground ("PEP 572 and decision-making in Python"): https://lwn.net/Articles/757713/ https://lwn.net/Articles/757713/
- jcelerier 8y ago> The problem with the C-style of assignments is that it leads to this classic error: if(x = 0) {...} yeah, if you code on 20 years old compilers with no warnings. GCC 4.1 warns about this (with -Wall) and Clang 3.4 warns about this too, without any warning flag.
- Waterluvian 8y agoI think that having strong opinions on how others should be developing software is how communities become toxic like this. "Shooting yourself in the foot is your fault for not using a linter that detects accidental misuse of assignment!"
- jcelerier 8y ago> I think that having strong opinions on how others should be developing software is how communities become toxic like this. Depends on what you think the answer to "is programming an art or a science" is. People who build bridges are absolutely subject to "strong opinions" on how to build bridges. I am of the opinion that shipping software to others when under a contract without using all the facilities available to prevent problems - linting, static type checking, etc - should be considered at best a breach of contract and ideally criminal negligence.
- Waterluvian 8y agoYou're right. There are times where being right is absolutely imperative. Maybe it's a know it when you see it kind of thing. When the debate isn't killing people, it's potentially inconvenient extra coding by a developer, and to appreciate the immense social cost those debates can have.
- 8y ago
- adamnemecek 8y agoEven though I write python only if it’s going to be like 200 loc tops, it’s insane how gracefully the language has aged. It came out in 91, thus predating for example Java. Fun fact, I believe the very first google scraper was written in it. At the same time I can’t wait for the next language to replace it.
- anothergoogler 8y agoPython hasn't changed much, but the world around it has. For better or worse, when jobs in the language were few and far between, it was a friendlier and less competitive community.
- sametmax 8y agoPeople often don't realize this. We hear a lot that python is moving too fast or too slow. To say that disregard the delicate balance the language had to dance on for 20 years. It's crazy.
- adamnemecek 8y agoAgree but it’s closer to 30.
- brettcannon 8y ago28 if you want the exact number. :) Guido started developing Python in December 1989 and went public with it on Usenet in February 1991 (Unicode 1.0 was standardized in October later that year to give perspective of how far back that was in the tech world).
- petters 8y agoWasn't the first Google scraper written in Java? I saw an old Usenet post by Page from about 1997 asking about user agents in Java. Perhaps that was the second scraper.
- adamnemecek 8y ago
- yocoder289204 8y agoPart of the issue here is Guido being a BDFL but then trying to run a project like a pseudo-democracy. If you're a dictator, be a dictator for the good of the project. The worst you can do--and this goes for being a "BDFL" CEO as well--is letting every minor stakeholder derail the process. Leaders are leaders (ideally) because they have an intuitive sense of what's best for the organization or project and can be trusted to make decisions.
- deleted 8y ago[deleted]
- anothergoogler 8y agoAm I mistaken for not considering this PEP (and all PEPs in general) as strongly backed by Guido? I always assumed they were sort of design-by-committee and that he approved of some more than others. Offline, in private, I've been pretty critical of the change, but to me it was just another PEP.
- deleted 8y ago[deleted]
- everdev 8y agoOpen source burnout is real. I'm sure the allure of giving back by creating something useful fades when people constantly criticize your work, especially when you look at the personal and professional sacrifices you're making to produce free software.
- zbyte64 8y agoOne of the pycon keynotes (by Brett Cannon) was on civility in open source: https://youtu.be/tzFWz5fiVKU?t=2785 https://youtu.be/tzFWz5fiVKU?t=2785 If you're a little abrasive (as I am) then I recommend giving it a watch. There's nothing wrong with being right but you don't want to jeopardize the respect and community by not recognizing others in a response.
- Sharlin 8y agoAnd even if there were no other reasons for adopting codes of conduct, that would be reason enough.
- coldtea 8y agoHe did a good work -- got it where it is now. But he also had some specific stickups with some features -- like closures for example.
- tialaramex 8y agoGuido's question gets to the heart of the problem: "So what are you all going to do? Create a democracy? Anarchy? A dictatorship? A federation?" No. None of the above. These are mechanisms which make choices when a choice must be made, even if none of the options is broadly acceptable. An appropriate mechanism for, say, governing a country. Python isn't a country, it's just a programming language, so when there aren't any popular options _doing nothing_ is always the backstop. Does that mean that maybe, eventually, your programming language will shrivel away and become irrelevant? Yeah, it does. But again, not a country, just a programming language, use a different one. Rough consensus is what you need here. PEP 572 never had rough consensus. Could it have obtained such consensus, someday, perhaps, with more work? Maybe, though I doubt it. But it didn't have that when the PEP was rammed through by the Benevolent Dictator.
- icebraining 8y agoWho decides when there's rough consensus or broad acceptance for a change? You have a bunch of people with commit access to the python repository; of course you need some mechanism to decide what goes in. Rough consensus is what you need here. Why?
- tialaramex 8y agoA rough consensus is trivially observable. Look around. Who's left saying that plan Foo is a bad idea? Just that one guy who is a total crank and thinks Python shouldn't support 64-bit processors? Nobody cares about him. How about people who think plan Foo is a good idea? Basically everybody who talked about it other than the crank: OK, that's rough consensus. If you have situations where your "bunch of people with commit access" aren't sure if there's consensus then you don't have a consensus. As to why you need it: Because unlike countries people have a real choice. All your language users are volunteers. (No "Seasteading" and "Freemen on the land" are not real choices). Not only can they freely choose another language instead of Python, they can fork Python and go make their own instead, or maintain the current code frozen in perpetuity. Now, if there really is a 50:50 split between people who must have feature X and people who'll leave if feature X is added to Python, nothing you can do will solve that. So it's wrong to try to design your structures for that problem. More often there is a third way, and consensus helps you to be sure you found the third way.
- krylon 8y agoI haven't used Python in many years, but it was the first programming language I really could say I loved. Everything was was either completely in tune with my intuition or well-documented. I had a lot of fun with Python, and I learned a lot about programming by (ab)using it. I am very grateful to Guido van Rossum and the work he has done, and I wish him all the best for his future.
- jessaustin 8y agoI totally agree with this. In 1999 I had only used C and shell (well lisp a little bit in college), and python was such a breath of fresh air...
- Keyframe 8y agoEven though I am hardwired to C and 'thinking like a machine would/prefers', python was probably the first and only language I didn't feel like it was a programming language at all. Always when I write something in it, it's always 'huh, and that's it? I'm... done?'. Sure, it's equal part due to language and 'batteries', but neither would happen without GvR and awesome community that built around his project and him. Python, to me, is like lisp without parens and with libraries - the future we were promised. Only thing I, personally, can't do is write large(er/ish) codebases with it. I tend to get lost, but that's probably due to my C-like brain. In any case, thanks for everything!
- nikofeyn 8y agohow is python like lisp?
- Keyframe 8y agoThe future we were promised when we bought into what lisp would/could be, with all the practicality we see now in python. Norvig wrote about it more here: http://www.norvig.com/python-lisp.html http://www.norvig.com/python-lisp.html It was from that article when I gave python a serious try and it stuck with me as a go to language for all the small things one does often, but also exploratory programming as well (with iPython/jupyter).
- 21 8y agoAs someone who used Python for more than a decade, a few months ago when I saw PEP 572 and that Guido liked it I knew that it would be by far the most controversial one ever. And I was very concerned that there was no outside community involvement. This is one where there should have been a lot of publicity around, and the community should have been asked (on r/python, r/programming, HN, ...) It's sad to see this, but it's not surprising to me. In general the Python community at large accepted Guido's decisions, but this one was too much of a shock, and when the python-dev discussions where so heated, you can only imagine the response from outside.
- cowpig 8y agoI honestly don't understand why it's so contentious, despite reading the lwn.net article about it[1]. It just looks like some syntactic sugar to me, and I've been in the position where not having that sugar has felt awkward many times writing python. [1] https://lwn.net/Articles/757713/ https://lwn.net/Articles/757713/
- aerovistae 8y agoThanks Guido, for building my favorite language.
- VikingCoder 8y agoI've begged GitHub to institute forms of government for repos. For X action to happen, Y percent of the pool of people in the Z list need to approve it. Membership of the Z list is granted when W percent of the T pool approve it. Modifying the rules of government of this repo can only happen when L percent of the R pool approve it. And on and on... I could imagine a city or state government actually having its laws encoded in Github, and Github itself enforces the governmental system of checks and balances. Congress. Senate. President. Veto. Overriding a Veto. Laws of succession. Elections. On and on.
- kdkeodoid 8y agoAll hail our new Microsoft overlords!
- _wmd 8y agoTechnology cannot solve social problems
- zbyte64 8y agoTry solving social problems without technology.
- dragontamer 8y agoThe fundamentals of Robert's Rules are lost upon many people today. The creation of clubs and secret societies was an art of the late 1800s. Today, people over-leverage technology and under-leverage the fundamentals of club-building. Roberts Rules are about creating a protocol where people each take turns to talk, under a set of rules that gives everyone a chance to voice their opinions... but still allows progress and ultimately a decision to be made. That's the important part: how to achieve consensus among a group of people. The ideas of democracy, discussion, minority votes, and rules of how to conduct the discussion are all important. Some groups still use Robert's rules, but many people don't even understand what a deliberative body is meant to do. (IE: most people don't understand Congress's role in society anymore). Its basically been replaced by meme culture and Reddit moderators creating serfdoms and/or dictatorships.
- sametmax 8y agoAs a personnal note, you could feel that guido was already in this mood for a while from the tone of the last year tickets and mails. It's amazing he managed to not explode at somebody. I know i would have if our roles had been reversed in some exchanges we had. Good writers, comedians or directors know when to quit at the top their carreer. I think he is quitting before the situation was too taxing and that is wise and courageous. Espacially since it's been more than 2 decades of service. Plus he is leaving his baby. That's an amazing move.
- Havoc 8y ago>It's amazing he managed to not explode at somebody. Like a certain other BDFL occasionally does?
- IgorPartola 8y agoDon’t know why you are being downvoted. Linus’s tirades and diatribes are famous for how brutally personal they get. I still maintain that they are a waste of time and he would be a more effective leader if he limited his responses to “this is a bad idea” or “this isn’t done right” instead of writing pages long personal attacks on other members of the project.
- raverbashing 8y ago> if he limited his responses to “this is a bad idea” or “this isn’t done right” And then people keep wasting his time insisting on a bad idea Cultural differences and all that. A good 'perkele' will be enough to get the point across in most cultures, even if some leave a bit disappointed.
- gkya 8y agoIt is easy to filter such people out. Especially if it is email the sole medium of contact.
- 8y ago
- theandrewbailey 8y agoPython was my first programming language, ~15 years ago. The bracket- and semicolon-free syntax is beautiful and approachable to this day. Python is my go-to for writing data format conversion scripts. I wrote a random sentence generator in Python 10 years ago that gave me and my friends hours of entertainment. Thanks, Guido, for the good times!
- fit2rule 8y agoI can never get into Python and end up with as much passion as you. For me, its a very powerful and useful language - no doubt about it. But the aesthetics of a whitespace language just don't jive with my 30+ years of experience writing code. No matter how many times I try over the past few decades, I just can't get passionate about writing Python code. I know its power, and I totally grok its value to our industry - but for me, Lua is just far more elegant, even if it doesn't ship with all of Pythons' goosebridles. Lua is my go-to scripting language; I only ever use Python if I have to - i.e. its enforced on me by others. I really do try to get over this personal handicap, often enough, but the moment I have to start thinking about indentation I just lose all the passion and it starts feeling like a drag. What a dilemma, because I know it has been used for many, many great things .. I just wish I could get over my aversion to white-space'ing things all the time. I've tried editor after editor (well, expect the Python-specific things), but it just doesn't click. Ah well.
- patejam 8y agoThe indentation should be almost the same as any other language. Unless you have an aversion to consistent code-style. Python whitespace was only annoying for me years ago when it still had trouble handling tabs and spaces in the same file, and you would run into literally invisible bugs. I haven't run into that in a long time, though.
- rabidrat 8y agoIt's also basically impossible to cut-and-paste code from a web forum. Was that "else" from the inner or the outer "if"?
- sametmax 8y agoIt's going to be very interesting to see if things like: - pattern matching - inline exception catching - path inclusion in the built in - more functional tooling - lazy keywors That were BDFL-blocked, will go back to be debated in the mailing list in the next months. And if yes, will the community stands by its root or create a new era ? The consequences of which we will only really see in 10 years. Guido as done an incredible job at being the boogie man, keeping the language simple and readable. It's a hard job. Can we pull it off ?
- bluecalm 8y agoI think he made a right call blocking all of those. There are Pythonic ways to do all of those already and the mantra there should be one and preferably one way of doing things is important for the philosophy of the language. With PEP 572 it wasn't like that. There wasn't a Pythonic way to do list comprehensions which used the same expensive to evaluate expression two times in it and it was I think the only glaring syntax weakness in comparison to languages which have a way to do that (like WHERE keyword in Haskell).
- rthomas6 8y agoWhat's the Pythonic way of pattern matching?
- sametmax 8y agoThere is none in the language, and no proposal has gain much traction on python idea.
- owaislone 8y agoA dictionary of string: functions I guess? Don't think there is a decent one
- marcosdumay 8y agoThat's parametrized jumping. Pattern matching is parsing a structure with variables and filling those variables from a single structured value. Python does that with tuples: a, b = b, a But it just stops there. To be fair, I don't know how much power it would gain by going further either. Never made that question.
- tschellenbach 8y agoThank you for your hard work Guido. Python is one of the nicest programming languages to work with and will continue to thrive in the years to come.
- rurban 8y agoNow this is a very dangerous situation, looking how perl5 was handled after Larry wall left them and stepped over to perl6. Constant infighting of the core devs, useless communication on the mailing list, not a single worthwhile feature being implemented in 15 years, even if perl6 and Larry designed tons of them suitable for perl5, total destruction of the syntax and the core. The better counterexample was perl6 with stricter processes and some capable devs remaining, but still it's another minefield. Good luck, tons of work to do. python 3 could get 10x faster and catch up to php7 or javascript, types could get properly integrated but I don't see it coming. Usually you have to expect the worst.
- SwellJoe 8y agoI think had it been a more clear demarcation, like this, Perl 5 would be in much better shape today. Perl 5 has been doing well for a few years now, but it took a while for the Perl 5 developer community to fill the void left by Larry; there just wasn't an acknowledgment that there was a void to fill. Larry didn't die, still kinda paid attention to Perl 5 for a while, but his heart wasn't in it and his attention eventually shifted fully to Perl 6. Now, the Perl Pumpking (a sort of Benevolent Punching Bag for the Next Release; they do have the ability to decide which patches go in, but usually don't wield it like a dictator) along with the dev community, does their thing...the pumpkin gets passed along every year or three, and things continue. And, Perl 5 is developing nicely in a way that it didn't for about a decade while there was so much uncertainty. The Pumpking existed before Larry left Perl 5, but acted more in a support role (as I understand it), so it seems like it took a while for it to become an acknowledged executive position when Larry faded from view in Perl 5 development. I think Guido is doing the best thing for Python. If his heart isn't in it, stepping back in a clear way is much more helpful that drifting away and leaving a void of leadership with no one feeling empowered to step up. There are people who are recognized as being contenders for the throne, and there's already a long-standing community process. I think Python will be fine.
- zbyte64 8y agoCan tell you performance has never been an issue for me and python. Usually when I see the claim come up it is usually a poor test (ie "let's see how fast we can read from a database") or not knowing the performance options available to python. You can use pypy for JIT compilation performance. You can use eventlet to add co-operative threading / evented processing. Use multiprocessing if you want to use more than one core. The point of python is to optimize for human understanding 1st, and if your abstractions are good then you can enable extra performance with other libraries.
- Pica_soO 8y agoThey will form a Anarcho-Syndicalist Commune. BDFL power can not be derived from some aquatic farce.
- leothekim 8y agoPython is certainly one of the more opinionated languages in the OSS world, so there was always going to be contention on syntax and what it means to be Pythonic etc. Kinda amazing Guido put up with it for this long. Thank you, Guido, for putting the B in BDFL when you could.
- thinkingemote 8y agoWhat does BDFL stand for?
- primitivesuave 8y agoBenevolent Dictator For Life.
- dinosaurs 8y agoBenevolent Dictator for Life
- loa-in-backup 8y agoBenevolent Dictator For Life
- theandrewbailey 8y agoA list (but Guido is the original): https://en.wikipedia.org/wiki/Benevolent_dictator_for_life https://en.wikipedia.org/wiki/Benevolent_dictator_for_life
- kyberias 8y agoBenevolent dictator for life. Next time, use Google, thanks.
- amorousf00p 8y agoGod, I can empathize even if only at a much less prominent vantage. The skills, will and effort involved are at a level far more than a 50+ can reasonably sustain into the early 70s (if that is the prospect).
- klez 8y agoActually he's 62 (I know, I was surprised too!)
- mattio 8y agoEnjoy your well deserved holiday! Send us a postcard ;-)
- abisxir 8y agoWe started to program with python around 2009, and continued until now and it is my firat choice for almost everything. Thanks Guido for all the fun that we made with python and eased the life of bankers :/
- AdamN 8y agoGentle reminder that Python 2 only has 17 months left...
- smithmayowa 8y agoIt is Great to see the speed at which wikipedia has updated this occurrence. https://en.m.wikipedia.org/wiki/Guido_van_Rossum https://en.m.wikipedia.org/wiki/Guido_van_Rossum
- parham 8y agoThank you for all your efforts and hard work. It has changed a lot of lives and will continue to do so for a long time. Enjoy the vacation and take care of yourself.
- Buetol 8y agoLooks like the Python project is gonna migrate to be democratic, so the decisions can’t be blamed on one guy. That’s interresting how this happens in more and more projects !
- erikb 8y agoI believe a big part of Python's success is owed to Guido. However I don't think this is a good move. It's not very likely, but not impossible that this will even kill Python. Doesn't he have any people he trusts in the inner circle of Python development? Would've been much better to have power slowly and uncommented slip into their hands. A process that could have been started years ago. Feels a little like this: https://imgur.com/gallery/IYYmtqL https://imgur.com/gallery/IYYmtqL
- deleted 8y ago[deleted]
- gigatexal 8y agoThank you Guido for creating and shepherding such an amazing language one that has been my go to language for years for its ecosystem and it’s beauty. Seriously thank you so much.
- lifeisstillgood 8y agoTo Guido, a career's worth of thanks (I doubt I would have had one without Python) and for being encouraging and supportive to a very young dev at a long ago conference - to keep that up over decades means encouragement, mentoring and optimism was bred in your bones. Have a lovely permanent vacation. To the python community, I hope we can find a successful, democratic way forward. To myself, public service is a good thing - try harder !
- agentultra 8y agoThanks Guido. Python was my primary language from around 2004 - 2017. I've had the chance to present at Pycon a couple of times and get my feet wet in contributing to open source projects with Python. Best of luck.
- at-fates-hands 8y agoWhen I first started getting into programming (was not a CS major in college) everybody said to start learning Python first. I started digging in and a lot of concepts were easy to grasp and I learned quite a bit until I started doing front-end work and I stopped working with it. This year, my buddy who got me into it originally, suggested I look at django and I've been having fun with that in the past few months. Made me think about picking Python back up and working with it again as the front-end scene is just so crazy right now.
- dfsegoat 8y agoWe run django with django-rest-framework in production to provide our frontend app with the JSON api it needs -- it has some gotchas and isn't perfect, but is a treat to work with when you want to split time between front and back work.
- hermitdev 8y agoI learned Python ~14 years ago. I already had decent C, C++ & C# knowledge, plus a handful of assembly languages. I already knew how to program, but was taken aback by how approachable Python was. I can't remember if I started on 2.2 or 2.4, but I basically learned 99% of what I needed to know in the first few days. In the last 14 years, I've written a significant amount of Python, mostly for work (finance/trading). It's no exaggeration to say that my Python apps had billions, even trillions of dollars worth of orders/transactions/contracts flowing through them, and Python was rock solid for me every time. It's still my scripting language of choice. I'm still more likely to rewrite a Perl script in Python than I am to try and make any significant change to the Perl script. I like the "batteries included" approach, and that the Python devs prefer to add new features via libraries than new obtuse syntax. I think most of the recent syntax changes were well deserved and wouldn't otherwise have been well served by a library (thinks like async, context managers, and going back further generators and the if/else ternary expression). Also, I'm almost exclusively on Python 3 now. The only real issue I've had is constantly needing to remember how to properly open a CSV file for reading (I really don't know how they let that wart live for so long).
- Animats 8y agoIf only he'd done that before that weird unchecked advisory typing thing.
- czardoz 8y agoA well deserved vacation! Thank you for the amazing stewardship over decades, Guido.
- jVinc 8y agoAll this over a god damn bikeshed that no one will care one way or the other about 6 months after its implemented. He didn't loose faith after the 2->3 transitioner but but a goddamn assignment operator that works just like so many other languages. I mean it was bound to happen at some point, but I am really disheartened that it happened in this way.
- Dowwie 8y agowhat you're seeing is the straw that broke the camel's back
- kolpa 8y agoPython's original "sales pitch" was that it was a clean and simple language. As years go by and more weird stuff is piled in, it becomes less Pythonic.
- antt 8y agoI forget which book this was from, but when I was learning python back in 2003 a major selling point was 'you can't make assignments in control structures'. Happy days to a physics undergrad who had seen more if(a=3) in C code than he could shake a stick at. Sometimes less is more. Python is turning into more is less. It doesn't need to be everything to everyone.
- jay754 8y agoThank you Guido for everything you have done.
- PoarNeemn 8y ago>Now that PEP 572 is done, I don't ever want to have to fight so hard for a PEP and find that so many people despise my decisions. Or you could just not implement horrible changes.
- leibnitz27 8y agoHe's finally going to admit that the whole python thing was a terrible, terrible joke, it got completely out of hand, and he can't believe people fell for it.
- antpls 8y agoIf Guido wasn't himself while writing the PEP572, I ask for a new vote about the PEP572. I vote against it, the PEP572 should not be implemented. To me, it seems a restricted variant on the specific cases "if" and "while" would be good enough, without generalizing to more cases. The exemples of assignment with "all()" and "any()" make me sad. Python had only one way of doing things, now it has two. Reading Python code will be more complicated now than it was 10 years ago for newcomers Edit : I'm sick of all the downvotes on HN. Everytime we post an opinion against the consensus, it ruins the karma, even if the comment is honest. And of course, I can't downvote people, since people keep downvoting me, I never reach the threshold to vote against any comment. The system is unfair to newcomers.
- protomyth 8y ago> If Guido wasn't himself while writing the PEP572, I ask for a new vote about the PEP572. I vote against it, the PEP572 should not be implemented. There is really nothing in the e-mail that indicates that. I can only imagine the message it would send to recall the PEP. I guess it would confirm his decision in a most callous way.
- antpls 8y agoSome people on Internet are reconsidering a second vote for the Brexit, while that PEP didn't even have a vote at all, given it was a dictatorship so far. Guido wrote the principles of Python, the principles should outlive his reign. :-)
- protomyth 8y ago> Some people on Internet are reconsidering a second vote for the Brexit That really isn't a fair comparison. This is about one person, not two opposing groups.
- antpls 8y agoWhat I meant is, even if democracy isn't perfect (see the Brexit case), a form of democracy maybe a better system in some situation than the dictatorship of one person.
- pnathan 8y agoGood for him! I hope he has a long vacation and enjoyment without the responsibility. As he says, the bus is around the corner, and the reaper comes for us all - so governance is a key component of an institution.
- jacquesm 8y agoReading that thread is like reading an actual Monty Python plot. Guido van Rossum has given his life for this language and besides the obligatory 'thanks for all the fish' there isn't even a single person who stops the clock to evaluate what went wrong that they pushed out the person that started this all. Instead it's 'kthxbye' and they're already dividing up the cake to see who gets to rule. Not the nicest moment in the history of FOSS, I wonder what kind of a mess will ensue when Linus steps down.
- comesee 8y agoThanks Jacques, sadly this is human nature. Lower ranking males tend to act in ways that subvert higher ranking males, even if they aren't conscious of it or never admit to it. Benevolent dictators are never for life, it is only the aggressive dictators that persist until death. Authority isn't always nice, but required for a stable organization.
- fit2rule 8y ago> Lower ranking males tend to act in ways that subvert higher ranking males Just want to say: It has nothing to do with sex - women do this also. Please refrain from characterising whats going on with Python right now as being a consequence of some sort of masculinity out of control, because I fear that is a falsehood and does you - and anyone who tries to agree with you - a major disservice.
- robertk 8y agoThat was nicely said. The statement is factually accurate but is the corollary of how to lie with statistics (how to lie through omission by characterizing group X as possessing property Y when it is also possessed by X complement). There is no wrongdoing mathematically, but it does show that selective vision is a force for damage if wielded improperly or with agenda.
- comesee 8y agoI would guess women do it as well, but the study I read on this topic only found it was true for men. I don't care if people disagree or dislike what I'm saying, it's true nonetheless. People harm themselves by not listening.
- cjhanks 8y agoWhen you take the joy of programming from somebody, you cannot expect them to stick around. At some point, we all have enough. Excited to see what Guido wants to do next, enjoy it!
- BtdTom 8y agoThank you for your creativity, support, and stewardship Guido. You left a permanent mark on the programming community!
- wruza 8y agoAll these discussions on minor but convenient changes remind me the (famous?) quote: “When art critics get together they talk about content, style, trend and meaning, but that when painters get together they talk about where can you get the best turpentine.” It’s sad to see how critics get in the way of an artist who just needs low-level things to be fckng done in a safe-enough way.
- realcr 8y agoGuido, thanks for all your work on Python. It made a huge impact on my life. I have been writing python for the last 12 years and enjoyed every moment. For many years Python was the best way for me to translate my ideas into a working program, and it made a major effect on the way I think. I wish you great luck on all your future endeavors!
- robotkdick 8y agoFor anyone else wondering what BDFL means: Benevolent Dictator For Life (BDFL) is a title given to a small number of open-source software development leaders, typically project founders who retain the final say in disputes or arguments within the community. The phrase originated in 1995 with reference to Guido van Rossum, creator of the Python programming language.[1][2] Shortly after van Rossum joined the Corporation for National Research Initiatives, the term appeared in a follow-up mail by Ken Manheimer to a meeting trying to create a semi-formal group that would oversee Python development and workshops; this initial use included the additional joke of naming van Rossum the "First Interim BDFL".[1] Source: Wikipedia It's interesting that GvR seems to have been the first official BDFL
- Communitivity 8y agoThis is sad to see, but necessary at some point, as others have said. We should all thank him for his contributions, and for the advances in data science experiments enabled by Python's ease of use, good design, and advanced features. I am glad that Python is recognized as the quality language it is. Perhaps it's synchronicity that in other news this week Elon Musk triple hearted Python, https://twitter.com/elonmusk/status/1016002749446516737 https://twitter.com/elonmusk/status/1016002749446516737.
- slics 8y agoIt takes someone dedicated to do what you have done for this long. You need the vacation more than anyone else. I wish you had a tip bucket somewhere and I’ll gladly donate for some of your vacation cost, simply a thank you tip for your tireless effort.
- err4nt 8y agoWow, thank you so much Guido for the many years of leadership. I'm sure the community will make you proud in the years to come!
- amag 8y agoPython is the language I chose to teach my 7 yr old daughter. Much thanks to the uncluttered syntax which requires a minimum number of explanations of non-essential parts of a program. Thanks Guido for giving us Python!
- deleted 8y ago[deleted]
- xchaotic 8y agoDamn Putin and his KGB/FSB - Crimea, brexit and now this - trying to undermine my fave programming language...
- MrXOR 8y agoGREAT dictator! Thanks for Python
- MrXOR 8y ago>(I'll spare you the list of medical issues.) It is bad news, is Guido fine?
- nopacience 8y agoGuido van Rossum, "the creator of python", created the following page to show he has aged over the years: https://gvanrossum.github.io/pics.html https://gvanrossum.github.io/pics.html I prefer perl, but thanks for python! Diversity is good always :)
- nopacience 8y agoAs a big influencer, Guido, "the creator of python", even inspired austin powers character Guido (1995) https://gvanrossum.github.io/images/Guido@200dpi.jpg https://gvanrossum.github.io/images/Guido@200dpi.jpg Austin Powers (1997) https://m.media-amazon.com/images/M/MV5BYWY1ZTdlZTEtYWRjOS00OTE1LTg4NjgtYTA2M2I0ZjQ2MzAxXkEyXkFqcGdeQXVyNzU1NzE3NTg@._V1_CR0,30,250,141_AL_UX477_CR0,0,477,268_AL_.jpg https://m.media-amazon.com/images/M/MV5BYWY1ZTdlZTEtYWRjOS00...
- TheMagicHorsey 8y agoI don't know if it's just me, but if you read the forums and bug reports related to open source projects, it feels like programmers today are a really entitled lot. The tone that people take when filing bug reports for what is basically free software is reprehensible. People are doing work for FREE to benefit you, and you take a tone with them like you are a prince and they are your royal goblet holders? Who taught these human beings their manners? I totally understand the frustration when you write a large system in Python and then the Python committee makes a breaking change that makes your life very difficult. However, you didn't pay for Python! These sorts of changes should be expected, and if you didn't expect it, you are the fool. And in any case, you aren't paying these people a cent, so speak politely to them. You are basically a charity case from their perspective.
- newen 8y agoIn the majority of cases, they are getting paid to code it (by some company, organization, etc). And they benefit from the popularity of the the software. So I don't think I need to see myself as a charity case or adopt a please please please attitude with them.
- domoritz 8y agoWhere do you get "in the majority of cases" from? https://twitter.com/NumFOCUS/status/1017418416725155840 https://twitter.com/NumFOCUS/status/1017418416725155840.
- about_help 8y agoAgreed. No need to be a dick, but bug reports are often pretty cut and dry and often some frustration does leak into the tone. Any big project, whether code or some local government thing, will have some level of assholes.
- habosa 8y agoI maintain a number of open source projects for Google. So yes I am paid to do it and yes the company benefits from it. That said, it doesn't mean that developers who use it can take an entitled stance and expect to get anywhere. I get so many bug reports like "This sux and you have to fix it!!!!" and even when I wake up on the right side of the bed, there's nothing I can do with those. A calm discussion of what the developer is trying to achieve, what they expect to happen, what actually happens, and how I can reproduce will get a quick response from me 100% of the time.
- deleted 8y ago[deleted]
- sverige 8y agoSorry, but I don't see how it is his responsibility to choose a successor or create leaders. There are obviously a lot of devs on the project who were resistant to his direction, which contributed to his exhaustion. I think it's great that he's telling them to figure it out themselves without his input. It's exactly what is needed, since it is likely to reveal the fissures more clearly. It's a lot easier to bitch than it is to lead; maybe some of them will discover that in a way they hadn't anticipated. Hopefully they figure it out before it implodes or fractures, but if not, there's a future that can handle that as well.
- tmaly 8y agoI think it will be interesting what structure of leadership will replace BDFL.
- randomsearch 8y agoExcluding the 2/3 debacle, Guido has overseen an incredible progression in Python. It has become a contemporary lingua franca for coding, and the concept of a “pythonic” approach has been hugely influential. I’m disappointed that he broke Eric Raymond’s rule: “When you lose interest in a program, your last duty to it is to hand it off to a competent successor.” The email sounds bitter, which is tremendously sad, and I hope that after a break Guido will be able to oversee a more constructive transition.
- OmarIsmail 8y agoMy guess for lack of successor is that he doesn't want to burden someone else. It's probably one of those things like being a head of state where you don't really know what it's like until you've done it yourself. So people that want to be Python maintainer do so because they don't know what they're asking for.
- uluyol 8y agoI saw it more of being that he doesn't want to impose a particular style of governance after removing himself from the project. The remaining devs should run it however they see fit.
- maxerickson 8y agoYou've come to the wrong conclusion, he handed things off to the core developers. It's not like there are 45 million people with commit privileges over there.
- AlexCoventry 8y agoI wouldn't call 2->3 a debacle. It brought me along in the end, and I was a huge refusenik.
- linsomniac 8y agohttps://youtu.be/tzFWz5fiVKU?t=49m27s https://youtu.be/tzFWz5fiVKU?t=49m27s Related: Brett Cannon's Keynote at PyCon 2018 about why he had to take a break from Python core development. I was sitting with him before the talk, and it was a really, really hard talk for him to give, emotionally.
- K2h 8y agoSo, not knowing what BDFL was, does wikpedia https://en.wikipedia.org/wiki/Benevolent_dictator_for_life https://en.wikipedia.org/wiki/Benevolent_dictator_for_life now need to get updated?
- vladsanchez 8y agoI'm afraid this will be Python's demise. I've seen many non-Pythonic idioms that I question PEP's rationale at this point.
- nehemiahjacob 8y agoHe should have done that before creating Python3
- Windson 8y agoThank you Guido, https://www.thankyouopensource.com/letter/280/Thank-you-Guido!/ https://www.thankyouopensource.com/letter/280/Thank-you-Guid...
- BerislavLopac 8y agoI'm not at all optimistic about this. I understand Guido's motives and sympathise with him, but I'm afraid this will have a very detrimental effect on Python and how its development is managed. He says: "... I don't ever want to have to fight so hard for a PEP and find that so many people despise my decisions." I can only imagine what might happen without a single decision-maker -- just think of all the vitriol that was thrown about the migration to Python 3. At best there will be endless discussions, often being decided in favour of whoever was the loudest and most aggressive on the mailing list; at worst, we might end up with multiple competing forks of Python specification and implementations... I'm hoping that the PSF will be able to elect a single "product owner"; I don't expect them to have the same amount of influence and respect Guido had, but it would be a good start.
- elmozyz 8y agoUnfortunately, electing a single product owner is now a decision the core devs will have to weigh in on - which means it wont happen. Design by committee is a terrible way to run Python
- HNSucksAss 8y agoWhatever “BDFL” is. Climb out of your hole.
- jasonkostempski 8y ago"bus lurking around the corner" caused me a Family Guy style flashback. "Like that time [victim of an unsolved bus stop stabbing] was killed by a bus." victim sitting alone at a bus stop. glint of light from the dark alley in back. bus jumps out, stabs victim. bus enters street, transforms into normal bus, drives off.