02-preface.pd 4.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. # Preface
  2. 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 Perfect Anti-venom to your programming problems'.
  3. ## Who This Book Is For
  4. 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.
  5. 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.
  6. 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!
  7. ## History Lesson
  8. 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 [an article](http://pythonology.org/success&story=esr) by Eric S. Raymond, the 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.
  9. 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.
  10. 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.
  11. 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 :)
  12. In the true spirit of open source, I have received lots of constructive suggestions, criticisms and [feedback](#who-reads-a-byte-of-python) from enthusiastic readers which has helped me improve this book a lot.
  13. ## Status Of The Book
  14. This book has been reformatted in October 2012 using Pandoc to allow generation of ebooks as requested by several users, and updated to use Python 2 with 3-isms mentioned throughout the book.
  15. Changes in December 2008 edition from the earlier major revision in March 2005 was updating for the Python 3.0 release.
  16. 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 [write to the main author](http://www.swaroopch.com/contact/) or the respective [translators](#translations) with your comments and suggestions.
  17. It's a constant tussle to balance this book between a beginner's needs and the tendency towards 'completeness' of information. It would be helpful if readers also gave feedback on how much depth this book should go into, and not go into.
  18. ## Official Website
  19. The official website of the book is <http://www.swaroopch.com/notes/Python> where you can read the whole book online, download the latest versions of the book, [buy a printed hard copy](http://www.swaroopch.com/buybook), and also send me feedback.
  20. ## Something To Think About
  21. > 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.
  22. >
  23. > -- C. A. R. Hoare
  24. <!-- -->
  25. > Success in life is a matter not so much of talent and opportunity as of concentration and perseverance.
  26. >
  27. > -- C. W. Wendte