source: https://www.cae.tntech.edu/help/programming/mixed_languages
