Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Think Python - I see the author has written learning books for other languages, so why Python?

 
Michael Swierczek
Ranch Hand
Posts: 125
1
Clojure Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Allen Downey,

Thank you for participating in the book giveaway. My first question is simple - which version of Python is your book written for? 2.x? 3.x?

I see at Amazon that you have written books for C++, Java, R, and Perl and an earlier book on Python. What made you decide to tackle Python again? I presume for someone new to computer science Python is an easier choice than C++, Java, or R. But introductory work with Perl, for example, is in my opinion not appreciably more complex than introductory work in Python. I think there is a lot of obfuscated Perl code out in the web, but starting with print "Hello World!\n" in Perl is not much worse than starting out in Python.

Also, I'm curious what made you pick Python as an introductory language instead of, for example, Javascript, Ruby, or Scheme.

Thanks for your time.
 
Allen Downey
Author
Greenhorn
Posts: 25
Java Python Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Michael,

Lots of good questions, so thanks!

I have taught intro programming classes in C, Java, and Python --- and Python wins hands down. Students had less frustration with syntax, more of them were able to master basic programming skills, and they were able to take on more ambitious and more interesting projects.

You are right that Perl is also beginner-friendly. But in my opinion Python code is easier to read, which makes it easier to debug. And for beginners debuggability might be the most important feature.

You asked about which version of Python the book is for. It is primarily Python 2.x, but there are only a few differences in Python 3 that come up, and I note them in the text. The accompanying software suite, Swampy, is in Python 2.x.

Thanks again!
Allen
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic