kb · межъязыковые библиотекиkb · cross-language libraries

Кроссплатформенные библиотекиCross-platform libraries

Библиотеки, не привязанные к одному языку — C-ядро с биндингами повсюду или намеренно спроектированный межъязыковой стандарт (схема + кодогенерация). В отличие от cpp/libraries, rust/ecosystem, go/ecosystem, python/ecosystem, js/ecosystem — здесь то, что одинаково встречается в C++, Rust, Go, Python и JS/TS одновременно, а не специфично для одного языка.Libraries not tied to one language — a C core with bindings everywhere, or a deliberately designed cross-language standard (schema plus code generation). Unlike cpp/libraries, rust/ecosystem, go/ecosystem, python/ecosystem, js/ecosystem — this is what shows up identically across C++, Rust, Go, Python, and JS/TS at once, rather than being specific to one language.

Сериализация и данныеSerialization and data

кликабельны по готовностиclickable once ready
Protocol Buffers не начатоnot started

Схема-based сериализация от GoogleGoogle's schema-based serialization

.proto-файл, из которого кодогенерация выдаёт типобезопасный код для C++/Rust/Go/Python/JS одновременно — фундамент gRPC.A .proto file that code generation turns into type-safe code for C++/Rust/Go/Python/JS at once — the foundation gRPC is built on.

план не составленno plan yet
Cap'n Proto не начатоnot started

Zero-copy сериализацияserialization

Родное ядро C++, официальные биндинги для Rust/Go/Python — структура читается прямо из буфера без шага декодирования.A native C++ core with official Rust/Go/Python bindings — the structure is read straight from the buffer with no decode step.

план не составленno plan yet
FlatBuffers не начатоnot started

Zero-copy от Googlefrom Google

Официальные генераторы для C++/Rust/Go/Python/JS — концептуально похож на Cap'n Proto, шире используется в играх и на мобильных.Official generators for C++/Rust/Go/Python/JS — conceptually close to Cap'n Proto, more widely used in games and mobile.

план не составленno plan yet
Thrift не начатоnot started

Кросс-языковой RPC от ApacheApache's cross-language RPC

Один из первых фреймворков такого рода (изначально Facebook) — схема, кодогенерация на десятки языков, множество транспортов.One of the earliest frameworks of its kind (originally Facebook) — schema, code generation for dozens of languages, many transports.

план не составленno plan yet
Apache Arrow не начатоnot started

Колоночный формат в памятиIn-memory columnar format

Обмен табличными данными между процессами/языками без копирования — C++/Rust/Go/Python (pyarrow — один из самых зрелых биндингов вообще)/JS.Exchanging tabular data between processes/languages without copying — C++/Rust/Go/Python (pyarrow is one of the most mature bindings anywhere)/JS.

план не составленno plan yet
Parquet не начатоnot started

Колоночный формат на дискеOn-disk columnar format

Тесно связан с Arrow — читают/пишут C++, Rust (parquet-rs), Python (pyarrow/fastparquet), Go (parquet-go), JS (parquet-wasm).Closely tied to Arrow — read/written by C++, Rust (parquet-rs), Python (pyarrow/fastparquet), Go (parquet-go), JS (parquet-wasm).

план не составленno plan yet
Avro не начатоnot started

Сериализация со schema evolutionSerialization with schema evolution

Java-центричный исторически, но полноценные биндинги для Python (fastavro), Go, JS — стандарт схем в Kafka-экосистеме.Historically Java-centric, but with full bindings for Python (fastavro), Go, JS — the schema standard in the Kafka ecosystem.

план не составленno plan yet
MessagePack / CBOR не начатоnot started

Компактные бинарные форматыCompact binary formats

JSON-подобная модель данных без схемы, в компактном бинарном виде — реализации есть практически на всех языках.A JSON-like schema-less data model in compact binary form — implementations exist in practically every language.

план не составленno plan yet
BSON не начатоnot started

Формат MongoDBMongoDB's format

Бинарный JSON с дополнительными типами (дата, бинарные данные) — драйверы MongoDB есть на всех языках, формат единый.Binary JSON with extra types (dates, binary data) — MongoDB drivers exist for every language, sharing one format.

план не составленno plan yet
SBE не начатоnot started

Simple Binary Encoding — стандарт FIX Trading CommunitySimple Binary Encoding — the FIX Trading Community standard

