PEP 374 – Choosing a distributed VCS for the Python project
Python Enhancement Proposals (PEPs)
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 1,045 posts.
Python Enhancement Proposals (PEPs)
Customers and stakeholders have substantial investments in, and are comfortable with the performance, security and stability of, industry-standard platforms like the JVM. While Java developers may envy the succinctness, flexibility and productivity of dynamic languages, they have concerns about running on…
The current method for transforming functions and methods (for instance, declaring them as a class or static method) is awkward and can lead to code that is difficult to understand. Ideally, these transformations should be made at the same point in the...
This PEP proposes to introduce a syntax to declare the encoding of a Python source file. The encoding information is then used by the Python parser to interpret the file using the given encoding. Most notably this enhances the interpretation of Unicode ...
This PEP provides the motivation and rationale for PEP 634 (“Structural Pattern Matching: Specification”). First-time readers are encouraged to start with PEP 636, which provides a gentler introduction to the concepts, syntax and semantics of patterns.
This is a guest blog post written by Andrew Brown , with help from the PyPy developers on the pypy-dev mailing list. This tutorial's master...
When Jarred joined the Zig community about 5 years ago, I described him as someone who had strong "beginner energy". That is, he moved fast and tried a lot of different stuff, jumping head first into problems that he was not yet equipped to solve, leading to mediocre outcomes in terms of engineering, but learning a…
Few weeks ago I noticed a blog post "Oxidizing Source Maps with Rust and WebAssembly" making rounds on Twitter - talking about performance benefits of replacing plain JavaScript in the core of source-map library with a Rust version compiled to WebAssembly.
It’s funny - I have shared this story a handful of times with friends of mine who are qualified, competent software engineers, and each time the response was confusion about why any of this would be necessary or even remotely helpful. WebAssembly ?!
Since our first release in 2002, there have been 69 security bugs in Firefox’s style component. If we'd had a time machine and could have written this component in Rust from the start, 51% wouldn't have happened. That said, Rust is not foolproof. Developers still need to be aware of correctness bugs and data leakage…
Go team plans around error handling support
A few weeks ago, on a whim my friend and I decided to hackathon our way through an app to help us learn how to play guitar . In a stroke of inspiration, we decided to learn something new, and do the project in the Elm programming language , about which I had heard many good things.
There are about six major conceptualizations of memory, which I’m calling “memory models”, that dominate today’s programming.
Why your JavaScript events are coming in quicker now.
This post is about why we need a coroutine package for Go, and what it would look like. But first, what are coroutines?
Just so you know, x86 machine-code is now a "high-level" language. What instructions say, and what they do, are very different things. I m...
I really believe all developers should learn Haskell. I don’t think everyone needs to be super Haskell ninjas, but they should at least discover what Haskell has to offer. Learning Haskell opens your mind.
For those who don’t follow Swift’s development, ABI stability has been one of its most ambitious projects and possibly it’s defining feature, and it finally shipped in Swift 5 . The result is something I find endlessly fascinating, because I think Swift has pushed the notion of ABI stability farther than any language…
I've recently been exploring the exciting new world of asynchronous I/O libraries in Python 3 – specifically asyncio and curio . These two libraries make some different design choices. This is an essay that I wrote to try to explain to myself what those differences are and why I think they matter, and distill some…
In which I discuss a modules problem that is being ignored
Russian Translation by frol , Chinese Translation by JiyinYiyong , Japanese Translation by Mutsuha Asada
How a 10 year old design choice for Swift’s type checker still haunts us to this day
``Frequently'' means thou shouldst draw thy daily guidance from it, rather than hoping thy code will achieve lint's blessing by a sudden act of repentance at the last minute. De-linting a program which has never been linted before is often a cleaning of the stables such as thou wouldst not wish on thy worst enemies…