1. 20
  1. 10

    Hm I’ve seen the original Python 0.1 sources posted to Usenet, but I hadn’t seen this Python 1.0.0 announcement.

    After dissecting the Python interpreter for Oil, I have more of an appreciation for how amazing an achievement it is! I read the Python 0.1 sources, and they’re a significant amount of work that I doubt many people (including myself) could replicate now in the same period of time, even with 25 years of “progress”.

    I think there is a meme that the Python interpreter is kinda crappy because it doesn’t support concurrency well, the object representation is a bit bloated, etc.

    But interpreters are pretty large programs and require you do to multiple things well. They require more than one skill, and you have to be able to write a certain volume of code. For awhile it seemed like anybody could write a little interpreter, and maybe even make it fast and concurrent. That might be true, but you might fail to write a good API or a good data structures (and I think Python has the most powerful and convenient data structures of almost any language.)

    There ’s a world of difference between a toy interpreter which you can run some benchmarks on, and one that people can use for real problems. (e.g. debugging support is already in Python 1.0.0)

    It’s also interesting that Python’s syntax vs. Perl and Bourne shell are what Guido chose as headlines! That makes sense, and I think shell still needs to be fixed 25 years later :)

    I made the observation elsewhere that Python 3 and Perl 6 are both worse shell replacements than their predecessors. They both migrated more into the space of “applications” rather than “shell scripts”, so I think there is a need for a new shell.

    It’s also amazing to me that Perl was so much more popular than Python for 15+ years, and then the Perl interpreter “topped out” – it was no longer possible to add significant and important features to it. Python’s codebase has aged a lot better than Perl’s.

    1. 2

      Do you have a link for the 0.1 sources that got posted to usenet, or should I look into the git repository?

      1. 2

        Ah, I misremembered and it’s Python 0.9 from February 1991:


        As far as I understand that is not long after Guido started Python (less than 2 years?), but it looks like 27K lines of C and 13K lines of Python. From what I can tell, most of it made it to the present day!