Contribute Media
A thank you to everyone who makes this possible: Read More

Python as the keystone of building and testing C++ applications

Description

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, Push and Link, 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 scene powered by Qt. Link is a technology that keeps music devices in time and is available to app developers as LinkKit, 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, 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.

Improve this page