Python info/advocacy (was Re: Is there a good BASIC compiler for ubuntu?)

Alan McKinnon alan at linuxholdings.co.za
Mon Mar 13 21:19:32 UTC 2006


On Monday 13 March 2006 17:33, Kevin Cole wrote:
> According to www.python.org, versions of Python are available for:
>
>  * Windows (and DOS)           * Macintosh
>  * Linux                       * AIX
>  * AROS  (Amiga Research OS)   * AmigaDOS
>  * BeOS                        * OS/2
>  * OS/390 and z/OS             * Palm OS
>  * PlayStation                 * Psion
>  * QNX                         * RISC OS (formerly Acorn)
>  * Symbian OS                  * Sparc Solaris
>  * VMS                         * VxWorks
>  * Windows CE or Pocket PC     * Sharp Zaurus
>  * MorphOS
>
> As for the young whipper-snappers that have only used 15 languages,
> and only been using computers since 1975... ;-)
>
> I often commit sacrilege by claiming that "GOTO" is far more
> intuitive than "WHILE 1" or similar constructs. ;-) 

Possibly because it IS far more intuitive :-)

Side point #1: Apparently when Gosling was designed the Java language, 
a survey was done of 100,000 lines of code looking for valid uses of 
a GOTO. As expected, they found tons of garbage. And two jewels:

- breaking out of nested loops (solved by implementing break & 
continue with named labels - still the best way to do this imho)
- exception handling. try..catch.. is nothing more than a GOTO with 
very strict rules on where you can go to

Side point #2: I always get amused when folk bash GOTO. When you 
actually read Dijkstra's "Goto considered harmful" you see that he's 
not arguing against the GOTO keyword at all. The problem is the 
position of the label you jump to :-)

> I will say the Python documentation available on the web is "most
> excellent!" and there is a growing contingent using it as the
> introductory language for high school students (and others).

That's the best idea I've heard about teaching programming in years. 
Second best is to NOT use Java (the current fad in my neck of the 
woods) for the same job.

Python just does everything right. A newbie can learn proper habits on 
it and not clutter his head with irrelevant syntactic verbiage in the 
first month. And it SCALES WELL.

> P.S. If you do try it, be patient with the indenting thing.  It
> turns many off at first, but you'll come to like it (or at least
> make peace with it) given a bit of time.  And avoid mixing <TAB>
> and <SPACE> for your indenting.

To me that's the best part of Python. I've always indented and no 
matter which style I use Python just adapts and does the right thing. 
And I don't have to worry about balancing those damn braces - which 
are just an annoyance and totally unnecessary if the indentation is 
correct.

-- 
Alan McKinnon
alan at linuxholdings dot co dot za
+27 82, double three seven, one nine three five




More information about the ubuntu-users mailing list