Фиксированные офсеты, каст буфера напрямую в структуру без шага декодирования — референсная реализация на Java/C++/C#, используется CME. Схема — XML, компилируется sbe-tool.Fixed offsets, casting the buffer straight into a struct with no decode step — reference implementation in Java/C++/C#, used by CME. Schema is XML, compiled by sbe-tool.

план не составленno plan yet

RPC / Networking

gRPC не начатоnot started

RPC-фреймворк от GoogleGoogle's RPC framework

Поверх Protobuf и HTTP/2 — официальные реализации C++/Rust(tonic)/Go/Python/JS, Go-реализация особенно зрелая (Kubernetes/etcd).Built on Protobuf and HTTP/2 — official implementations in C++/Rust (tonic)/Go/Python/JS, with the Go implementation especially mature (Kubernetes/etcd).

план не составленno plan yet
ZeroMQ (libzmq) не начатоnot started

Message queue без брокераBrokerless message queue

Паттерны pub-sub/req-rep поверх сокетов — C-ядро, биндинги на 40+ языков (pyzmq, zeromq.js, go-zmq).pub-sub/req-rep patterns over sockets — a C core with bindings for 40+ languages (pyzmq, zeromq.js, go-zmq).

план не составленno plan yet
nng не начатоnot started

nanomsg-next-gen

Переосмысление ZeroMQ с более простым API — биндинги слабее развиты, но покрывают Go/Python.A rethink of ZeroMQ with a simpler API — less mature bindings, but covering Go/Python.

план не составленno plan yet
Aeron + Archive не начатоnot started

Транспорт для микросекундных задержекTransport for microsecond-scale latency

Однонаправленный pub/sub поверх UDP unicast/multicast/IPC, Java/C/C++ клиенты. Archive — отдельный процесс поверх того же транспорта: пишет на диск, даёт replay по recordingId. Persistence, retention, consumer offsets — не встроены, реализуются вручную. Прод-кейсы: Man Group, Coinbase.Unidirectional pub/sub over UDP unicast/multicast/IPC, Java/C/C++ clients. Archive is a separate process over the same transport: writes to disk, offers replay by recordingId. Persistence, retention, consumer offsets aren't built in — hand-rolled. Production cases: Man Group, Coinbase.

план не составленno plan yet

Базы данных и хранилищаDatabases and storage

клиенты и embedded-движкиclients and embedded engines
SQLite не начатоnot started

Встраиваемая реляционная БДEmbedded relational database

Самая распространённая в мире БД — весь движок в одном файле, драйверы во всех языках (Python — прямо в stdlib).The world's most widely deployed database — the entire engine in one file, drivers in every language (Python has one right in stdlib).

план не составленno plan yet
RocksDB не начатоnot started

Embedded key-value от MetaMeta's embedded key-value store

LSM-tree для write-heavy нагрузок — родное ядро C++, официальные/community биндинги Go/Rust/Python.An LSM-tree store for write-heavy workloads — native C++ core, official/community bindings for Go/Rust/Python.

план не составленno plan yet
LMDB не начатоnot started

Сверхлёгкое key-value хранилищеUltra-lightweight key-value store

Memory-mapped B+tree — минимальный overhead на чтение, биндинги повсюду, часто как movement layer в latency-чувствительных системах.A memory-mapped B+tree — minimal read overhead, bindings everywhere, often used as a movement layer in latency-sensitive systems.

план не составленno plan yet
Redis (протокол RESP) не начатоnot started

Клиенты одного протоколаClients for one protocol

Сервер на C, но протокол RESP реализован одинаково в каждом языке — go-redis, redis-py, ioredis и другие говорят на одном проводном формате.The server is written in C, but the RESP protocol is implemented identically in every language — go-redis, redis-py, ioredis, and others all speak the same wire format.

план не составленno plan yet
DuckDB не начатоnot started

Embedded OLAP

Быстрый локальный аналитический движок — нативные API для C++/Rust/Go/Python/JS(WASM), не только Python, где чаще всего встречается.A fast local analytics engine — native APIs for C++/Rust/Go/Python/JS (WASM), not just the Python context it's usually seen in.

план не составленno plan yet
ClickHouse (клиенты) не начатоnot started

Клиенты OLAP-хранилищаOLAP-store clients

