Rust

Плагины Picodata на Rust: pike, миграции и blue-green

Плагины Picodata на Rust: pike, миграции и blue-green

Когда SQL не хватает, Picodata расширяют плагином на Rust: сервис внутри кластера со своим жизненным циклом, миграциями схемы и обновлением версий без остановки. Разбор на рабочем плагине — от скелета через pike до blue-green, включая места, где всё это ведёт себя не так, как ожидаешь

Куча, стек и сборщик мусора: как языки управляют памятью

Куча, стек и сборщик мусора: как языки управляют памятью

Как C++, Rust, Go и Java решают один и тот же вопрос — кто и когда освобождает память: вручную, детерминированно по владению (корректность проверяет компилятор) или в рантайме через сборщик мусора. Стек против кучи, стоимость аллокации, паузы сборщика, утечки и фрагментация — и на что смотреть под свою нагрузку

Горутины, корутины, потоки: модели конкурентности в разных языках

Горутины, корутины, потоки: модели конкурентности в разных языках

Как C++, Go, Rust, Java, Python и Node решают один вопрос — как исполнять независимую работу параллельно с чужими стеками и планировщиками: потоки ОС, green/virtual threads, stackless-корутины и event loop. Вытеснение против кооперации, stackful против stackless, 1:1 против M:N — и чем каждая модель платит

Дженерики, шаблоны, erasure: параметрический полиморфизм в разных языках

Дженерики, шаблоны, erasure: параметрический полиморфизм в разных языках

Один вопрос — как написать код, работающий для многих типов, без дублирования — языки решают принципиально по-разному: мономорфизация (C++, Rust), стирание типов (Java), гибрид GC-shape stenciling (Go), реификация (C#). За синтаксисом стоит выбор компилятора, и он даёт измеримые последствия по скорости, размеру бинаря и выразительности