Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Learn to program with Python
Kalb I., Apress, New York, NY, 2016. 263 pp. Type: Book (978-1-484218-68-6)
Date Reviewed: Feb 8 2017

Since I have already learned how to program (almost 60 years ago), I thought that reading this book would be a good way to learn Python. I’m rather disappointed.

The author is trying to teach: the elements of programming; the syntax of Python; the semantics of Python; and as a side effect the use of IDLE, the interactive editor of Python. But he does that all at the same time, without trying to separate what is important--for example, the semantics of assignment--from what is minor--for example, the presentation artifacts of IDLE.

He also tries to teach two different versions of Python at the same time. Since version 3 differs from version 2 in an attempt to fix design errors (not all of them, unfortunately), this only confuses matters for the neophyte student, for no sensible benefit.

Some presentation choices are disputable--to say the least. The first programming example in chapter 2 presents a program whose main goal is to read lines and throw them out. Subsequent examples are about as useful.

The ideas of a compiler and an interpreter are mixed and thus muddled. The programming language C is presented as an example of a high-level language. Using both lower-case and upper-case characters in variable names is supposed to make compilation faster.

There are long explanations about representing integer numbers in base 2, which would have been better completely ignored. Other explanations about the order of arithmetic operations lead the novice reader to probable confusion.

An assertion is particularly offensive: contrary to what the author says, spaces are not ignored in Python, as is clearly demonstrated by the statement “print total,” which would become erroneous if the only space were removed.

The author’s attempt to teach at the same time the syntax and semantics of a specific language and the principles of programming becomes more of a hindrance as the book goes on. Thus, he spends too much time on presenting useless variations of petty programs, and the actual information is lost in this verbiage.

Some examples are explained at length for almost no use, especially the complete recipe of a chocolate cake in chapter 4. The author seems to think that the concept of operator priority is impossible to explain, and he prefers to use unnecessary parentheses. Instead of aiming for concise programs, he seems to delight in adding variables, assignments, and printings, which don’t add anything useful to the examples.

Is Python an appropriate language for teaching programming? My opinion is that it’s not. The syntax of this language seems to have been designed by somebody unaware of the previous hundreds of programming languages: redundant colon punctuation in many places, poor use of the = operator, use of indentation for structuring the statements, not enough syntax constructs, and so on.

What is really interesting in Python is its power as a scripting language, which makes it a pleasant tool for programmers who want to spend their time programming and not struggling with the idiosyncrasies of a language. But this does not make it a good tool for teaching how to program to neophytes, who need a much more structured framework.

There exists no programming language appropriate for everything, and this is yet another example.

More reviews about this item: Amazon

Reviewer:  O. Lecarme Review #: CR145051 (1705-0242)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Python (D.3.2 ... )
 
 
General (D.1.0 )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Python": Date
Practical Python
Hetland M., APress, LP, 2002.  648, Type: Book (9781590590065)
Mar 28 2003
Python programming: an introduction to computer science
Zelle J., Franklin B, 2003. Type: Book (9781887902991)
Dec 2 2004
Foundations of Python network programming
Goerzen J., APress, LP, Berkeley, CA, 2004.  512, Type: Book (9781590593714)
Dec 26 2004
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy