Python is a jack of all trades and is one of the best first programming languages for new coders. Numerous packages are available for Earth Sciences which reduces time spent coding and increases time spent doing actual science! One of the major reasons to learn Python is that this blog will use Python Jupyter notebooks at times to further explore published papers. If that’s not convincing enough for you, read on to see why I think Python should be your primary coding language.
Price
While other paid languages provide numerous toolboxes, Python is open source and free to all. This may not seem like a big deal if you are in college or at a company that has a full license to a paid programming language. My anecdote is that I had a paper under review right before graduation. I also landed a job a semester before graduating so I happily completed the dissertation remotely. Little did I know that my programming license expired while the paper was out for review. As luck would have it, the reviews required me to process the data differently to create new figures. My heart sank as I tried to open up my programming GUI and saw a warning that the license had expired! My new job did not have access to all the toolboxes (of course!) that were required to revise the paper.
After a few days trying to legally gain access to the programming language and associated toolboxes, I made the decision to learn Python. As the revision due date loomed, I spent all spare time outside of work trying to reproduce the existing figures. Once the figures were reproduced it took another week to produce the new figures. Please save yourself this enormous headache and start with Python!
Ease of Use
Python is written in a format that just makes sense to a lot of people. The syntax is relatively human readable which is a big change from other languages. You can open up a Python script and easily (after gaining some experience) follow what the programmer is attempting to accomplish.
Community
Since Python is open source, a vibrant community exists. My browser’s homepage might as well be StackOverflow. That community alone has helped me figure out coding challenges more times than not. Chances are that you can find a person that has already encountered a problem similar to yours. If you can search for the right question, you’re also likely to find a helpful answer that at least gets you closer to solving your problem.
Wrap Up
I’m sure there are numerous other reasons as to why you should learn Python, but these are the big ones in my opinion. If you have questions, check the internet – just kidding (kind of). I’m happy to answer general Python questions, but likely won’t have time to answer specific coding techniques for everybody.