Explore the intricacies of designing portable, multi-language libraries in this 50-minute conference talk from NDC Conferences. Delve into the development process of the free multi-language library segyio, examining crucial aspects such as stable API and ABI design, creating C-interface libraries for seamless integration with foreign languages like Python, and the philosophy behind effective library design. Learn about designing for composition and caller flexibility, the concept of plumbing and porcelain in library development, and bridging the gap between primitive and sophisticated systems. Gain valuable insights applicable to both library developers for embedded systems and users of higher-level libraries in desktop and scientific applications. The talk covers topics including user-facing considerations, memory allocation, error handling, primitive functions, binary stability, and separating I/O operations, providing a comprehensive overview of the challenges and best practices in multi-language library design.
Read more
Rediscovering Fire - On Designing Portable, Multi-Language Libraries