-
Book Overview & Buying
-
Table Of Contents
Mastering IPython 4.0
By :
In this chapter, we looked at the basics of parallel computing and situated IPython in relation to its primary competitor, Fortran.
We started with the history of computing and saw how each advancement was driven by the need to solve more difficult problems and simulate more complex phenomena. Computers are simply the latest in the line of computational tools and have brought with them their own difficulties.
Fortran provided answers to problems of readability, portability, and efficiency within the computing environments that existed in early machines. These early machines prized runtime efficiency above everything else, and Fortran was geared toward this end.
Decades have passed since the earliest machines, and cycles have become cheaper. This has meant that other criteria have become important in mainstream commercial computing. In particular, the cost of creating and maintaining software has become an increasingly important consideration. This had led to increased emphasis on programmer productivity, testability, and maintainability. This chapter presented examples of how Python/IPython, while not originally designed for runtime efficiency, takes these new considerations into account.
The final step in the quest for efficiency—parallel programming—was introduced. Some of the terminology used in the field was presented, and some examples illustrated basic parallel concepts.
The following chapters will attempt to expand on the case for using IPython for projects in general, and for parallel projects in particular. While choosing a tool is often a personal (and not always rational) process, the author hopes that a fair presentation of the capabilities of IPython, in particular its strengths in parallel and scientific computing, will persuade developers and managers to adopt it for their next project.