1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- [[preface]]
- [preface]
- == Preface
- Python is probably one of the few programming languages which is both simple and powerful. This is
- good for beginners as well as for experts, and more importantly, is fun to program with. This book
- aims to help you learn this wonderful language and show how to get things done quickly and
- painlessly - in effect 'The Anti-venom to your programming problems'.
- === Who This Book Is For
- This book serves as a guide or tutorial to the Python programming language. It is mainly targeted
- at newbies. It is useful for experienced programmers as well.
- The aim is that if all you know about computers is how to save text files, then you can learn
- Python from this book. If you have previous programming experience, then you can also learn Python
- from this book.
- If you do have previous programming experience, you will be interested in the differences between
- Python and your favorite programming language - I have highlighted many such differences. A little
- warning though, Python is soon going to become your favorite programming language!
- [[history_lesson]]
- === 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
- - Latest 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.
- === Official Website
- The official website of the book is {homepage} where you can read the whole book online, download
- the latest versions of the book, {buy}[buy a printed hard copy] and also send me feedback.
- === Something To Think About
- [quote,C. A. R. Hoare]
- __________________________________________________
- There are two ways of constructing a software design: one way is to make it so simple that there
- are obviously no deficiencies; the other is to make it so complicated that there are no obvious
- deficiencies.
- __________________________________________________
- [quote,C. W. Wendte]
- __________________________________________________
- Success in life is a matter not so much of talent and opportunity as of concentration and
- perseverance.
- __________________________________________________
|