Nothingness and identity in Python
There's something rich, beautiful and mysterious in the several kinds of nothingness and identity that we encounter as Python programmers. Understanding the connections they make with ontology, epistemology and metaphysics adds another dimension to the joy of programming.
As Python programmers, we're blessed - we have several kinds of nothingness and identity at our fingertips. There's something rich, beautiful and mysterious in them, and in their variety and relation. For the programmer, the discovery of them is an opening into Python's power and expressiveness.
It's the same richness and mystery that logicians and philosophers have discovered in them: entire schools of thought are founded on various approaches to nothingness. Programmers are in fact working with key ideas that are also crucially important to ontology, epistemology and metaphysics.
From the pioneers of boolean electronics who adopted the NAND gate as the basic building block of logical circuits to thinkers like Sartre and Kant, nothing repeatedly turns out to be at the heart of everything. And the Python programmer who gets a surprise when checking for the identity of a variable is in fact running into the same problems that Heraclitus was aware of, 25 centuries before Guido van Rossum was even born. We're in good company, in other words.
Nothingness and identity and the way we use them in Python and Django are related to phenomenology, utopia, politics, theories of agency and much, much more.
Knowing about these connections might not make anyone a better programmer, but it can add another dimension to their understanding of the discipline, and add to the richness and beauty of their world, making the joy of programming even deeper.
I've been, with various degrees of success, a high-school teacher, a company director, a philosophy lecturer and some other things I don't care to mention, but what really worked was becoming a programmer a few years ago.
I'm heavily involved in the international Python/Django open-source software communities and have a special interest in open-source software development in Africa.