Learning Resources
Need and evolution of Python
Python is one of those rare languages which can claim to be both simple and powerful. You will find that you will be pleasantly surprised on how easy it is to concentrate on the solution to the problem rather than the syntax and structure of the language you are programming in.
The official introduction to Python is -
"Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python's elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for scripting and rapid application development in many areas on most platforms."
History of Python
The history of the Python programming language dates back to the late 1980s.
Python was conceived in the late 1980s and its implementation was started in December 1989 by Guido van Rossum at CWI in the Netherlands as a successor to the ABC programming language capable of exception handling and interfacing with the Amoeba operating system.Van Rossum is Python's principal author, and his continuing central role in deciding the direction of Python is reflected in the title given to him by the Python community, Benevolent Dictator for Life (BDFL).
Python 2.0 was released on 16 October 2000, with many major new features including a full garbage collector and support for unicode. However, the most important change was to the development process itself, with a shift to a more transparent and community-backed process. Python 3.0, a major, backwards-incompatible release, was released on 3 December 2008 after a long period of testing. Many of its major features have also been backported to the backwards-compatible Python 2.6 and 2.7.
Need and advantages of python
Readability
Python's syntax is clear and readable. The way Python's syntax is organized imposes some order to programmers. Experts and beginners can easily understand the code and everyone can become productive in Python very quickly.
It is also important to mention that Python has fewer "dialects" than other languages, such as Perl. And because the block structures in Python are defined by indentations, you are much less likely to have bugs in your code caused by incorrect indentation.
It Is Simple to Get Support
The Python community always provides support to Python users. As we already know, Python code is freely available for everyone. Therefore, thousands of developers worldwide are working hard to find bugs and create patches to fix those bugs. Furthermore, many people are creating new enhancements to the language and sending them for approval.
Fast to Learn
The language is very easy to learn because its source code resembles pseudo code. It doesn'task for long and strange lines of code. Therefore, less training is a direct result. Companies don't need to spend much time to have their programmers coding in Python.
Once you start learning Python, you can do useful coding almost immediately. And after some practice, your productivity will suddenly increase.You can design a high-level, object-oriented programming code in a friendly and interpreted Python environment. This feature works great for small tasks.
Fast to Code
Python provides fast feedback in several ways. First, the programmer can skip many tasks that other languages require him to take. Therefore, it reduces both the cost of program maintenance and the development time.
If necessary, Python enables a fast adaptation of the code. You can change the high-level layer of your application without changing the business rules that are coded within your modules.The interactive interpreter that comes with the Python distribution brings rapid development strategies to your project. In spite of traditional programming languages that require several distinct phases (such as compiling, testing, and running) and other scripting languages that require you to edit the code outside the execution environment, Python is a ready-to-run language.
Every time you use Python's interactive interpreter, you just need to execute the code you have. A direct benefit of this feature over Perl is the way you can interactively test and play around with your code.
Python provides a bottom-up development style in which you can build your applications by importing and testing critical functions in the interpreter before you write the top-level code that calls the functions.The interpreter is easily extensible. It enables you to embed your favorite C code as a compiled extension module.
Reusability
Python encourages program reusability by implementing modules and packages. A large set of modules has already been developed and is provided as The Standard Python Library, which is part of the Python distribution.You can easily share functionality between your programs by breaking the programs into modules, and reusing the modules as components of other programs.
Portability
Besides running on multiple systems, Python has the same interface on multiple platforms. Its design isn't attached to a specific operational system because it is written in portable ANSI C. This means that you can write a Python program on a Mac, test it using a Linux environment, and upload it to a Windows server.
Everything mentioned here is possible because Python supports most of its features everywhere. However, you must know that some modules were developed to implement specific mechanisms of some operational systems and, of course, programs that use those modules don't work in all environments.But, wait a minute. This problem affects only some specific modules.
Usually, you can make most of your applications run on multiple platforms without changing one line of code. How many other languages can claim this type of behavior?Python is well integrated with both UNIX and Windows platforms. The Macintosh environment also supports Python applications, even though it doesn't provide a full set of solutions yet. But don't worry. Developers are currently working on that.
Object-Oriented Programming
Usually, scripting languages have object-orientation support included in the language as an add-on. However, everything in Python, as in Smalltalk, is designed to be object-oriented. You can start programming using non-OO structures, but it doesn't take too long for you to find out that it is much simpler if you use its OO features. Some of the implemented OO functionality in Python is inheritance and polymorphism.