Slashdot Mirror


Python Language Founder Steps Down (zdnet.com)

After almost 30 years of overseeing the development of the world's most popular language, Python, its founder and "Benevolent Dictator For Life" (BDFL), Guido van Rossum, has decided to remove himself entirely from the decision process. From a report: Van Rossum isn't leaving Python entirely. He said, "I'll still be there for a while as an ordinary core dev, and I'll still be available to mentor people -- possibly more available." It's clear from van Rossum's note he's sick and tired of running the organization. He wrote, "I don't ever want to have to fight so hard for a PEP (Python Enhancement Proposals) [PEP 572 Assignment Expressions] and find that so many people despise my decisions." In addition, van Rossum hints he's not been well. "I'm not getting younger... (I'll spare you the list of medical issues.)" So, "I'm basically giving myself a permanent vacation from being BDFL, and you all will be on your own." From the email: I am not going to appoint a successor. So what are you all going to do? Create a democracy? Anarchy? A dictatorship? A federation? I'm not worried about the day to day decisions in the issue tracker or on GitHub. Very rarely I get asked for an opinion, and usually it's not actually important. So this can just be dealt with as it has always been. At Slashdot, we had the privilege of interviewing Guido van Rossum, a Computer History Museum honoree, in 2013.

35 of 241 comments (clear)

  1. Comment removed by account_deleted · · Score: 2, Interesting

    Comment removed based on user account deletion

  2. Yup by Daetrin · · Score: 3, Funny

    "Guido van Rossum, has decided he would like to remove myself entirely from the decision process"

    Definitely sounds like a dictator! Or a poor editor! Or both!

    --
    This Space Intentionally Left Blank
  3. We'll lose the first generation by Bruce+Perens · · Score: 5, Insightful

    I'm 60, and yeah, health things creep up on you. We'll lose the first generation of Free Software / Open Source folks soon.

  4. Meanwhile in Perl land... by Mal-2 · · Score: 5, Funny

    Meanwhile in Perl land, the founders have tried to step down multiple times, but nobody could read their resignation letters.

    --
    How is the Riemann zeta function like Trump rallies? Both have an endless number of trivial zeros.
    1. Re:Meanwhile in Perl land... by Bruce+Perens · · Score: 4, Funny

      Fortunately for them, there's more than one way to do it!

    2. Re:Meanwhile in Perl land... by DCFusor · · Score: 2

      I think they now just call perl6 Rakudo, rather than the idiocy of having two incompatible languages of the same name like python. And it seems Larry is more or less out of implementation altogether - just a spiritual leader now.

      --
      Why guess when you can know? Measure!
  5. Salute to you Sir! by Qbertino · · Score: 4, Insightful

    Thank you for the wonderful language. Someone who devotes such significant portions of his life to the greater good deserves respect. I also hope he has long years and a healthy life to live ahead of him and can watch his baby grown and mature even further. Python is a beautiful language, IT would be poorer without it.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:Salute to you Sir! by drinkypoo · · Score: 3, Insightful

      IT would be poorer without it.

      Yeah, what would we do without code samples whose flow is destroyed by copying and pasting them from webpages? That's really improved my life!

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    2. Re:Salute to you Sir! by Pseudonym · · Score: 4, Interesting

      You can tell a lot of thought was put into Python, but almost exactly none of that thought came from anyone who knew more than a couple of programming languages. Python reimplements many of the mistakes of the past, and not very well.

      IT would indeed be poorer without Python. There's a whole cottage industry in getting rich from fixing broken Python code.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    3. Re:Salute to you Sir! by drinkypoo · · Score: 3, Insightful

      I consider a communication medium that mutilates messages to be defective, not the messages that are being mutilated.

      If the same thing happens to a piece of C code, a) it still works and b) you can run it through indent to get back something human-understandable. Python has to exist in the real world where things like this happen. The people who defend this characteristic of Python clearly do not live where the rest of us live.

      We used character position to control flow by putting things in columns on the older computers. Then we stopped doing that, and it was a significant advance. Then Python started doing it again.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  6. out of the loop by bugs2squash · · Score: 5, Funny

    Stepping down is no good, to truly be out of the loop you have to un-indent.

    --
    Nullius in verba
  7. TESP: Backspaces instead of indents by goombah99 · · Score: 4, Funny

    TrouserSnake Improovmet Proposal #0001: Because of the confusion caused by the inconsistent use and display rendering of White space Tabs versus spaces, the proposed change is to use backspaces to denote block clauses. A further extension of this proposal is to center justify all lines of text. This will end the discrimination of the left justification hegemony that disenfranchises cultures the practice Left justification. Center justification is fair and "just".

    --
    Some drink at the fountain of knowledge. Others just gargle.
  8. I'm the new dictator by 110010001000 · · Score: 4, Funny

    I've taken over Python from Guido. My first edict will be to require that only tabs be used for whitespace. This will save valuable disk space. No complaints allowed. I am also assigning APK as my vice-dictator.

    1. Re:I'm the new dictator by 110010001000 · · Score: 4, Funny

      Good thinking. You will be my other vice-dictator in charge of the Code of Conduct for the language.

  9. Re:Questions and observations by Yosho · · Score: 5, Informative

    Are there any computer languages that are well-designed and well-documented?

    "Well-designed" is purely a matter of opinion, and I'd say there are many that are well-documented. To be fair, there's a distinction between language documentation and standard library documentation, and sometimes library documentation can be a bit lacking -- but there are still many that are excellent.

    Why was there enthusiasm for Python? It seems to me that now there is less enthusiasm for Python. Is that correct?

    Python is the second most popular language on GitHub and its popularity has been climbing yearly. There are many reasons why there's enthusiasm for it, and they're mostly personal opinions, but many people would tell you the reasons they like Python are the speed of development, intuitive language syntax, a comprehensive standard library, and massive numbers of open source libraries.

    Why do programmers adopt new languages so enthusiastically? Is that an interesting hobby?

    Yes, actually, designing and learning new languages is fun for many people.

    --
    Karma: Terrifying (mostly affected by atrocities you've committed)
  10. Re: Questions and observations by TJHook3r · · Score: 4, Insightful

    Python is incredibly popular due mainly to flexibility and ease of use. It's taught in schools so I imagine it will only keep growing although Guido leaving is a bit of a blow.

  11. Wow! You can step down from founding something? by uCallHimDrJ0NES · · Score: 2, Funny

    This is great! I thought being a founder of something was an indelible historical event, but apparently, you can step down from being a founder! I'm going to go found some evil groups right away...once I step down, I won't be a founder any more, so I will be absolved forever. Awesome!

    --
    Cloudiot: A person who does not see offsite storage as a way to lose control over access to his or her own data.
    1. Re:Wow! You can step down from founding something? by uCallHimDrJ0NES · · Score: 4, Funny

      I don't have to defend my observation. I've stepped down.

      --
      Cloudiot: A person who does not see offsite storage as a way to lose control over access to his or her own data.
  12. Re:(sic)?? by Geoffrey.landis · · Score: 4, Informative

    "sic" isn't used in the summary, so I assume you are referring to the use in the actual article, https://www.zdnet.com/article/...

    the quote is: "I don't ever want to have to fight so hard for a PEP ... and find that so many people despise (sic) my decisions."

    The word "despise" seems to be correctly spelled, so it's not clear why it should marked sic. Technically, that's just Latin meaning "thus," (implying correct as written verbatim from the original)-- but since it is correct, there's no particular reason to point that out-- it's not a misspelling.

    So, I don't know why the "sic" either.

    --
    http://www.geoffreylandis.com
  13. So Long and Thanks For The Snakes by SoftwareArtist · · Score: 3, Insightful

    The IT world would be poorer without all his work. Time for a well deserved vacation.

    --
    "I'm too busy to research this and form an educated opinion, but I do have time to tell everyone my uninformed opinion."
  14. Re:Questions and observations by unimacs · · Score: 2

    There's not a lot that's completely new. Maybe it's just me but it seems like most "new" languages I see bear a strong resemblance to one or another old one. So why the new ones? They aim to fix some weaknesses that existed in the older languages. Python to me seems likes a reaction to the arcane and messy world of perl scripts.

    Lots of stuff is borrowed and this helps adoption rates.

    And yes, I do think a lot of programmers enjoy learning new languages.

  15. Re:Questions and observations by Pinky's+Brain · · Score: 2

    Python improved on the existing scripting languages, but it fucked up the v2 to v3 transition and lost some momentum in the process. It's still the most popular scripting language ignoring javascript, so I don't see a lack of staying power. Pascal simply lost to C, they competed in a single niche and winner takes all.

    I don't think your perception of how fast the field moves is accurate.

  16. Thank you for Python .... by kbahey · · Score: 3, Insightful

    Detractors aside, Python is a great language. Of course, like all languages it has its warts.

    But flexibility wise, it is awesome.

    Learning Python has been on my to do list for decades, and finally I got to it last year.

    Among the things I developed with it is a small web application specific to one project (a form that users fill, and get back a configuration file). This used the Bottle framework.

    I am also using Micropython on ESP8266 and ESP32 microcontrollers, and it is easy to press Ctrl-C and have a Python prompt over USB! Debugging is very easy, and the language is very easy.

    Not to mention things like Home Assistant, which is written in Python, and writing custom modules for it was pretty easy, once you got to learn HA's API.

    So Guido: thank you so much for decades of making things work for us. I wish I have learned it sooner, but better late than never ...

  17. Re:(sic)?? by Black.Shuck · · Score: 4, Funny

    /. missed a trick in quoting the FA thus:

    "I don't ever want to have to fight so hard for a PEP ... and find that so many people despise (sic) (sic) my decisions."

  18. Re:Questions and observations by jeff4747 · · Score: 3, Informative

    Python has a Global Interpreter Lock problem that slows down multiprocessing significantly and it hasn't been solved.

    Hasn't been solved....except in every implementation that isn't CPython. If your code really needs to not have the GIL, run it in IronPython or Jython or any of the others.

    Also, if your code is that performance-critical, an interpreted language is not a good idea.

  19. Re:Questions and observations by Tough+Love · · Score: 2

    It seems to me that now there is less enthusiasm for Python. Is that correct?

    Python has longstanding performance issues that the project governance has declined to address, giving a big boost to more sensible/responsive projects like Go. And the mandatory whitespace is just idiotic, sorry but it is. Plus scoping is crappy and if you want to do static typing, sorry you just can't.

    --
    When all you have is a hammer, every problem starts to look like a thumb.
  20. Poorly managed language design by Anonymous Coward · · Score: 4, Interesting

    I've been using Python since the mid 2000's, and the evolution of its design has been worrying. The 2-to-3 transition is an obvious, glaring example.

    But there has also been a steady accretion of additional syntax and language-level features, leading me to think the project is taking a C++-like attitude of never saying "no" to any proposal, just throw the next one on top of the pile. Type annotations, decorators... and now this recent PEP, which changes the most basic syntactic distinction in the language (expressions vs. statements).

    Coherence and conceptual integrity are important, and each one of these changes chips away at the essence of the language and adds complication. Some amount of change is healthy, but it has to be managed carefully by language designers who are willing to say "no" and say it often. Erlang, Lua, and Go come to mind as well-managed languages that haven't lost sight of their original design.

    I don't know if Python is better off without Guido, but from a language design point of view, I don't think he's done an especially great job.

  21. Re:Thankyou by Tough+Love · · Score: 2

    Interpreted language for performance critical system?

    The lack of clue is strong in this one. Java also has an interpreter but it light years ahead of Python in performance.

    --
    When all you have is a hammer, every problem starts to look like a thumb.
  22. Re:Grammar Nazi by DCFusor · · Score: 2

    But it would still run correctly in perl...which is why some hate and some love it. Sometimes a grammar Nazi myself, but hey, whoosh!
    After all, grammer is the difference between knowing your shit, and knowing you're shit. The whom is so obsucre here I'd wager most don't know what you're talking about. We're still working on "loose" is not the opposite of "win" around here...

    --
    Why guess when you can know? Measure!
  23. Re: Questions and observations by Pseudonym · · Score: 2

    Or to put it another way, Python is the 8-bit interpreted BASIC of the 21st century.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  24. Re:Questions and observations by Pseudonym · · Score: 2

    Remind me never to hire you.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  25. Re:Questions and observations by Pseudonym · · Score: 2

    You can't have a high level language that supports threading and is also easy to use unless you have a GIL. Or at least, if we presume that you absolutely have to have a C/C++ interface for libraries, then you need a GIL to have threads.

    Rubbish. Even for extremely simplistic implementations, you don't need a GIL where a "global foreign function interface lock" would suffice.

    Most C and C++ libraries are thread safe (for some definition of "thread safe") these days, and any non-toy language with a C foreign function interface can cope with this just fine. This is doubly true of declarative languages, which tend to go to a lot of trouble to ensure that you can call pure functions in C with no locking overhead.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  26. Re:Questions and observations by Pseudonym · · Score: 4, Interesting

    And the mandatory whitespace is just idiotic, sorry but it is.

    Python just implements it badly. Nobody complains about mandatory whitespace in Haskell, partly because it doesn't have Python's rough edges, and partly because it isn't strictly mandatory.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  27. Re:Questions and observations by steveha · · Score: 2

    Python improved on the existing scripting languages, but it fucked up the v2 to v3 transition and lost some momentum in the process.

    It's true that the 2 to 3 transition didn't go as smoothly as hoped. I'm not sure I agree that the Python devs messed up the transition. Maybe nobody could have done a better job, and I do think the changes were worth doing.

    Python 3.x was an opportunity to make "breaking" changes to Python: to make changes that would break old Python 2.x programs. Using this opportunity, the Python devs cleaned up the language.

    Some method functions returned lists, others returned iterators... now in Python 3.x everything returns iterators, because it's trivial to turn an iterator into a list. So your programs are "lazy" by default, and there's less cognitive overhead. Win/win.

    I'm fond of the change where 1 / 2 returns 0.5 instead of returning 0. It's a bit surprising that integer division can return a float result, but it's even more surprising to most people for nonzero numbers to produce a zero result.

    I'm also fond of the way Python 3.x forces I/O to handle Unicode conversion, so a 3.x program either fails instantly the first time you test it or else runs reliably. The Python 2.x "feature" of letting you ignore Unicode, then randomly blowing up later, was enough to make me eager to make the switch.

    So IMHO the changes were well thought-out and I approve of them. But they were changes. The real problem is that Python 2.x is a pretty sweet language, so staying with it was pretty attractive. There would be nonzero pain to migrate to Python 3.x, so doing nothing was an attractive choice.

    But over time the various popular libraries were converted to be Python 3 compatible, and the Python devs kept adding improvements, and now basically everyone agrees that Python 3.6 and newer are the best Python versions ever.

    It's free software and someone could have forked the sources for Python 2.7 and backported features from Python 3.x; but nobody loved Python 2.x that much. Grumbling and inertia yes, actual work to keep Python 2.x viable no.

    Pascal simply lost to C, they competed in a single niche and winner takes all.

    I agree 100%. There was nothing Pascal did that C couldn't do, and do better. In the early days C was much less type-safe but that was fixable and has been fixed.

    C is the king of the third-generation languages and is unlikely to be displaced in the foreseeable future.

    --
    lf(1): it's like ls(1) but sorts filenames by extension, tersely
  28. Re:Questions and observations by steveha · · Score: 2

    Python has longstanding performance issues

    Fair enough. It's much slower than even Java, let alone languages like C. (But it can use libraries written in compiled languages like C and Fortran so it can be extremely fast in specific domains.)

    that the project governance has declined to address

    You say that as if the Python devs are refusing to do something that would be easy. The latest versions of Python are faster and more memory-efficient than earlier versions of Python. The design of the language makes it hard to really optimize so there aren't easy performance gains just waiting for someone to make them.

    The fastest Python is PyPy, and that's fast because it has a JIT that compiles your code's hot spots into native code. It isn't that fast until the JIT kicks in.

    And the mandatory whitespace is just idiotic, sorry but it is.

    You're entitled to your opinion, but please don't give your opinion as if it were a fact. Some people, such as me, like the fact that if code looks like it's part of a block, it actually is part of a block. I don't think that's "just idiotic". You're free to hate it and I won't try to convince you.

    Plus scoping is crappy

    I have no idea what you are complaining about here.

    if you want to do static typing, sorry you just can't.

    Actually, you can. Python 3.x supports "type annotations" which let you document the types that various values should be, and there are static checkers that make sure your programs conform to the annotations.

    The static checking is not built-in to Python itself, so you could say that Python "enables" static type checking without "providing" it. But to say that "you just can't" do it is a mistake.

    By the way, the history of type annotations is IMHO interesting. Guido van Rossum found out that multiple large organizations (Google, Microsoft, etc.) were making their own ad-hoc static type annotations, requiring standardized comments that documented the types. He applied the principle that "there should be one, and preferably only one, obvious way to do it" and added type annotations to the language spec.

    The static type checker still works in Python 2.x if you use appropriate comments.

    http://mypy-lang.org/

    --
    lf(1): it's like ls(1) but sorts filenames by extension, tersely