Software development with Python

We develop your software in Python. If you like JAVA, C++ or PASCAL Software, instead, we have competent partners we can recommend.

Python is an interpreted language. Python was developed in the vicinity of scientific high-performance computing on mainframes. Born in science Python is an excellent programming language for scientific computing. Python can be extended and embedded easily and volunteers for intermixture with other languages. Python runs on mainframes and in micro controllers the size of a nickel.

Python itself is slow, but the libraries are fast. The performance of the Python interpreter is 100 times slower than C code. The libraries especially the numerical libraries of Python are written in C code or comparable compiler languages and therefore as fast as C. Some high optimized libraries like the numExpr library are faster than C code. The Python extension Cython allows to write Cython statements in the plain python code that are compiled into C code. This approach reduces the overhead of the data type marshaling between interpreter and C-library. Cython, in addition, defines  a standardized platform to develop C extensions for Python in a uniform way.

Python is a language of the fourth level. Well-established programming languages of the third level like JAVA or C++ keep for historical reasons some burden of ancient datatypes with them, that are no objects. Python is completely object oriented - each datatype is an object, even classes are objects. The performance of a computer language is no longer measured by the fact that it has a data type float that is fast since it is no object. A programming language has to be judged for their flexibility and their support of modern programming paradigms like object orientation, component design, and metaclasses.

Python is universal. Python has a countless number of libraries - starting from a sound studio to astrophysics every field is covered. In the science domain, there are stacks of applications. Python is on the best way to follow up Perl.

Python is easy to debug. A developer utilizes 80% of its time debugging. Python has not to be compiled, after each change one can start the program without delay. The interpreter can be stopped at an arbitrary line of code with full access on all variables, objects, classes for debugging. All you need is a shell.

We develop in C and assembler. The wring the last drop of performance from the CPU we program in C and Assembler, also. But the progress in the compiler technology is extreme that it no longer makes sense to use Assembler for optimization. An optimization in C can be useful if a large memory efficient data structure (e.g. a large portion of crystal structure for Monte-Carlo simulations) has to be created.