Hacker News Digest

Тег: #cross-compilation

Постов: 4

Why is Zig so cool? (nilostolte.github.io) 🔥 Горячее 💬 Длинная дискуссия

Zig - это не просто замена C или C++, а совершенно новый подход к программированию, который удивил автора с 45-летним опытом. Самые впечатляющие особенности языка - встроенная возможность компилировать C-код и кросс-компиляция "из коробки", что уже оказывает значительное влияние на индустрию.

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

by vitalnodo • 07 ноября 2025 г. в 23:04 • 528 points

ОригиналHN

#zig#c#c++#rust#ada#comptime#cross-compilation

Комментарии (467)

  • Статья преувеличивает инновативность Zig, не подкрепляя заявления о "революционности" реальными уникальными фичами.
  • Пользователи отмечают практические преимущества: простота установки (через PyPI), кросс-компиляция, явный синтаксис и компиляция C-кода.
  • Критика включает отсутствие безопасности памяти, спорные решения (политика идентификаторов, отсутствие данных в ошибках) и сравнение с Rust/Ada как более зрелых альтернатив.
  • Отдельные хвалят метапрограммирование (comptime), простоту навигации по коду и удобство для низкоуровневого программирования.
  • Обсуждение подчеркивает субъективность восприятия: для одних Zig "меняет подход к программированию", для других — лишь "улучшенный C" без уникального позиционирования.

CompileBench: Can AI Compile 22-year-old Code? (quesma.com)

Современные ИИ-модели демонстрируют впечатляющие способности в генерации кода, но сталкиваются с серьёзными трудностями при работе с реальными задачами компиляции — устаревшими инструментами, зависимостями и кроссплатформенной сборкой. CompileBench протестировал 19 моделей на 15 практических заданиях, включая сборку проектов вроде curl и jq, компиляцию под Windows/ARM64 и даже оживление 22-летнего кода 2003 года. Некоторые агенты выполняли до 135 команд за 15 минут для получения рабочего бинарного файла.

Anthropic модели Claude Sonnet и Opus заняли лидирующие позиции по успешности сборки, подтверждая свою репутацию среди разработчиков. OpenAI модели, особенно GPT-5-mini, показали лучшую ценовую эффективность, балансируя между скоростью и качеством. Gemini от Google неожиданно провалился: модели часто игнорировали спецификации задач, например, создавали динамические вместо статических сборок, несмотря на чёткие требования.

by jakozaur • 22 сентября 2025 г. в 12:59 • 126 points

ОригиналHN

#llm#compilation#benchmarking#legacy-code#cross-compilation#arm64#claud#gpt-5#gemini

Комментарии (55)

  • Сложность сборки и кросс-компиляции legacy-проектов (Chocolate Doom, curl) на современных системах, включая ARM64.
  • Способность ИИ (особенно Claude Opus) автоматически исправлять ошибки сборки, хотя процесс может занимать много времени и команд.
  • Предложения расширить бенчмарки более сложными проектами (FFmpeg, Chromium, Qt) и проверкой корректности через тесты и санитайзеры.
  • Скептицизм относительно способности ИИ гарантировать корректность итогового бинарного кода после автоматических правок.
  • Практическая ценность автоматизации рутинных задач по настройке toolchain и портированию старого кода.

Zig got a new ELF linker and it's fast (github.com)

jacobly0 предлагает полностью переписать линкер Zig с нуля, создав Elf2 вместо текущей реализации. Основная цель — повысить производительность, уменьшить потребление памяти и улучшить поддержку различных форматов объектных файлов. Новая архитектура позволит эффективнее обрабатывать символы, секции и релокации, избегая проблем существующего кода.

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

by Retro_Dev • 21 сентября 2025 г. в 22:40 • 93 points

ОригиналHN

#zig#elf#compilers#linkers#c#c++#cross-compilation#object-files#build-systems#github

Комментарии (24)

  • Участники высоко оценивают Zig как компилятор для C/C++ и инструмент кросс-компиляции за его простоту и самодостаточность.
  • Отмечается мощная вертикально интегрированная система сборки Zig, включающая линкер и бэкенды генерации кода, что открывает возможности для оптимизаций.
  • Обсуждаются ограничения использования линкера Zig (elf2) и самого компилятора вне экосистемы Zig, а также отсутствие неструктурированного goto.
  • Некоторые пользователи выражают смешанные чувства: язык делает многое правильно, но отдельные изменения и особенности вызывают сомнения.
  • Упоминается книга "Linkers and Loaders" и общее оживление в области разработки линкеров (ренессанс).

Benchmarks for Golang SQLite Drivers (github.com)

go-sqlite-bench — тесты скорости драйверов SQLite для Go.
Сравниваются:

  • modernc.org/sqlite (cgo-free, pure Go)
  • github.com/mattn/go-sqlite3 (cgo, libsqlite3)
  • github.com/ncruces/go-sqlite3 (cgo-free, modernc fork)

Методика: 1 млн вставок, 1 млн чтений, 1 млн обновлений.
Результаты (Intel i7-12700H, SSD, Go 1.22):

драйвер вставка чтение обновление
modernc 2.3 s 0.8 s 2.5 s
mattn 1.1 s 0.4 s 1.2 s
ncruces 1.9 s 0.7 s 2.1 s

Вывод: mattn/go-sqlite3 быстрее, но требует CGO; modernc и ncruces не требуют CGO и проще в кросс-компиляции.

by cvilsmeier • 18 августа 2025 г. в 15:13 • 84 points

ОригиналHN

#golang#sqlite#modernc.org-sqlite#mattn-go-sqlite3#ncruces-go-sqlite3#cgo#benchmarking#cross-compilation#duckdb#sqinn

Комментарии (24)

  • Участники обсуждают, как в Go шифровать SQLite: упомянули библиотеку sqinn, которая общается с SQLite через stdin/out и показывает высокую скорость.
  • Некоторые разработчики хвалят SQLite за простоту и отсутствие накладных расходов, особенно в Python/Django.
  • Возникли проблемы с CGO при кросс-компиляции под FreeBSD и Linux; предлагают использовать Zig-инструментарий или Docker-сборку.
  • Есть сомнения в корректности бенчмарков, так как автор тестов совпадает с автором sqinn.
  • Участники отмечают ограничения SQLite при многопроцессном доступе и обсуждают альтернативы вроде DuckDB.