Skip to Content
Effective Computation in Physics
book

Effective Computation in Physics

by Anthony Scopatz, Kathryn D. Huff
June 2015
Intermediate to advanced
550 pages
13h 27m
English
O'Reilly Media, Inc.
Content preview from Effective Computation in Physics

Chapter 2. Programming Blastoff with Python

A lot of people talk about the greatness of Python as a programming language. They are right! But what is Python, and why is it so awesome? Python is a general-purpose, dynamic, high-level language that is easy to learn. Python is also known as a glue language because it plays nicely with other languages, including C, C++, and Fortran. For these reasons it has established a strong foothold as a data analysis language. This makes it popular in science and engineering, and in physics-related fields in particular.

The main criticism of Python is its speed. Python is an interpreted language, which makes it more similar to R, Ruby, and MATLAB than it is to compiled languages like C, C++, or Fortran. Pythonistas everywhere live by the mantra that “premature optimization is bad.” Concerns that it is too slow are often refuted with these arguments:

  • Developer time—the time the programmer spends programming—is more valuable than execution time.1

  • Most speed issues can be overcome by using the appropriate data structures and algorithms.

  • If you really have a need for speed you can always write the performance-critical parts in a compiled language and then expose the functionality to Python.

The most important aspect of Python is it is fun to use! The more you learn, the more you want to learn, and the more you find there is to learn. The Python ecosystem is extraordinarily rich and the community members are, by and large, friendly. Unfortunately, ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Learn Physics with Functional Programming

Learn Physics with Functional Programming

Scott N. Walck
Math for Deep Learning

Math for Deep Learning

Ronald T. Kneusel
Effective Python

Effective Python

Brett Slatkin
Good Math

Good Math

Mark C. Chu-Carroll

Publisher Resources

ISBN: 9781491901564Errata PageSupplemental Content