[[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 <> 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 <> 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].