From a suggestion on c.l.py: modernize the introduction to the tutorial.

* Remove talk of shell scripting, replacing it by some more current examples
  * Mention C++ and Java as well as C

Raymond H., please feel free to rewrite or revert as you see fit.
If the changes are OK, they could be backported to the 2.4-maint branch.
This commit is contained in:
Andrew M. Kuchling 2005-12-13 15:49:37 +00:00
parent af57fa13f4
commit 50f8169fb6
1 changed files with 37 additions and 29 deletions

View File

@ -72,35 +72,42 @@ Reference}.
\chapter{Whetting Your Appetite \label{intro}} \chapter{Whetting Your Appetite \label{intro}}
If you ever wrote a large shell script, you probably know this If you do much work on computers, eventually you find that there's
feeling: you'd love to add yet another feature, but it's already so some task you'd like to automate. For example, you may wish to
slow, and so big, and so complicated; or the feature involves a system perform a search-and-replace over a large number of text files, or
call or other function that is only accessible from C\ldots\ Usually rename and rearrange a bunch of photo files in a complicated way.
the problem at hand isn't serious enough to warrant rewriting the Perhaps you'd like to write a small custom database, or a specialized
script in C; perhaps the problem requires variable-length strings or GUI application, or a simple game.
other data types (like sorted lists of file names) that are easy in
the shell but lots of work to implement in C, or perhaps you're not
sufficiently familiar with C.
Another situation: perhaps you have to work with several C libraries, If you're a professional software developer, you may have to work with
and the usual C write/compile/test/re-compile cycle is too slow. You several C/\Cpp/Java libraries but find the usual
need to develop software more quickly. Possibly you've write/compile/test/re-compile cycle is too slow. Perhaps you're
written a program that could use an extension language, and you don't writing a test suite for such a library and find writing the testing
want to design a language, write and debug an interpreter for it, then code a tedious task. Or maybe you've written a program that could use
tie it into your application. an extension language, and you don't want to design and implement a
whole new language for your application.
In such cases, Python may be just the language for you. Python is Python is just the language for you.
simple to use, but it is a real programming language, offering much
more structure and support for large programs than the shell has. On
the other hand, it also offers much more error checking than C, and,
being a \emph{very-high-level language}, it has high-level data types
built in, such as flexible arrays and dictionaries that would cost you
days to implement efficiently in C. Because of its more general data
types Python is applicable to a much larger problem domain than
\emph{Awk} or even \emph{Perl}, yet many things are at least as easy
in Python as in those languages.
Python allows you to split your program in modules that can be You could write a {\UNIX} shell script or Windows batch files for some
of these tasks, but shell scripts are best at moving around files and
changing text data, not well-suited for GUI applications or games.
You could write a C/{\Cpp}/Java program, but it can take a lot of
development time to get even a first-draft program. Python is simpler
to use, available on Windows, MacOS X, and {\UNIX} operating systems,
and will help you get the job done more quickly.
Python is simple to use, but it is a real programming language,
offering much more structure and support for large programs than shell
scripts or batch files can offer. On the other hand, Python also
offers much more error checking than C, and, being a
\emph{very-high-level language}, it has high-level data types built
in, such as flexible arrays and dictionaries. Because of its more
general data types Python is applicable to a much larger problem
domain than Awk or even Perl, yet many things are at
least as easy in Python as in those languages.
Python allows you to split your program into modules that can be
reused in other Python programs. It comes with a large collection of reused in other Python programs. It comes with a large collection of
standard modules that you can use as the basis of your programs --- or standard modules that you can use as the basis of your programs --- or
as examples to start learning to program in Python. Some of these as examples to start learning to program in Python. Some of these
@ -115,8 +122,8 @@ programs, or to test functions during bottom-up program development.
It is also a handy desk calculator. It is also a handy desk calculator.
Python enables programs to be written compactly and readably. Programs Python enables programs to be written compactly and readably. Programs
written in Python are typically much shorter than equivalent C or written in Python are typically much shorter than equivalent C,
\Cpp{} programs, for several reasons: \Cpp{}, or Java programs, for several reasons:
\begin{itemize} \begin{itemize}
\item \item
the high-level data types allow you to express complex operations in a the high-level data types allow you to express complex operations in a
@ -145,7 +152,8 @@ it is encouraged!
Now that you are all excited about Python, you'll want to examine it Now that you are all excited about Python, you'll want to examine it
in some more detail. Since the best way to learn a language is in some more detail. Since the best way to learn a language is
to use it, you are invited to do so with this tutorial. to use it, the tutorial invites you to play with the Python interpreter
as you read.
In the next chapter, the mechanics of using the interpreter are In the next chapter, the mechanics of using the interpreter are
explained. This is rather mundane information, but essential for explained. This is rather mundane information, but essential for