Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Rediscovering Fire - On Designing Portable, Multi-Language Libraries

NDC Conferences via YouTube

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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.

Syllabus

Introduction
Outline
Cement
PiPI stats
Goals
Userfacing
ABI
API
Alignment
Primitive types
Example
Python vs C
Native Python
Python example
Problem with allocation
Memory
Memory Allocation
Python
Error codes
Invalid fields
Primitive functions
Function
Binary stability
Separating IO
Numerical formats
Questions

Taught by

NDC Conferences

Reviews

Start your review of Rediscovering Fire - On Designing Portable, Multi-Language Libraries

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.