Why Python?

Why I choose Python?

  1. Higher level — The python interpreter does a lot low level work for you.  Computers are more efficient at moving bit and bytes around then humans anyway.  More of my time is thinking about solving the problem than chasing down memory leaks or null pointers.  My programs are shorter, and more readable.
  2. Cross platform–It does not matter if you are running Windows, Linux, or Mac.  Python runs on all of them.
  3. Dynamic — Much more forgiving than other languages, in that it just runs.
  4. “Batteries included”— Libraries are included to do just about anything.  Some of the best libraries for science and engineering (Anaconda).  This is my biggest reason for using Python, well actually the next one is too.
  5. Free –– Python will not break my budget.  Matlab and Labview have amazing products, but you have to pay a lot to use them.  Honestly I haven’t used m-script or vi-scripts since graduating, since their cost is too much for small fries like me
  6. General Purpose — It’s called a glue language.  Python is the one language to rule them all.  It can use Java libraries with Jython,  or .NET libraries with IronPython, include legacy C/C++ libraries with CPython.
  7. RealTime — What? How can you use a scripting language for realtime?  True, a python script will never run as fast as a C, but a script is fast enough.  Critical libraries that need more speed can be pre-compiled to C (modules like numpy or pyqtgraph).  This way you get the best of both worlds, the speed of C and the ease of Python.  You can even use Python to import your favorite Matlab C libraries.

Where do I get started?

My favorite Book has been Head First Python 2nd Ed, by Paul Berry.  Even with a C/C++ background it opened up a whole new level of understanding for me.

 

 

 

The second is the Python Cookbook 3rd Ed, David Beazley.   It is a good way develop specific skills, without needing an encyclopedic knowledge of Python first.

 

Leave a Reply

Your email address will not be published. Required fields are marked *