4.4.2 Python's use outside Education

a language should be usable--and ideally used in many fields.

The cursory analysis of the number of mentions of various languages found by the Google search engine showed that, although Python is a popular language, it is not as popular as C. However, it is perhaps more common than Fortran, which remains widely used in academia.

Python is undoubtedly less widely used than C but, in principle, Python could be used to do everything C can with the exception of very low level applications such as operating systems. You might not choose to use it for applications which require speed as it is interpreted, but in general it is possible.

The lack of speed with which Python programs execute might hinder its growing use in the scientific community were it not for its extensibility. A carefully designed API makes it possible to implement the most time consuming parts of an algorithm in a compiled language such as C or C++, whilst retaining Python's clean design for the ``glue'' of the program. This has allowed the creation of the popular Numerical Python library, which implements, amongst other things, a matrix-like array data type which can be manipulated very quickly.

It is difficult to quantify what appears to be Python's growing acceptance in academia. However, it is being used. In our own Physics department Arzhang Ardavan and others are using it to model crystalline structures as part of their research in condensed matter. There is a web page promoting Python's use in astronomy[#!astronomy!#]. A web search reveals it is also being used in scientific disciplines from Molecular Biology at Grenoble[#!grenoble!#] to Meteorology at the Swedish Meteorological and Hydrological Institute[#!swedmet!#]. It is also used in non-academic (but still ``real-world'', non-educational fields)[#!whouses!#].

Furthermore, Python is multi-paradigm; it is possible to write both procedural and object-oriented programs.4.3. This makes it a language that students could use if they came to write object-oriented programs later in their careers (unlike C).

In conclusion, Python is used outside education (unlike Pascal) and it is a worthwhile specific skill for students to have (but not as useful as C).



Footnotes

... programs.4.3
And, less usefully from the point of view of this investigation, functional programs which LISP is often used for.