Breakdown of Python people and projects

Introduction

This document presents an attempt to breakdown the:

  • People who use Python
  • People who program (and think) in Python
  • Projects with heavy use of Python

The attempt is mostly provocative but maybe also insightful.


Breakdown mind-map

Here is a mind map of the proposed (attempted) breakdown:

(The original mind map was made with the old, better† version of MindNode. On 2025-04-01 that mind-map was ported to SimpleMind Pro.)


Breakdown definitions

In this section we give definitions (or clarifications) of the nodes of mind-map above.

Types of people

Ideologists

  • Pythonistas: Really believe in Python as a way of life.
  • Pythonists: Really believe Python is a programming language of great utility.
  • Pythongelists: Enthusiastically and eagerly propagate the ideas of Pythonistas and Pythonists.
  • Pythonihilists: Do not believe in Python that much at all; think that believing in Python is both detrimental and exploitable.
    • In case it is not clear: this is me.

Users

  • Pythontourage: Managers, quality assurance engineers, or advocates found in and around Python projects.
  • Pythelons: Felons using Python. (For, say, phishing, crypto-extortion, hijacking, etc.)
  • Py-curious: Programmers or users of other programming languages that are curious about Python.

Programmers

  • Pythonizers: See every problem through the Python-lens and produce engineering solutions based on Python.
  • Reticulizers: Accommodate Python use or implementations in existing or future projects of different kind.
  • Pythoners: Long-run Python users; maintain long-run projects based on Python.
  • Пайтонджии: Труженици ползващи усилено Пайтон. На конвейeр. (Понякога принудително.)

Programming

  • Pythonitis: Unconscious transferring of Python idioms or macro or micro patterns into projects with other languages.
  • Pythonification: Attempts to have a unified user experience or user interface
  • Pythonomers: Standard computer science terms or algorithms misnamed in Python.
  • Pythonoscopy: Using Python to debug, monitor, or introspect a certain engineering solution.
  • Pythonectomy: Removing Python from projects. Happens often in sufficiently advanced projects; most frequently replaced with Java.
  • Game of pythons: Attempting to install or update Python on a particular machine usually shows that there are too many Pythons, often, with competing agendas.
  • Pythonstan: Generally speaking that is PyPI.org. (Or any project with a similar scope.)
    • Some people might prefer the name “Pythonistan”.

Strategy

  • Pythonomy: Python-driven software architecture.
  • Pythonomics: School of thought that believes that using Python produces cheap and convenient solutions.
  • Pythonimists: People justifying Python on economical or accounting grounds.
  • Pythong: Using Python in project management decisions.
    • “Nobody got fired for proposing Python in a project.”

Warnings

  • Pythonimics: Python (macro- or micro-) thinking mimicry. Especially applied to projects Python is not suitable for.
  • Pythonomers: See the definition above. For some reason, Python is using different names for mainstream concepts in computer science. Maybe, because it was thought that that would make Python more “user friendly.”
  • Pythonitis: See the definition above. It happens on idiomatic level often enough.

Contexts for informed hate

In this section we give some context for some of the definitions above.

Users vs programmers

Most people utilizing Python are Python users, not Python programmers:

  • Python users learn how to use a few Python libraries and all their professional lives unfold within the workflows envisioned by the designers and developers of those libraries.
    • (Regardless how good, sound, tested, or useful the corresponding implementations are.)
  • Python programmers are capable of writing complete products in Python.
    • That includes libraries.
    • Making a Python library requires language knowledge that Python users usually do not have or care to acquire.

Python is a reaction to Perl

Python’s inventor Guido van Rossum got scared from Perl, and decided to make a programming language based on the principle “There should be one– and preferably only one –obvious way to do it” (TSBEO-APOO-OWTDI), [TP1].

In other words, using a principle that is an opposite of “There’s more than one way to do it” (TIMTOWTDI).

Applying TSBEO-APOO-OWTDI is a very Dutch or Scandinavian way of doing things. For example, in those countries the following Japanese proverb broadly applies in every-day life:

A nail that sticks out gets hammered down.

Terminology by the underdeveloped

Much of the terminology of Python comes from the partially developed skills and computer science knowledge of its inventor and developers. Also, most Python users are “not brought to term” programmers, hence stupid or inadequate terminology gets “free passes” from them.

Also, see [GvR1] in which Guido van Rossum discussed his not understanding of functional programming.

Capitalistic SAFe

Scaled Agile Framework (SAFe) — also known as Shitty Agile For Enterprises, [GOTO14], [SM1] — tries to combine the Waterfall and Agile methodologies. SAFe, of course, is often combined with managers’ short attention span and desires for cheap solutions (and workforce.)

One consequence is that often Python is seen as the uniform skill and paradigm that is going to bring everything together cheaply.

Another consequence is that all data scientists and machine learning engineers in those projects are perceived to be fungible (because they all use Python.)

Both consequences above can be seen as derivatives of the TSBEO-APOO-OWTDI principle. (At least in managers’ minds.)


References

[GOTO14] Goto;, “A Retake on the Agile Manifesto • Humble, Thomas, Badiceanu, Fowler & Kirk • GOTO 2014”, (2014), “Goto Conferences” channel at YouTube. (Hear statements at 10:57.)

[GvR1] “The fate of reduce() in Python 3000”.

[SM1] SmHarter, “SAFE: A COLLECTION OF COMMENTS FROM LEADING EXPERTS – PART 2”smharter.com.

[TP1] Tim Peters, (19 August 2004). “PEP 20 – The Zen of Python”Python Enhancement Proposals. Python Software Foundation.

[Wk1] Wikipedia entry “Python (programming language)”.

[Wk3] Wikipedia entry “There’s more than one way to do it”.

[Wk4] Wikipedia entry “Scaled agile framework”.

Why this Python site?

In brief

This site is about comparison of systems for technological computations, like, Python, R, and Wolfram Language. Many of the posts are studies embarked on in order to confirm or reject my assumptions / impressions about Python.

Beware that I am not enamored by Python. I do not dislike Python, but I dislike many of the attitudes and opinions about its place and usefulness. I do prefer to keep (relatively) objective opinions about research and software developments tools. Hence, I voice opinions that paint Python in negative light.

Of course, in order to be objective, we have to compare same or similar functionalities implemented in the different programming languages (tools) and apply those functionalities to the same problems. This blog is going to show such applications using Python. Related comparisons of mine can be found in:

Previously stated opinions about Python

In different sites and meetups I stated and proclaimed my opinions about Python. Some are listed below.

(I plan to discuss my Python background in the next post…)