Wednesday, April 7, 2010

Offshore Python Development

Python is a flexible and powerful dynamic scripting language with full object-oriented features. It is a general-purpose high-level programming language whose design philosophy emphasizes code readability. Its use of indentation for block delimiters is unusual among popular programming languages.

Its high-level built in data structures, combined with dynamic typing and dynamic binding, make it very attractive for Rapid Application Development, as well as for use as a scripting or glue language to connect existing components together. Python's simple, easy to learn syntax emphasizes readability and therefore reduces the cost of program maintenance. Python supports modules and packages, which encourages program modularity and code reuse.

When a language is interpreted it means that it is processed at runtime by the interpreter - in this case, Python. Perl is also an interpreted language. Interactive means that you can actually sit at a Python prompt and interact with the interpreter directly. Finally, Object-Oriented is a style or technique of programming that encapsulates code within objects.

Python is a multi-paradigm programming language. Rather than forcing programmers to adopt a particular style of programming, it permits several styles: object-oriented programming and structured programming are fully supported, and there are a number of language features which support functional programming and aspect-oriented programming.

Python is often used as a scripting language for web applications, e.g. via mod_python for the Apache web server. With Web Server Gateway Interface a standard API has been developed to facilitate these applications. Web application frameworks or application servers like Django, Pylons, TurboGears, web2py and Zope support developers in the design and maintenance of complex applications. Libraries like NumPy, Scipy and Matplotlib allow Python to be used effectively in scientific computing.