free software resistance
the cost of computing freedom is eternal vigilance
### pypy
*originally posted:* nov 2023
the main goal of pypy isnt about compatibility, but performance. the design of pypy makes it possible to retain compatibility with python 2 while being maintained.
cpython 2.x is unmaintained, leading python 3 fans to dishonestly insist you upgrade as if no alternative exists. but the python 2 functionality in pypy is not abandoned.
python 3 is a very different beast in many ways. for all the years in which projects have had to make changes, python 3 broke many projects to the point where there was little to do but abandon them. it is an industry language, and the creator and lead developer has been hired away to google and microsoft.
but like the linux kernel, python 3 started as a hobby project around the same time linux did, inspired by an educational language called abc. in the earlier days, python 2 was for many purposes closer to basic, but more advanced in its design and abilities. it was an excellent educational language. despite being more tedious and complicated and verbose now, even python 3 can be used for educational purposes.
but there is less of a learning curve with python 2. it is absolutely a simpler language than what python has become, but more than that it is a stable language- python 3 continues to break code with new versions and newly deprecated features. like rust it is a moving target that requires programs to be rewritten and rewritten, unlike rust it does not do this at quite such an absurd pace. but this practice of routinely breaking codebases to suit language developers primarily helps tie compilers and interpreters to the corporations that sponsor them. languages evolve, yes- but stable codebases are not bad for users.
many modern languages care more about language development than the codebases that are built with those languages. this suits monopolies and makes more work for smaller teams- work that larger and better funded teams are more equipped to handle. it is naive to think this isnt by design, but the goal of saying this isnt to prove anything- it is to explain the additional value of pypy to users.
pypy may not make it possible to salvage all python 2 projects- many third party libraries have already been dragged into the unstable by design, corporate future of the language. but for a beginner friendly or stable base language, pypys implementation of python 2 is excellent.
i really have no desire to follow and conform to the whims of todays cpython development. i learned python in 2009 and have spent more than a decade enjoying it, most of my coding is based on python in one way or another. i know other languages too, but python accomplishes the bulk of what i need a programming language for.
pypy is well supported, but could be better supported in bsd. it is also one of the too few programming language implementations that have not allowed themselves to be hijacked by microsoft github.
one of the reasons i moved to python was to get away from proprietary software and microsoft. cpython unfortunately, gave up that advantage and wants me to rely on a codebase that relies on a microsoft website running proprietary code. "open source" has found so many ways to sell out users to monopolies, that freedom seems like the exception to the rule even among freely-licensed codebases.
pypy at least, is about as far from monopoly as python coding is likely to get. it might not do this for most libraries or very large projects, of course. instead it was created to optimise and speed up certain tasks, but as a side effect built into the design it maintains compatibility better than any similarly mainstream alternative.
you can find out more here:
=> https://www.pypy.org/
license: 0-clause bsd
```
# 2019, 2020, 2021, 2022, 2023
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
```
=> https://freesoftwareresistance.neocities.org