[Tutor] What style do you call Python programming?

Alan Gauld alan.gauld at btinternet.com
Fri Dec 9 20:24:00 CET 2011


On 09/12/11 15:36, Sarma Tangirala wrote:

> Where does it say that python was originally not designed to be
> scripted? If thats the case then I agree my comment was completely
> incorrect. I read somewhere that it was designed so.

It was designed as a "scripting language" but not for the purpose of 
scripting in the OS sense, it was an attempt to build a teaching 
language which could also be used for real world tasks. Its predecessor 
was ABC. The evolution of Python from its ABC roots is well documented 
by Guido. He designed it as a "scripting language" but from the very 
beginning intended it to support features like functions, modules and 
OO. These are not add-ons as they were in, for example, Perl and Tcl.

Here is what the official FAQ entry says:

=========================
Here’s a very brief summary of what started it all, written by Guido van 
Rossum:

I had extensive experience with implementing an interpreted language in 
the ABC group at CWI, and from working with this group I had learned a 
lot about language design. This is the origin of many Python features, 
including the use of indentation for statement grouping and the 
inclusion of very-high-level data types (although the details are all 
different in Python).

I had a number of gripes about the ABC language, but also liked many of 
its features. It was impossible to extend the ABC language (or its 
implementation) to remedy my complaints – in fact its lack of 
extensibility was one of its biggest problems. I had some experience 
with using Modula-2+ and talked with the designers of Modula-3 and read 
the Modula-3 report. Modula-3 is the origin of the syntax and semantics 
used for exceptions, and some other Python features.

I was working in the Amoeba distributed operating system group at CWI. 
We needed a better way to do system administration than by writing 
either C programs or Bourne shell scripts, since Amoeba had its own 
system call interface which wasn’t easily accessible from the Bourne 
shell. My experience with error handling in Amoeba made me acutely aware 
of the importance of exceptions as a programming language feature.

It occurred to me that a scripting language with a syntax like ABC but 
with access to the Amoeba system calls would fill the need. I realized 
that it would be foolish to write an Amoeba-specific language, so I 
decided that I needed a language that was generally extensible.

During the 1989 Christmas holidays, I had a lot of time on my hand, so I 
decided to give it a try. During the next year, while still mostly 
working on it in my own time, Python was used in the Amoeba project with 
increasing success, and the feedback from colleagues made me add many 
early improvements.

In February 1991, after just over a year of development, I decided to 
post to USENET. The rest is in the Misc/HISTORY file.

=============================

Hopefully that clarifies rather than condfusing! :-)
The HISTORY file gives more detail still.

-- 
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/



More information about the Tutor mailing list