Utilizing Python to incorporate and tie together legacy code

Date and Time: 
Wednesday 2018 Apr 4th
CG Auditorium
Josh Elliott

Scientific software is often dependent on many disparate libraries of code written by multiple people over the course of decades. Legacy code is often not updated for fear of breaking already working code, which often drives the choice of programming language. This forces future developers to rely upon and utilize outdated and/or proprietary programming languages which can hinder scientific development and prevent the use of more advanced software techniques or tools. This tutorial will focus on utilizing Python to incorporate and tie together your existing IDL and/or Matlab code. You will learn techniques to build processing pipelines that can seamlessly tie together these three languages, allowing you to work with legacy code as well as code from other team members. Each individual unit of code can be encapsulated into a generic Python wrapper which will enable you to gradually replace or update portions of your pipeline without disrupting other components. For example, a Matlab unit may be swapped out for an IDL or Python unit, etc.

Speaker Description: 

Josh Elliott is a Scientific Programmer at the Laboratory for Atmospheric and Space Physics at the University of Colorado at Boulder. He has worked on scientific software in commercial, non-profit and academic settings with experience in multiple programming languages. He currently writes software for the NASA SORCE and MAVEN missions.

Video recorded: 

Slides, code examples and other tutorial material: https://github.com/spacemanjosh/Python-to-Legacy-Code-Tutorial

Event Category: