Interactive RetroFlow

A fast, fun, light-weight flowcharting program

Imp-o-thon

We did mention not to get us started, didn't we? Well, you followed the link and BACK is but a click away.

In 1991 the initial version of Python was released and there were subsequent versions after that up to version 2.7. In 2008 a program was released which claimed, falsely, to be Python and which was supposed to replace Python 2.7. We won't even dignify it by name. Around here we call it imp-o-thon, imposter python.

So, what makes us think that imp-o-thon isn't Python? There are two Really Great clues:

  1. It won't handle programs written in Python. That's right. A Python interpreter that won't interpret Python. Insert emoji of rolling eyes. A great many trivial programs and all non-trivial programs that were written with Python in mind won't run under imp-o-thon. For example, trivial programs as simple as:


        print "Hello world"
    


    and

        J = 2 / 3
    


    either won't run at all or produce incorrect results. As for non-trivial programs, forget it. Unless you were blessed with an amazing capacity for precognition, and thus were able to anticipate in advance all the imp-o-thon introduced incompatibilities, then your pre-existing program is going to be full of code which won't run under imp-o-thon.

  2. Imp-o-thon comes with a translator, yup, a translator (say it slowly and with much sarcasm) which purports to t-r-a-n-s-l-a-t-e your program from Python to imp-o-thon. Of course if imp-o-thon WERE Python you wouldn't NEED a translator, would you? But it isn't and you do. And it doesn't even fully translate your program, it just does some of the translation but the rest is up to you. After the translator has finished producing its half-baked translation of your 1000, or 10,000 or 100,000 line program then YOU get to poke through thousands of lines of code, line by line, looking for places where the translation didn't quite do the job. Our enthusiasm for this process knows no bounds.

What the hell were they thinking? We'll break millions and millions of lines of code, but the new features we've dreamt up are soooooo wonderful and it's not us that has to fix the millions of lines? The mind boggles. It's our opinion that imp-o-thon is a serious contender for the title of "biggest brain-fart ever".

Seriously, if the developers figured that Python had come to the end of the line and that to implement all their Larry-lightbulb new features they would have to come up with a new, Python-like but incompatible language then they might better have just come out and said as much. Trying to fob off imp-o-thon as Python is an insult to the Python user base. No wonder it's ten year later and uptake of imp-o-thon is still dragging on.

Someone is sure to point out that it's possible to write programs that will run under both Real Python and imp-o-thon. That's true. It's also true that it's possible to push a pea up a mountain with your nose, but that doesn't mean it's a reasonable way of getting it there. The last we looked, the document that explains how to create a Python / imp-o-thon compatible program was 33 pages of terse, point form notes. Great. Code a line, scan 33 pages to make sure what you did was OK, code a line, scan 33 pages. Lovely.

So, yes, Interactive RetroFlow is written in Real Python, there are no plans to change that and we're not the least bit apologetic about it.

But as mentioned above, best not to get us started.