Rediscovering fire - on designing portable, multi-language libraries
The session will cover the design choices and lessons learned developing the multi-language free library segyio, or more conceptually, designing libraries for libraries.
Briefly, it will discuss:
- Stable API, ABI, and how to design them for the future
- How to design C-interface libraries that allows for good foreign-language libraries (in our case python)
- Library design philosophy and the beauty of primitive functions
- How to design for composition and caller flexibility
- Plumbing and porcelain