Главная
Study mode:
on
1
Introduction
2
Outline
3
Cement
4
PiPI stats
5
Goals
6
Userfacing
7
ABI
8
API
9
Alignment
10
Primitive types
11
Example
12
Python vs C
13
Native Python
14
Python example
15
Problem with allocation
16
Memory
17
Memory Allocation
18
Python
19
Error codes
20
Invalid fields
21
Primitive functions
22
Function
23
Binary stability
24
Separating IO
25
Numerical formats
26
Questions
Description:
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

NDC Conferences
Add to list