Главные события в разработке и компьютерных науках в 2025 году
Python без GIL, новый алгоритм для нахождения кратчайшего пути в графе и ошибки, которые могут уронить (и роняли!) весь интернет — об этих и других важных событиях 2025 года рассказали преподаватели магистратуры «Программирование и искусственный интеллект» Игорь Мосягин, Михаил Лукин и Виталий Аксенов.
Пора уже попрощаться с GIL в Python

Справка: GIL (Global Interpreter Lock) позволяет запускать только один поток исполнения в процессе, тем самым запрещает многопоточность. Если параллельное исполнение кода необходимо, придется создавать несколько процессов, а запуск в разных процессах усложняет и замедляет код, так как, например, отсутствует общая память.

Технически первый шаг к прощанию c GIL случился еще в версии Python 3.13 в октябре 2024 года, но по факту только с 3.14 можно уверенно сказать, что это правда так. GIL все еще отключается флагом при запуске, но почти без ограничений, и это уже полноценный настоящий официально поддерживаемый режим. Прирост скорости на CPU-bound задачах в режиме без GIL может быть в 2−3 раза, так что если у вас такие, бегите разбираться, как выключить этот механизм и какие библиотеки пока еще не могут полностью вкусить эту свободу.

Ссылки:
1. Faster Python: Unlocking the Python Global Interpreter Lock
2. The Python Language Summit 2025: State of Free-Threaded Python

Слияние dbt Labs с fivetran

Несколько лет назад dbt позволил привнести инженерный подход аналитикам и послужил толчком к выделению новой специализации — так называемой analytics engineering. Эти специалисты могут и дашборд накидать, и из баз слои надергать, чтобы датамарт получился нормальный, да еще и в коде, и с версионированием, и CI/CD. И вот оказалось, что Fivetran решил забрать себе этот open-source проект, потому что «мы же давно дружим, до 90% клиентов Fivertran уже используют dbt, давайте к нам под крыло». Комьюнити негодует, и, возможно, надо начинать искать альтернативы dbt типа того же sqlmesh, который пока остается open-source. 
Kafka, наконец, распрощалась с Zookeeper

Справка: Apache Kafka — это распределенная платформа для потоковой обработки данных в реальном времени. ZooKeeper — сервис распределенной координации, который служил более 10 лет «мозгом и арбитром» любого кластера Kafka. Без ZooKeeper просто нельзя было запуститься.

Несмотря на важность ZooKeper, разработчиков раздражало, что нужно поддерживать две распределенные системы (и ZooKeeper, и саму Kafka) сразу. Поэтому придумали и внедрили новый режим управления метаданными — KRaft. KRaft — это встроенный кворум контроллеров на базе, you guessed it, алгоритма Raft. Почитайте про это побольше, это ужасно увлекательно.

Ссылки:
1. Apache Kafka: ZooKeeper vs KRaft — полное сравнение подходов
Можно ли найти кратчайший путь в графе быстрее алгоритма Дейкстры?

Справка: Алгоритм Дейкстры является одним из основных алгоритмов для нахождения кратчайших путей во взвешенном графе из заданной вершины. Его асимптотика: O (|E| + |V| log |V|).

Кажется, что если мы хотим найти кратчайший путь, значит, нам нужно что-то сортировать, и это что-то будет размером хотя бы с число вершин в графе, приводя к оценке нижней границы O (|V| log |V|). В этом году исследователи доказали, что если граф достаточно разреженный, то существует детерминированный алгоритм, который находит кратчайший путь за O (|E| log^{2/3} |V|).

Статья получила Best Paper Award на одной из самых крутых теоретических конференций по алгоритмам STOC 2025.

Ссылки:
1. Breaking the Sorting Barrier for Directed Single-Source Shortest Paths
2. STOC Best Paper Award: How to Find the Shortest Path—Faster
Реально ли возможны оптические чипы?

Большая часть информации между компьютерами передается по оптоволокну со скоростью света, что очень быстро. А вот обработка этих сигналов свитчами и компьютерами происходит гораздо медленнее: надо перевести свет в электрические сигналы, которые могут быть обработаны чипом, а затем опять преобразовать их в свет. Ученые из Китая смогли предложить программируемый оптический чип для обработки сигналов из сети, который, например, умеет считать простые логические схемы.

Ссылки: 
1. Breaking the Bottleneck: All-Optical Chip Could Unlock Light-Speed Communication
Насколько легко уронить интернет?

Может быть вы заметили, что в последние полгода резко участились одновременные падения разных интернет-ресурсов. Как выяснилось, в мире есть два сервиса, ошибки в которых могут уронить почти весь интернет: Amazon Web Services, один из самых больших игроков, предоставляющих облачные ресурсы, и Cloudflare, основной щит от сетевых атак, который в настоящее время используется на слишком многих веб-сайтах (если вы когда-то нажимали оранжевую кнопочку с капчей «Подтвердите, что Вы не робот» — это оно).

Очень весело читать, в чем же были ошибки. Так вот, в случае AWS возникла классическая проблема: произошел непредвиденный конфликт в распределенной системе DynamoDB. А с Cloudflare все еще смешнее: вылезла проблема в обращении к памяти в коде на языке, разработанном специально для нейтрализации таких проблем, — Rust (справедливости ради, дело было не в самом Rust, а в кривом конфигурационном файле). А вообще Cloudflare начал что-то слишком часто падать… 

Ссылки:
1. Сбой AWS 19­-20 октября: во всём виноват DNS. Постмортем
2. В Cloudflare раскрыли причину многочасового глобального сбоя в работе — файл конфигурации
3. В Cloudflare раскрыли причину получасового глобального сбоя в работе 5 декабря — проблемы в коде на языке Lua