clickhouse-cpp, clickhouse-go, clickhouse-connect (Python), clickhouse-driver, JS через HTTP-интерфейс — уже используется в cran-стеке.clickhouse-cpp, clickhouse-go, clickhouse-connect (Python), clickhouse-driver, JS via the HTTP interface — already used in the cran stack.

план не составленno plan yet

Messaging и стримингMessaging and streaming

СжатиеCompression

Криптография и безопасностьCryptography and security

Regex, текст, юникодRegex, text, Unicode

RE2 не начатоnot started

Regex без катастрофического backtrackingRegex without catastrophic backtracking

Библиотека от Google — гарантированное линейное время вместо экспоненциального; биндинги C++/Python/Go/Rust (rure).Google's library — guaranteed linear time instead of exponential blowups; bindings for C++/Python/Go/Rust (rure).

план не составленno plan yet
PCRE2 не начатоnot started

Regex в стиле Perlin Perl style

Классический полнофункциональный движок — биндинги повсюду, используется в Apache, PHP и многих других проектах.The classic full-featured engine — bindings everywhere, used in Apache, PHP, and many other projects.

план не составленno plan yet
ICU не начатоnot started

Юникод и интернационализацияUnicode and internationalization

Нормализация, коллации, локали — стандарт везде, где нужна серьёзная работа с текстом на разных языках.Normalization, collation, locales — the standard wherever serious multilingual text processing is needed.

план не составленno plan yet
IANA tz database не начатоnot started

Часовые пояса — данные, не библиотекаTimezones — data, not a library

Единый источник, который читают chrono-tz (Rust), pytz/zoneinfo (Python), time.Location (Go), Intl (JS) — все согласованы между собой.A single source read by chrono-tz (Rust), pytz/zoneinfo (Python), time.Location (Go), Intl (JS) — all mutually consistent.

план не составленno plan yet

Медиа и графикаMedia and graphics

FFmpeg (libav*) не начатоnot started

Аудио/видео кодеки и обработкаAudio/video codecs and processing

Биндинги C++/Rust (ffmpeg-next)/Python (av, ffmpeg-python)/Go/Node — стандарт для любого media pipeline.Bindings for C++/Rust (ffmpeg-next)/Python (av, ffmpeg-python)/Go/Node — the standard for any media pipeline.

план не составленno plan yet
libpng / libjpeg-turbo / zlib не начатоnot started

Базовые кодеки изображенийBasic image codecs

Фундаментальные C-библиотеки, линкуемые практически из любого языка напрямую или через более высокоуровневые обёртки.Fundamental C libraries, linked from practically any language directly or through higher-level wrappers.

план не составленno plan yet
Skia не начатоnot started

2D-рендеринг от Googlerendering from Google

Используется в Chrome/Flutter — родное ядро C++, доступен из JS через CanvasKit (WASM), есть Python-обёртки.Used in Chrome/Flutter — a native C++ core, available from JS via CanvasKit (WASM), with Python wrappers too.

план не составленno plan yet
Vulkan / OpenGL не начатоnot started

Графические APIGraphics APIs

Сами по себе спецификации, не библиотеки одного языка — доступны через биндинги из C++/Rust/Go/Python/JS(WebGL/WebGPU).Specifications in their own right, not single-language libraries — accessible via bindings from C++/Rust/Go/Python/JS (WebGL/WebGPU).

план не составленno plan yet

Математика и вычисленияMath and computation

ML и инференсand inference

НаблюдаемостьObservability

Тулинг и WASMTooling and WASM

статус и оговоркаstatus and caveat

Это каркас: 12 категорий и 42 библиотеки зафиксированы, страницы ещё не написаны. Критерий попадания сюда — библиотека одинаково узнаваема и используется минимум в трёх из пяти языков этой базы (C++/Rust/Go/Python/JS), а не биндинг-другой ради полноты. Aeron и SBE сознательно не включены — формально есть Java/C++/.NET клиенты, но родное ядро и сообщество остаются Java-центричными, это не тот же класс кроссплатформенности, что у Protobuf/Arrow/gRPC.This is a skeleton: 12 categories and 42 libraries are locked in, pages not yet written. The bar for inclusion here is that a library is equally recognizable and used in at least three of this base's five languages (C++/Rust/Go/Python/JS), not just having a binding or two for completeness's sake. Aeron and SBE are deliberately left out — they technically have Java/C++/.NET clients, but their native core and community remain Java-centric, which isn't the same class of cross-platform reach as Protobuf/Arrow/gRPC.