
Компиляторы *
Из исходного кода в машинный
Кембридж: особенность компиляторов позволяет добавлять в исходный код вредоносы и обходить ручной аудит

Исследователи Кембриджского университета описали способ вставки в исходный код программ уязвимости или вредоносного кода, который позволяет успешно проходить ручной аудит. Фактически, они рассказали о методе атак, который использует особенность компиляторов.
Facebook представила Superpack, технологию сжатия данных для мобильных приложений

IT-гигант Facebook разработал технологию асимметричного сжатия данных Superpack, сообщает пресс-релиз компании. Технология сочетает анализ компилятора и сжатие данных для оптимизации хранения информации.
В компании это решение объясняют тем, что приложения продолжают увеличиваться в размерах, и это плохо сказывается на производительности мобильных устройств, поэтому такие компиляторы, как Deflate и LZMA, несмотря на то, что на сегодняшний день справляются с оптимизацией данных, в скором времени потеряют актуальность.
Superpack основана на теории сложности Андрея Колмогорова, согласно которой информационное содержание фрагмента данных определяется размером самой короткой программы, которая может генерировать эти данные. Facebook не претендует на звание первопроходцев, базисы теории время от времени используют многие другие компании для организации данных, однако Superpack стремится усовершенствовать нынешние технологии, используя как методы компилятора, так и современные подходы оптимизации данных.
Chrome 91 рендерит страницы на 23% быстрее. Спасибо третьему компилятору
// The Sparkplug compiler (abridged).
for (; !iterator.done(); iterator.Advance()) {
VisitSingleBytecode();
}
Новый неоптимизирующий JavaScript-компилятор Sparkplug напрямую компилирует JavaScript в машинный код, без всяких промежуточных представлений, за однострочный проход. Это одна из оптимизаций в движке V8 Участники опенсорсного проекта Chromium из компании Google только что выкатили новую версию браузера Chrome 91 на стабильном канале. Как обычно, в новой версии сделано много изменений. Например, десктопный режим на больших мобильных экранах включается по умолчанию, улучшен дизайн веб-форм (поля, чекбоксы, кнопки), улучшены интерфейсы File System Access API, сделано автоматическое открытие PWA по ссылкам на веб-сайтах через манифест
capture_links
, реализована экспериментальная поддержка продвинутого медиапротокола WebTransport (вместо более медленного WebSocket) и многое другое. Кроме этих мелких, есть и очень серьёзное изменение, которое коснётся каждого.Конечно, это изменение ожидаемо, если следить за документацией на бета- и альфа-каналах. Но остальные люди сегодня могут с удивлением обнаружить, что после обновления Chrome стал рендерить страницы гораздо быстрее.
Компиляторная бомба: 29 байт кода → 16 ГБ .exe
main[-1u]={1};
Это 14 байт. По условиям конкурса к результату добавляется 15 обязательных байт (дополнительный параметр для компилятора).
Выпуск Rust 1.44.0: cargo tree, async/await в no_std, Unicode 13 и vec![] в const-контексте
Данный анонс является компиляцией черновика анонса и подробных примечаний к выпуску. Официальный анонс короче, чем обычно:
This is a shorter blog post than usual: in acknowledgement that taking a stand against the police brutality currently happening in the US and the world at large is more important than sharing tech knowledge, we decided to significantly scale back the amount of promotion we're doing for this release.
The Rust Core Team
Команда Rust выпустила новую версию, 1.44.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.
Если вы установили предыдущую версию Rust средствами rustup
, то для обновления до версии 1.44.0 вам достаточно выполнить следующую команду:
rustup update stable
Если у вас ещё не установлен rustup
, вы можете установить его с соответствующей страницы нашего веб-сайта, а также посмотреть подробные примечания к выпуску на GitHub.
Huawei открыла доступ сторонним разработчикам к сайту компилятора Ark Compiler для HarmonyOS

Huawei запустила для всех разработчиков официальный сайт открытой версии компилятора Ark — OpenArkCompiler, с помощью которого компания планирует популяризировать операционную систему собственной разработки HarmonyOS.
Вышла бета-версия Odin — ещё одного языка программирования

Независимый разработчик, Бил Джинжер, представил Odin 0.10.0 — бета-версию языка программирования, которым он занимается с 2016 года. Новый язык сочетает элементы Pascal, C, Go, Oberon и напоминает гибрид Go c Rust. Исходный код, FAQ и документацию Odin можно найти на GitHub и сайте проекта.
Вклад авторов
antoshkka 1399.0olegchir 910.0Andrey2008 821.2RustLangRu 602.0alizar 532.032bit_me 525.4tangro 449.4quasilyte 441.0zzeng 408.0haqreu 399.0