Alain Martin - Python as the keystone of building and testing C++ applications
Alain Martin - Python as the keystone of building and testing C++ applications [EuroPython 2016] [18 July 2016] [Bilbao, Euskadi, Spain] (https://ep2016.europython.eu//conference/talks/python-as-the-keystone-of-building-and-testing-c-applications) This talk explains how Ableton’s developers use Python to build and test C, C++ and Objective-C code. Our "build-system" is a collection of Python scripts that simplify our workflows, and help us write better software. The top-level scripts share a common design which makes them easy to use, maintain and extend. This talk describes the essence of that design, so you can apply it to your own project. ----- At Ableton, we make [Live][1], [Push][2] and [Link][3], unique software and hardware for music creation and performance. Live is a C++ desktop application built from a 15-year old code base. Push is an instrument embedding a multicolor display which renders a [Qt Quick][4] scene powered by [Qt][5]. Link is a technology that keeps music devices in time and is available to app developers as [LinkKit][6], an iOS SDK. "But what does all that have to do with Python?", you might ask. This talk answers that question by explaining how our developers use Python to build and test C, C++ and Objective-C source code. Based on [GYP][7], what we call "build-system" is a collection of Python scripts that simplify our workflows, and help us write better software. The three top-level scripts, "configure.py", "build.py" and "run.py", share a common design which makes them easy to use by developers, as well as easy to maintain and extend. This talk describes the essence of that design, so you can apply it to your own project. [1]: https://www.ableton.com/live/ [2]: https://www.ableton.com/push/ [3]: https://www.ableton.com/link/ [4]: https://www.qt.io/qt-quick/ [5]: http://www.qt.io/ [6]: https://ableton.github.io/linkkit/ [7]: https://gyp.gsrc.io/