[[history_lesson]]
== Appendix: History Lesson

I first started with Python when I needed to write an installer for software I had written called
'Diamond' so that I could make the installation easy. I had to choose between Python and Perl
bindings for the Qt library. I did some research on the web and I came across
http://www.python.org/about/success/esr/[an article by Eric S. Raymond], a famous and respected
hacker, where he talked about how Python had become his favorite programming language. I also found
out that the PyQt bindings were more mature compared to Perl-Qt. So, I decided that Python was the
language for me.

Then, I started searching for a good book on Python. I couldn't find any!  I did find some O'Reilly
books but they were either too expensive or were more like a reference manual than a guide. So, I
settled for the documentation that came with Python. However, it was too brief and small. It did
give a good idea about Python but was not complete. I managed with it since I had previous
programming experience, but it was unsuitable for newbies.

About six months after my first brush with Python, I installed the (then) latest Red Hat 9.0 Linux
and I was playing around with KWord. I got excited about it and suddenly got the idea of writing
some stuff on Python. I started writing a few pages but it quickly became 30 pages long. Then, I
became serious about making it more useful in a book form. After a _lot_ of rewrites, it has
reached a stage where it has become a useful guide to learning the Python language.  I consider
this book to be my contribution and tribute to the open source community.

This book started out as my personal notes on Python and I still consider it in the same way,
although I've taken a lot of effort to make it more palatable to others :)

In the true spirit of open source, I have received lots of constructive suggestions, criticisms and
<<who_reads_bop,feedback>> from enthusiastic readers which has helped me improve this book a lot.

=== Status Of The Book

- The book was last updated on {localdate} and generated using
  http://www.asciidoctor.org[AsciiDoctor] {asciidoctor-version}.
- Last major update of this book was in Mar-Apr 2014, converted to
  http://asciidoctor.org/docs/what-is-asciidoc/[Asciidoc] using
  http://swaroopch.com/2013/10/17/emacs-configuration-tutorial/[Emacs 24] and
  https://github.com/sensorflo/adoc-mode/wiki[adoc-mode].
- In Dec 2008, the book was updated for the Python 3.0 release (one of the first books to do
  so). But now, I have converted the book back for Python 2 language because readers would often
  get confused between the default Python 2 installed on their systems vs. Python 3 which they had
  to separately install and all the tooling, esp. editors would assume Python 2 as well. I had a
  hard time justifying why I had to aggravate readers and make them go through all this when the
  fact is that they can learn either one and it would be just as useful. So, Python 2 it is.

The book needs the help of its readers such as yourselves to point out any parts of the book which
are not good, not comprehensible or are simply wrong. Please {contact}[write to the main author] or
the respective <<translations,translators>> with your comments and suggestions.

[[revision_history]]
== Appendix: Revision History

* 3.0
  ** 31 Mar 2014
  ** Rewritten using http://asciidoctor.org/docs/what-is-asciidoc/[AsciiDoc] and
     https://github.com/sensorflo/adoc-mode/wiki[adoc-mode].
* 2.1
  ** 03 Aug 2013
  ** Rewritten using Markdown and http://jblevins.org/projects/markdown-mode/[Jason Blevins'
     Markdown Mode]
* 2.0
  ** 20 Oct 2012
  ** Rewritten in http://johnmacfarlane.net/pandoc/README.html[Pandoc format], thanks to my wife
     who did most of the conversion from the Mediawiki format
  ** Simplifying text, removing non-essential sections such as `nonlocal` and metaclasses
* 1.90
  ** 04 Sep 2008 and still in progress
  ** Revival after a gap of 3.5 years!
  ** Rewriting for Python 3.0
  ** Rewrite using http://www.mediawiki.org[MediaWiki] (again)
* 1.20
  ** 13 Jan 2005
  ** Complete rewrite using https://en.wikipedia.org/wiki/Quanta_Plus[Quanta+] on
     http://fedoraproject.org/[Fedora] Core 3 with lot of corrections and updates. Many new
     examples. Rewrote my DocBook setup from scratch.
* 1.15
  ** 28 Mar 2004
  ** Minor revisions
* 1.12
  ** 16 Mar 2004
  ** Additions and corrections
* 1.10
  ** 09 Mar 2004
  ** More typo corrections, thanks to many enthusiastic and helpful readers.
* 1.00
  ** 08 Mar 2004
  ** After tremendous feedback and suggestions from readers, I have made significant revisions to
     the content along with typo corrections.
* 0.99
  ** 22 Feb 2004
  ** Added a new chapter on modules. Added details about variable number of arguments in functions.
* 0.98
  ** 16 Feb 2004
  ** Wrote a Python script and CSS stylesheet to improve XHTML output, including a
     crude-yet-functional lexical analyzer for automatic VIM-like syntax highlighting of the
     program listings.
* 0.97
  ** 13 Feb 2004
  ** Another completely rewritten draft, in DocBook XML (again). Book has improved a lot - it is
     more coherent and readable.
* 0.93
  ** 25 Jan 2004
  ** Added IDLE talk and more Windows-specific stuff
* 0.92
  ** 05 Jan 2004
  ** Changes to few examples.
* 0.91
  ** 30 Dec 2003
  ** Corrected typos. Improvised many topics.
* 0.90
  ** 18 Dec 2003
  ** Added 2 more chapters. https://en.wikipedia.org/wiki/OpenOffice[OpenOffice] format with
     revisions.
* 0.60
  ** 21 Nov 2003
  ** Fully rewritten and expanded.
* 0.20
  ** 20 Nov 2003
  ** Corrected some typos and errors.
* 0.15
  ** 20 Nov 2003
  ** Converted to https://en.wikipedia.org/wiki/DocBook[DocBook XML] with XEmacs.
* 0.10
  ** 14 Nov 2003
  ** Initial draft using https://en.wikipedia.org/wiki/Kword[KWord].
