Live data from Hacker News

“I'm basically giving myself a permanent vacation from being BDFL”

mail.python.org

561–570 of 764 posts

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#561
post #559
post #242

Earlier quoted context omitted.

Yes, Larry Page’s first crawler was in Java, and Scott Hassan rewrote it in Python. From https://www.vanityfair.com/news/2018/07/valley-of-genius-exc... : > Scott Hassan: In the fall of ’95, for some reason, I started hanging out with Larry in his office. . . . At the time, Larry was trying to download a hundred pages simultaneously. And I was fixing some of the bugs that he was having with Java itself, and this went…

32,000 pages simultaneously - in 1995? Async has only recently been added to Python, no?

Using threads maybe? Id be curious to see how you would achieve that in Python easily back in 1995.

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#562

Earlier quoted context omitted.

It's not that easy for the compiler to provide these warnings when the language is interpreted rather than compiled

The compiler can do anything a linter can do. Multi-pass multithreaded compilers are not unheard of. eg While compiling to temporary storage, I do a linting in another thread. At the end, check for successes and move the artifacts into the output directory.

What the poster means is that a compiler may not be as applicable to interpreted languages.

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#563

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…

Please can we have real lambdas? I'd then be tempted to prioritise Python over Ruby.

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#564

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…

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.

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#565

Earlier quoted context omitted.

I 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!"

I'm still puzzled to why would a compiler allow assignment in an explicit conditional (outside of loop syntax). It's like a baked-in blindspot that most people just want to ignore for some reason. Some languages actually guard against this well enough (eg Kotlin) and say "don't". Even with guards in place, it's not all that complicated to work around in the edge cases where you might want to do it.

Well, if you have the concept of Maybe/Optional, it's quite handy to have a conditional binding as control flow (as in Swift):

    guard let value = myOptional else {
        // Handle absence
    }
    // Use value
Or

    if let value = myOptional {
        // Use value
    }

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#566

Earlier quoted context omitted.

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.…

how is python like lisp?

'Basically, Python can be seen as a dialect of Lisp with "traditional" syntax'

-- To quote Peter Norvig, Director of Research at Google and author of multiple books on AI and Lisp.

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#567

Earlier quoted context omitted.

I 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!"

I'm still puzzled to why would a compiler allow assignment in an explicit conditional (outside of loop syntax). It's like a baked-in blindspot that most people just want to ignore for some reason. Some languages actually guard against this well enough (eg Kotlin) and say "don't". Even with guards in place, it's not all that complicated to work around in the edge cases where you might want to do it.

Read Tim Peter's essay on the end of the PEP 572.

It's very good.

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#568
post #357

Earlier quoted context omitted.

> but because over the long term the market is going to dictate where Python goes and how it grows The market gave us the absolute mess that is HTML/CSS/Javascript today, so I'm sincerely hoping the Python community will keep agreeing on some greater design principles instead of leaving everything to market forces and pragmatism.

I think Javascript has been rapidly getting better, as a language. Every time you hear a front end dev complain about having to support IE, consider that an endorsement of the way HTML/CSS/Javascript has been improving. No one is complaining about having to use the latest version of Javascript to support the new Chrome.

Dunno about that. According to Kyle Simpson (https://www.youtube.com/watch?v=2pL28CcEijU) ES6 has introduced plenty of WTFs to add to the archives. Back-to-front, inconsistent destructuring and Symbols which hide from object enumeration. And after all these new versions Javascript still lacks really basic functions such as range().

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#569

I 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 t…

I think what you're saying is true in the case of someone just throwing up some code they wrote online without any plan of supporting or developing it further. But once you call it an open-source project, and you have docs and a roadmap and an issues page and stuff, you're making an implicit contract with people who use it that it will do a reasonable job of solving the problem it claims to solve. The user is choosin…

A contract requires an exchange of value in order to be binding. Using free software has no exchange of value, so there is no contract, implied or otherwise.

IANAL

Re: “I'm basically giving myself a permanent vacation from being BDFL”

#570

Earlier quoted context omitted.

I think what you're saying is true in the case of someone just throwing up some code they wrote online without any plan of supporting or developing it further. But once you call it an open-source project, and you have docs and a roadmap and an issues page and stuff, you're making an implicit contract with people who use it that it will do a reasonable job of solving the problem it claims to solve. The user is choosin…

I think theres absolutely zero implicit contract that implies that open source software maintainers owe ANYone ANYthing at ANYtime. That's the reason it's open source because everyone can fix it, all an open source maintainer owes you is a P.R. review. Therefore if an open source project maintainer is giving you their time and patience then you better be extra polite and grateful to them. If Ben and Jerrys left a bun…

The next time someone asks me why I'm choosing a proprietary solution, rather than one of the many fine open-source options available, I'm just going to point them to this comment.
Post reply on HN