waterwaterwaterwaterwaterwaterwaterwaterwaterwaterPollenation web design

Python

Python is a dynamic, object-oriented programming language in wide use for many types of applications.

Python is known to be used by many large organisations such as Google, the BBC, Yahoo, Industrial Light & Magic, Walt Disney, NASA, AstraZeneca and Philips.

Pollenation's employees have been using Python for almost ten years. As a company, we decided to focus primarily on Python development in 2002 after becoming disillusioned with other programming languages.

Python is powerful enough to be used to build complex applications yet simple enough to be used as a scripting language.

Python's key advantages over other programming languages are the combination of:

  • Open source. Python is released under a liberal open source license that allows its use for any purpose without fee.
  • Commonly available. Python is available on the vast majority of operating system from servers to PDAs. Linux distributions often come with Python installed by default and an installer for Microsoft platforms is available from the Python website.
  • Interpreted. Interpreted languages have no compile and link steps that languages such as C, C++ and Java. This reduces development time.
  • Dynamic but strongly typed. Python's dynamic type system makes manipulating data in an application simple and flexible but never allows data to be mis-used ensuring correct behaviour.
  • Simple and elegant. The syntax of the language is simple, clean and elegant. Python has sometimes been described as "executable pseudo-code".
  • Maintainable. The simplicity of the language's syntax and the goal of "only one way to do it" makes Python code highly maintainable.
  • Powerful. Python supports classes, exceptions, memory management and garbage collection packages and modules. High level data types (i.e. lists and mappings) and an extensive standard library are a standard part of the language. Python also supports meta programming and, to some degree, a functional programming style.
  • Robust. Full exception handling and strong typing ensure that code with programming errors does not damage any data.
  • General purpose.
  • Good connectivity. Packages for interacting with the operating system, databases, web services, etc are either part of the standard library or typically available as a free download.

We have experience in many of the common Python packages and tools that are available including Twisted, Nevow, ReportLab, Python Imaging Library (PIL), psycopg, Docutils, ElementTree and lxml, Pyrex and Trac.