Readit News logoReadit News
sametmax · 7 years ago
As 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 · 7 years ago
>It's amazing he managed to not explode at somebody.

Like a certain other BDFL occasionally does?

reirob · 7 years ago
Maybe this is the reason that the certain other BDFL is still in service? Maybe it's part of psycho-hygiene in order to be able to continue? I sincerely don't know - your question just triggered my experience when working in psychiatry and seeing how the staff was venting, talking and joking about patients - once the doors were closed. I was very shocked, was quite young, around 20 when serving - but one of the doctors, when she saw my shock, took me apart and explained that this behaviour, so shocking it might be when seeing it for the first time, is part of psycho-hygiene that allows the people to be able to continue to work and keep a certain distance.

Sure, it's not the same, but I am questioning myself, if for these roles, like the BDFLs we are talking about, it is not necessary to have a personal way that allows to handle all the pressure, still keeping being yourself, defending your vision of your life-work.

IgorPartola · 7 years ago
Don’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.
gmiller123456 · 7 years ago
>Good writers, comedians or directors know when to quit at the top their carreer.

Actually, no. I know this is getting away from the main point of the discussion a bit. But Adam Savage gave a good explanation as to why most paid people quit at the height of their career [1]. The idea is that once people pass their prime, the work they produce is worth less. So the only way such careers could continue would be for producers to overpay for a product, or for the actors to continue working just as hard for less money.

[1] https://www.youtube.com/watch?v=sGeS6m3hVk8

kamyarg · 7 years ago
It 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.

shams93 · 7 years ago
Yes 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 · 7 years ago
I have really horrible memories of trying to keep a Plone site in prod from my sysadmin days.
rectangletangle · 7 years ago
I'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.

Deleted Comment

theandrewbailey · 7 years ago
Python 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 · 7 years ago
I 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 · 7 years ago
The 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.

lisper · 7 years ago
Python has open-braces in the form of colons. If you use emacs, you can use the PASS statement as a close-brace and everything will auto-indent properly. Python purists have conniptions when they see this programming style, but I've used it for nearly 20 years and it works for me.
cutler · 7 years ago
I found Python's indentation style more appealing after working with Clojure for a while. Python is a bit like lisp without the parentheses. In fact you can Clojurify Python with Hy (http://hylang.org) which solves both the indentation problem and the crippled lambdas problem.
enriquto · 7 years ago
> but for me, Lua is just far more elegant,

It's curious... Lua is my favorite language due to its elegance, but I would love it even more if it used significant indentation (using tabs, of course) instead of "end" blocks.

perfunctory · 7 years ago
I used to have a similar aversion to significant whitespace having learned in compiler classes that space should be insignificant. Over time I learned to appreciate the significant indentation though and now I want a C frontend with similar syntax.
codezero · 7 years ago
This is way off topic, but I’ve never seen the word goosebridle - googling it comes up with a phrase a wigwam for a goose’s bridle - and there its usage is meant as a rejoinder meaning “none of your business” - I’m curious how it ended up as a word to mean - I’m guessing - flashy features (jeez now I am sure there is a more common word for that) - is this a local thing, or is the etymology on the web wrong, what I’m saying is I’m curious how your usage of the word came about :)
krylon · 7 years ago
I 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 · 7 years ago
I 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 · 7 years ago
Even 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!
adamnemecek · 7 years ago
Even 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.

sametmax · 7 years ago
People 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 · 7 years ago
Agree but it’s closer to 30.
vram22 · 7 years ago
>Fun fact, I believe the very first google scraper was written in it.

Fun "fact": I need to check my facts, but it could be that the very first Google was written it it, too :)

Checked:

https://www.google.co.in/search?q=what+language+was+google+s...

https://en.wikipedia.org/wiki/Google_Search

https://en.wikipedia.org/wiki/History_of_Google

kgwgk · 7 years ago
That’s what he said :-) (first google scraper = scraper used in original google implementation)
anothergoogler · 7 years ago
Python 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.
petters · 7 years ago
Wasn'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 · 7 years ago
> Perhaps that was the second scraper.

I believe that is the case yes. However correct me if m wrong.

password4321 · 7 years 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

ehsankia · 7 years ago
Is the final syntax := surrounded by parenthesis?
hermitdev · 7 years ago
Yes
skywhopper · 7 years ago
Yeesh, 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 · 7 years ago
I 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 :-)

sametmax · 7 years ago
It'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 ?

stormbeta · 7 years ago
The big one I want to see, because it's one of my biggest frustrations with Python, is to finally make lambdas work like every other contemporary language instead of being inexplicably limited to a single expression simply because Guido couldn't come up with a syntax that agreed with him.

There's so many cases (arguably including the problem this PEP was designed to solve!) where having a real inline closure is just far more readable than having to arbitrarily break every single thing that happens to need 2+ expressions out into named blocks out of sequence.

Other things in Python are either simply a result of the language's age and history, or have real technical pros and cons, but that one irks me because it's an artificial limitation chosen for no reason except aesthetics.

mijamo · 7 years ago
Nononono

God please NO!

I would KILL not to make that happen. So many devs abuse those in every language that has that. Even lambas get sometimes abused in Python (and I have a few examples in our codebase unfortunately). Expanding lambdas' scope is the LAST thing I want in Python, this would just lead to worst codebases, with nearly 0 benefit.

If you want to do something that needs 2 expressions, just create a goddamn function and name it for god's sake.

Sorry but I had to say it, I think the lambda limitations is one of my favorite feature in Python.

zimablue · 7 years ago
I read a long time ago and was convinced that no nice lambdas was one of the biggest problems in python, but that poster argued convincingly that it's an unavoidable consequence of the meaningful whitespace. Are you proposing a special syntax for multiple statements on one line for this?
bluecalm · 7 years ago
I 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).

jondot · 7 years ago
Whats the pythonic way to do dependencies? pip? pipenv? virtualenv? pyproject? And how about Python 2 and 3?

</Sarcasm>

But seriously, I think there's no one way to do things anymore especially if it holds up productivity and effectiveness. Let the pattern matching begin.

abecedarius · 7 years ago
You can in fact factor out expressions in list comprehensions, like:

    [foo(y, y) for x in xs for y in [f(x)]]
Is this Pythonic? Perhaps not, but mainly because multiline list comprehensions are frowned on in general. I think people tend to get too dogmatic about that.

rthomas6 · 7 years ago
What's the Pythonic way of pattern matching?
sametmax · 7 years ago
Since there is no metrics for that, your entire post, much like a lot of any part of the language design process, is very opinionated.

It's why it's hard.

cutler · 7 years ago
Please can we have real lambdas? I'd then be tempted to prioritise Python over Ruby.
gaius · 7 years ago
Multi-line lambdas, I hope!
randomsearch · 7 years ago
Excluding 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.

maxerickson · 7 years ago
You'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.
OmarIsmail · 7 years ago
My 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 · 7 years ago
I 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.
AlexCoventry · 7 years ago
I wouldn't call 2->3 a debacle. It brought me along in the end, and I was a huge refusenik.