DEV Community

Cover image for What were some quirks and gotchas about working with Python 1?
Ben Lovy
Ben Lovy

Posted on

What were some quirks and gotchas about working with Python 1?

Python 2 was released in October 2000, but Python 1 was released to the world six years earlier, in 1994 - much like my younger brother. I have an inkling that, also much like my younger brother, it would have been wrought with idiosyncrasies and quirks that would take at least solid decade to iron out (sorry Jonah, you're a cool guy).

I am not planning to use any ancient Python myself, this is a historical curiosity post. What are your war stories? Put your nineties hats on!

Top comments (8)

Collapse
 
jeikabu profile image
jeikabu

My first programming job involved some stuff written in Python 1.5/1.6. It was quite a while ago, so the details are fuzzy, but this is what I remember:

  • It was easy to make GUIs in Tkinter. Up to that point all I'd used was Java Swing and MFC and Tkinter was almost fun in comparison.
  • Either linters weren't common or we simply didn't know about them and TDD hadn't yet reached critical mass. Lots and lots of runtime errors.
  • Up to that point I'd only used Pascal, C/C++, and Java, and the Python stuff I remember really struggling with: 3 scopes of variables, militant whitespace, dynamic typing, ...
  • A program I took over from a grad student had some kind of insane data structure of multiply nested dicts and lists and had lines and lines of stuff like the_thing = lookup_table[other_dict[whatever[3]["stuff"]][0]][1]["key"][8]
  • I worked on Python bindings to a virtual device driver we made and interfacing with Python from C was painful; manually tracking reference counts, tracking down constant memory leaks, etc.

Probably other things I've forgotten.

Collapse
 
deciduously profile image
Ben Lovy

all I'd used was Java Swing and MFC and Tkinter was almost fun in comparison.

I only have minimal exposure to this area, but this still feels relatively true to me.

militant whitespace

Also this...

interfacing with Python from C was painful

That's interesting, because this is now one of the first things I think of when I think Python. Easy to take for granted now.

Interesting stuff, thanks for sharing!

Collapse
 
maureento8888 profile image
Maureen T'O

Interesting! I hadn't even considered the first generation of Python (I'm generation three haha) but just for any history buff out there, I heard from an interview with Guido van Rossum that it was originally based on the ABC language! Cool 🤓

Collapse
 
deciduously profile image
Ben Lovy • Edited

Awesome! I hadn't heard of ABC - I knew Modula-3 was also an influence, but per Wikipedia van Rossum actually worked on ABC himself directly prior to starting Python.

Great trivia, thanks!

Collapse
 
maureento8888 profile image
Maureen T'O

Ohh I haven't heard of Modula-3! nd yes, he did work on ABC :)

Here's the video from the interview if you're interested! He talks about how he came up with the idea of Python as a scripting language. He's quirky and is so cool!

Collapse
 
juancarlospaco profile image
Juan Carlos

!= was <>.

Collapse
 
deciduously profile image
Ben Lovy

Like F#! Cool.

Collapse
 
juancarlospaco profile image
Juan Carlos

When I learned it was != already, but I researched it to add Python1 syntax to Nim lang.