The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Выпуск языка программирования Zig 0.11.0

04.08.2023 21:40

После 8 месяцев разработки опубликован выпуск языка программирования Zig 0.11.0, развиваемого при поддержке организации Zig Software Foundation. Язык Zig предлагается в качестве современной замены C, который старается сохранить его достоинства (простота и гибкость использования, предсказуемость кодогенерации, экосистема и т.д.), в то же время добавляя новшества для более эргономичной и безопасной разработки. В частности, Zig содержит:

  • Современную систему типов, разработанную с учётом наработок других языков для большей безопасности, производительности и явности, чем в Си (опциональные типы вместо нулевых указателей, выравнивание по адресу как часть типа, целочисленные типы с размерностью от 0 до 65535 бит, кортежи, тип всех типов, тип-сумма и т.д.).
  • Ограниченную возможность выполнения кода во время компиляции (обе возможности вместе составляют основу метапрограммирования без макросов и препроцессора).

Основные новшества:

  • Существенно улучшен бэкенд для компиляции Zig в C, что позволило удалить старый компилятор на C++, предназначенный для раскрутки. Теперь раскрутка производится следующим образом:
    • 1) системным компилятором компилируется файл wasm2c.c, который позволяет транслировать .wasm файлы в представление на C,
    • 2) wasm2c транслирует файл zig1.wasm (содержащий урезанную копию самого Zig компилятора с единственным бэкендом для компиляции в C) в zig1.c, который затем вновь компилируется системным компилятором,
    • 3) zig1 использует актуальный исходный код с репозитория, чтобы скомпилировать его в zig2.c, который компилируется системой в zig2 (уже не урезанную копию Zig компилятора, stage2)
    • 4) zig2 (используя уже бэкенд для LLVM) компилирует финальный исполняемый файл zig (stage3). Данный способ раскрутки требует только zig1.wasm файл размером 2.6 МиБ и wasm2c.c размером 120 КиБ (не включая заголовочные файлы и compiler-rt), вместо старого компилятора на C++ исходным кодом в 126 МиБ (на данном этапе чистое использованное трансляции в C вместо промежуточного WASM требует 80 МиБ и является специфичным для архитектуры). Удаление старого компилятора также избавило разработчиков от необходимости сопровождать сразу две реализации и снизило требование к ОЗУ для сборки компилятора с 10-11 ГиБ до 3-4 ГиБ.
  • Представлен менеджер пакетов, предназначенный для экосистем Zig, C и C++, и неразрывно связанный с системой сборки build.zig. Информация о пакете записывается в файл build.zig.zon, который использует формат Zig Object Notation (подмножество синтаксиса Zig, поддерживающее анонимные структуры и массивы для создания обьектов в стиле JSON). По соображениям безопасности, было решено отказаться от централизированного репозитория пакетов (по типу PyPI и crates.io), вместо этого прописываются прямые ссылки на необходимый архив. На данный момент менеджер пакетов находится в зачаточном состоянии и может содержать критичные для проектов ошибки, но уже подходит для простых проектов. Пример использования для ffmpeg представлен здесь.
  • Значительно улучшена поддержка Plan9 в стандартной библиотеке и компоновщике, написанном на самом языке.
  • Синтаксис цикла for обновлён для поддержки нескольких итерируемых обьектов и симметрии (каждому обьекту теперь соотвествует его захваченное значение). Примеры нового синтаксиса можно просмотреть здесь. Отмечается, что новая форма более эргономична для сторонников Data-Oriented Design и для итерации числа по интервалу.
  • Улучшена совместимость с C: добавлена поддержка экспорта вариативных C функций (поддерживается не на всех платформах), добавлен тип c_char (для экспорта в тип char вместо uint8_t для используемого в Zig вместо него u8).
  • Улучшена корректность для оголённых функций (naked functions), для которых теперь запрещены явное указание возврата и вызовы функций во время выполнения (в целом рекомендуется использовать только встроенный ассемблер и логику во время компиляции).
  • Добавлена встроенная функция @inComptime(), которая возвращает true или false в зависимости от времени вызова функции, в которой находится @inComptime().
  • LLVM обновлён с 15 до 16 версии.
  • Множество других изменений в стандартной библиотеке, самом языке, системе сборки (в основном из-за нового менеджера пакетов) и т.д.


  1. Главная ссылка к новости (https://ziglang.org/download/0...)
  2. OpenNews: В языке программирования Zig обеспечена поддержка самораскрутки (bootstraping)
Автор новости: BratishkaErik
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/59554-zig
Ключевые слова: zig
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (143) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, InuYasha (??), 22:20, 04/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    "замена <s>неоСиленного</s> ненавистного Си" здорового программиста.
     
     
  • 2.80, Аноним (80), 13:58, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Hare - лучшая замена C. К тому же у Hare автономный компилятор, не пртвязанный к LLVM.
     
     
  • 3.115, BratishkaErik (ok), 22:17, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вместо этого привязанный к QBE) Но его все равно намного легче собирать, согласен
     
  • 3.117, Аноним (-), 22:18, 05/08/2023 Скрыто ботом-модератором
  • +/
     

  • 1.2, Аноним (2), 22:21, 04/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вроде бы здорово, но язык не production ready.
     
     
  • 2.8, Витюшка (?), 22:35, 04/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Он уже используется активно в production. В том числе в стартапах.

    https://bun.sh
    https://tigerbeetle.com

     
     
  • 3.57, Аноним (57), 09:58, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    когда это стартапы стали показателем успеха? вот если бы его гугл, айбиэм или майкрософт использовали - вот тогда да
     
     
  • 4.70, Витюшка (?), 12:40, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    И когда же языки программирования в бизнесе стали показателями успеха?))

    А вот показателем использования в production очень даже.

    Или стартапы - это уже недостаточно "production"?)

     
     
  • 5.81, Прохожий (??), 14:04, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Бизнес - это и есть production. Крупный бизнес - тем более.
    Стартапы на начальных этапах - это, скорее, лаборатория для тестирования идей,а не полноценный production.
     
     
  • 6.98, Andrey (??), 20:17, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Большая часть стартапов - заведомо провал, затеваемый ради проедания денег из венчурных фондов.
     

  • 1.3, Аноним (3), 22:28, 04/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Я помню день, когда он только появился. Уже лет 10 прошло и, видимо, пора признать, что популярней D ему не стать. Ну, правда, ncdu тот Васян на этот язык переписал зачем-то, так что уже успешнее ржавчины в определённом смысле.

    >требование к ОЗУ для сборки компилятора с 10-11 ГиБ до 3-4 ГиБ

    кек

     
     
  • 2.6, Витюшка (?), 22:33, 04/08/2023 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Почему? 10 лет это не срок, от "появления".

    Автор ушёл с работы и начал заниматься языком года 2-3 назад full-time. Появилась команда. Дизайн языка очень сильно изменился.

    До этого это можно было считать экспериментальным домашним (хоть и интересным) проектом.

    Поэтому яркое будущее этого языка (несомненно) ещё впереди.

     
  • 2.9, Аноним (9), 22:36, 04/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > кек

    Скорее всего это предназначено специально для data-man'а, который на ЛОРе каждый раз про это ныл.

     
  • 2.75, Аноним (75), 13:02, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Кек D уже давно как RIP.
     
     
  • 3.97, Аноним (97), 20:01, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Когда Ди рипнется все об этом узнают в новостях
    Потому что система для работы и объявления о поездах во многих странах Европы разрабатывается компанией на Ди =)
     
     
  • 4.158, Серб (ok), 19:01, 07/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Что-то вспомнилось про стюардессу на острове....

     
     
  • 5.172, Vivaswan (ok), 10:14, 11/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Что-то вспомнилось ситуация с  Arian V
     
     
  • 6.174, Серб (ok), 13:37, 11/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Что-то вспомнилось ситуация с  Arian V

    И?

    Там то же откопали стюардессу?

     
  • 2.110, Аноним (110), 22:00, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > 10 лет.

    Сразу видно, что ты врешь. язык появился в 2016 году лишь, где-то они сами пишут что с 2015, но врут.

     
     
  • 3.119, BratishkaErik (ok), 22:33, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > где-то они сами пишут что с 2015, но врут.

    Они отсчитывают от первого коммита:
    https://github.com/ziglang/zig/commit/8e08cf4bec80b87a7a22a18086a3db5c2c0f1772

    > From: Andrew Kelley <superjoe30@gmail.com>

    Date: Wed, 5 Aug 2015 14:46:04 -0700
    Subject: [PATCH] init

     

  • 1.4, Витюшка (?), 22:28, 04/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Задавайте вопросы, если интересно. Язык более чем Production Ready для многих сфер.
     
     
  • 2.23, Анонин (?), 23:50, 04/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Назовите тогда для каких, хотя бы парочку?
     
     
  • 3.28, Витюшка (?), 00:45, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Везде где есть подходящие библиотеки (или желание написать свои).

    Embedded, базы данных, языки программирования (на нём уже написано несколько виртуальных машин). И так далее.

    По сути ограничения - отсутствие библиотек (и нежелание их писать). Суперкритичный performance (аллокатор не самый топ пока).

    И отсутствие платформ каких-то.
    А так можно прямо сейчас брать и будет работать.

    Критичных багов (show stopper) не встречал.

     
     
  • 4.52, Аноним (52), 09:00, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Какую базу данных на нём написали? Какую то кей валью? Как она называется?
     
     
  • 5.71, Витюшка (?), 12:43, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я сейчас пишу на ней базу данных. Это очень долгий и длительный проект.

    Будет написана - вы о ней услышите.
    В БД Turso написали какой-то элемент (команду) на Zig и остались довольны опытом. Хотя основная кодовая база у них на Rust.

     
     
  • 6.118, BratishkaErik (ok), 22:22, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > В БД Turso написали какой-то элемент (команду) на Zig и остались довольны опытом. Хотя основная кодовая база у них на Rust.

    https://blog.turso.tech/zig-helped-us-move-data-to-the-edge-here-are-our-impre

    Ясное дело, что „довольны опытом”, если они просто транслировали Сишный код с zig translate-c и немного допилили выходной файл :) Мало усилий/затрат и результат приемлемый, правда конечно код слишком подробный получился (на то он и авто-транслятор). Попытался немного подчистить: https://github.com/turso-extended/pg_turso/pull/13 (в сайд-вью лучше видно)

     
  • 4.64, Анонин (?), 11:03, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо.
    Некоторые вещи звучат немного странно. Вроде "базы данных" и при этом следующей строкой ограничений - performance. Для баз данных или виртуальных машин перформанс как раз суперкритичен.
    Но аллокатор это такое, поправят когда-нибудь.

    А вот отсутствие библиотек... это да.
    Как там в FFI? Насколько геморно использовать либы на других языках?

     
     
  • 5.72, Витюшка (?), 12:49, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В этом и фишка Zig. Нет крутого аллокатора в std библиотеке.

    А так берёте любой супер-крутой аллокатор на С и С++ и используете его.

    Я сам ещё ни разу FFI не использовал. Но бесшовная работа с С и С++ - один из главных приоритетов языка.

    У него наверное самая лучшая интеграция с С и С++ из всех языков.

    Стоит хотя бы сказать что вы можете собирать С и С++ проекты билд системой языка, которая поддерживает работу с хедерами из коробки, включая динамическую генерацию и т.п.

    Те всё очень и очень хорошо прямо сейчас.

     
     
  • 6.96, Аноним (97), 19:57, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    собирать C++ и иметь бесшовную интеграцию - две разные вещи
    cImport для Си только вроде работает
     
     
  • 7.120, BratishkaErik (ok), 22:38, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну кстати (не бесшовная) интеграция с C++ есть в виде стороннего инструмента, который (как и Zig, пока Aro не завезут в апстрим https://github.com/Vexu/arocc) жрёт то, что там распарсил и проанализировал себе Clang:
    https://github.com/lassade/c2z — сырой и багованный, но потенциал есть. Хотя у Nim и Rust с этим намного лучше история (хотя бы потому что возможности хорошо соотносятся друг к другу, в отличии от минималистичного Zig)
     
  • 6.167, Аноним (-), 12:49, 09/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Стоит хотя бы сказать что вы можете собирать С и С++ проекты
    > билд системой языка, которая поддерживает работу с хедерами из коробки, включая
    > динамическую генерацию и т.п.
    > Те всё очень и очень хорошо прямо сейчас.

    К ложке меда - цистерна дегтя. Оно, как пишут, LLVM требует. Огроменный жырнолиб от полупроприерастов типа гугла и эпла. Раньше вроде без него могло? Зависеть от этой ср@ни, особенно в ситемщине - ну такое себе.

     
     
  • 7.171, Аноним (171), 21:58, 09/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    То ли дело
    https://gcc.gnu.org/steering.html
    GCC steering committee members
    David Edelsohn (IBM)
    Ian Lance Taylor (Google)
     
  • 4.156, Аноним (156), 15:19, 07/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем мне это писать на зиге, если для этого уже все написано на других языках?
     
     
  • 5.175, Аноним (175), 01:08, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем мне это писать на <языке программирования X>, если для этого уже все написано на других языках?
     
  • 2.51, Аноним (52), 08:59, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Когда версия 1.0? Продакшен реди версия не может быть 0.11.0
     
     
  • 3.58, Аноним (58), 10:20, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    в роадмапе из релиз записок есть:

    https://ziglang.org/download/0.11.0/release-notes.html#Roadmap

    Here are the steps for Zig to reach 1.0:

        - Stabilize the language. No more Language Changes after this.
        * Complete the language specification first draft.
        * Stabilize the Build System (this includes Package Management).
        * Stabilize the Standard Library. That means to add any missing functionality, audit the existing functionality, curate it, re-organize everything, and fix all the bugs.
        * Go one full release cycle without any breaking changes.
        * Finally we can tag 1.0.

    Внезапно вменяемо.

     
     
  • 4.78, Аноним (52), 13:47, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Но там же нет даты =(
     
     
  • 5.85, Витюшка (?), 15:58, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это займет где-то пару лет. В 2025 ориентировочно.
     
  • 2.54, ДаНуНафиг (?), 09:28, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Чем это лучше всего того же внутри C++? Все это уже есть в С++ (ну разве что без экзотики вроде типа на 65 тыщ бит). Зачем, если, судя по новости, производительность не ставится целью?

    "Современную систему типов, разработанную с учётом наработок других языков для большей безопасности, производительности и явности, чем в Си (опциональные типы вместо нулевых указателей, выравнивание по адресу как часть типа, целочисленные типы с размерностью от 0 до 65535 бит, кортежи, тип всех типов, тип-сумма и т.д.).
    Ограниченную возможность выполнения кода во время компиляции (обе возможности вместе составляют основу метапрограммирования без макросов и препроцессора)."

     
     
  • 3.59, Аноним (58), 10:22, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    плюсовский consteval очень сильно отстаёт от зиговского comptime по возможностям (а тот от макросов nim или даже comptime из jai, во втором можно любые программы запускать)
     
  • 2.99, warlock66613 (ok), 20:38, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Можно увидеть перечень UB? Что насчёт strict aliasing, как эта проблема решена, если решена?
     
     
  • 3.105, BratishkaErik (ok), 21:39, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Их пора не перечислили, компилятор все равно в следующем коммите может поменять ... большой текст свёрнут, показать
     
     
  • 4.121, warlock66613 (ok), 22:58, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Их пора не перечислили, компилятор все равно в следующем коммите может поменять
    > поведение

    Значит не production-ready и даже не вообще не ready. А в эффективность отслеживания в дебаге лично я вообще не верю. Чтобы отслеживать в дебаге, программу надо скомпилировать, а как её скомпилировать если в ней UB? И зная как тяжело и трудно разрабы Rust борятся в этом плане с LLVM я не понимаю как можно вот так вот просто взять и убрать UB.

     
  • 4.123, Аноним (-), 05:54, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > В теории UB будет доведено до минимцма по типу „integer overflow for
    > both signed and unsigned types is undefined”

    Ну то-есть скоростных алгоритмов на ЭТОМ мы не увидим. Потому что например то же крипто на си штатно уповает на wraparound uint'ов заданного размера. Что экономит операции проца там где хардвар это обеспечивает сам "размером регистра" допустим.

     
     
  • 5.128, BratishkaErik (ok), 11:16, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну почему? Если нужен wraparound, просто использовать +%, -% и т.д., +%= и т.д. В std.crypto (основной разраб Frank Denis) с производительностью довольно неплохо https://github.com/ziglang/zig/blob/0.11.0/lib/std/crypto/ff.zig
     
     
  • 6.168, Аноним (-), 12:53, 09/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну почему? Если нужен wraparound, просто использовать +%, -% и т.д., +%= и т.д.

    А, т.е. это настраиваемо? Но вообще по дефолту UB его назвать - херь полная. Это хуже чем даже сишка по UB. UB - нежелательный элемент, потому что о нем помнить надо. И можно прострелить пятку. В сях например достаточно помнить о wrap по мудулю 2^N, это делает оценку математики и ее валидности достаточно простой.

    > В std.crypto (основной разраб Frank Denis) с производительностью довольно
    > неплохо https://github.com/ziglang/zig/blob/0.11.0/lib/std/crypto/ff.zig

    Они додумались еще и крипто в стдлиб засунуть? При том кодит поди еще и не криптограф, чтобы совсем збс? Или я что-то не понял? Почему это в стдлибе вообще должно быть?

     
  • 3.111, Аноним (110), 22:02, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если бы ты хотел это узнать, то увидел бы на главной в документации
     

  • 1.5, BratishkaErik (ok), 22:33, 04/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Релиз жирнющий, поэтому расписано только самое заманчивое, а то новость слишком длинной получалась :)
     
     
  • 2.12, Витюшка (?), 22:41, 04/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Автор новости в том числе и контрибьютер в репозиторий Zig. Так что задавайте вопросы))))
     
     
  • 3.14, BratishkaErik (ok), 22:47, 04/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да какой я там контрибьютор) Так, Васян
     
     
  • 4.29, Витюшка (?), 00:46, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да кто там смотреть будет коммиты, Васян ты или нет))) Зато какая строчка в резюме.

    Осталось подождать когда язык выстрелит)

     
  • 2.95, Аноним (95), 19:42, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кстати, раз контрибьютер, не знаешь почему zig требует включения всех архитектур для LLVM? Это явно политическое решение («оно вам не надо, не устраивает — используйте бинарные билды»), но где конкретно это аргументированно разжёвывается (почему нельзя было сделать нормальную сборку под то и только то, что включено) сходу нагуглить не удалось. Буду признателен за ссылки на конкретные issue либо посты в бложике.

    И таки да, в последнем релизе все хвосты вынесены в codegen/llvm а сам язык максимально отвязан от кишков шланга. Но по-прежнему в сборочном скрипте проверяет наличие всех архитектур и отваливается с ошибкой.

     
     
  • 3.101, BratishkaErik (ok), 21:04, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Конкретных записок в блогах нет, но сообщения в IRC и Discord были в духе „кросс-компиляция наша фишка, не хотим, шобы её система ломала”. Ну и из связанного:
    > In Zig, we push back on the system a bit and give more control to the project. This is to gain insulation from the differences in systems and make building software reliable on all platforms, including cross compilation.
     
  • 3.102, BratishkaErik (ok), 21:08, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Впринципе многие дистрибутивы и так полную версию собирают, различие в времени сборки и размере не такое и большое, но зато всякие Крабы и Молнии работают нормально. На Gentoo к примеру:
    > Michał Górny <mgorny@gentoo.org> (2021-11-04)
    > Enable all LLVM targets unconditionally.  Unfortunately, disabling
    > targets tend to break reverse dependencies (e.g. Rust) and we are yet
    > to find a clean way of resolving that.  Compared to the damage
    > potential, the increase of build time is a minor problem.  Users who
    > really insist of building a smaller system can un-force the flags
    > at their own responsibility.
    > See bug #767700.

    https://github.com/gentoo/gentoo/blob/05a1ed21cc44210a70b488493d9ab0d7462fc584

     
  • 3.103, BratishkaErik (ok), 21:16, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну а вообще чисто технически ничего не мешает их разделить, учитывая, что уже давно есть опции для врубания/отрубания экспериментальных платформ для LLVM (-Dllvm-has-xtensa и прочие), вопрос чисто в политике (ну и то, что остальные бэкенды хорошо продвигаются, так что на некоторых платформах в как минимум отладочном режиме сборки LLVM не понадобится)
     

  • 1.7, Аноним (7), 22:35, 04/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    С критики остаётся разве что то, что нет пока версии 1.0, а ведь там даже LLVM собираются заменить. Из этого следует, что если хочется писать что-то крупное, то надо принимать участие в разработке языка собственно, хотя это в чём-то плюс ведь можно оказать влияние. А так сообщество распределенное, неагрессивное. Код очень читаемый и нет особых спецсимволов, с полпинка можно скачать и изучить. Вместо полного переписывания можно потихоньку переписывать внедряя в существующий проект на Си и упрощая его сборку. Идеи распространены интересные вроде data-oriented design. Нравится.
     
     
  • 2.11, Витюшка (?), 22:38, 04/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Всё верно. Основная большая претензия - нет нормального (быстрого) аллокатора памяти (основного, написанного на Zig, без линковки с libc).

    И async/suspend и вот это вот всё.

     
     
  • 3.13, BratishkaErik (ok), 22:47, 04/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > нет нормального (быстрого) аллокатора памяти (основного, написанного на Zig, без линковки с libc).

    Вскоре может появиться, и уже используется в [[https://github.com/zigtools/zls ZLS]]: https://github.com/ziglang/zig/pull/16402

    > И async/suspend и вот это вот всё.

    Ну тут да, понаделали делов...

     
     
  • 4.30, Витюшка (?), 00:55, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Лучше чем ничего. Но я жду топовый аллокатор, который там понаобещали, скинув кучу ссылок на текущий state of the art.

    И типа там требования - чтобы он был самым быстрым среди всех известных. Многопоточный и тп.

    Но пока и BinnedAllocator буду рад.

     
  • 3.136, n00by (ok), 16:02, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Так в Си тоже нет такого аллокатора. :) В соседних темах критикуют реализации и из musl, и из glibc.
     
     
  • 4.146, Аноним (146), 23:55, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Тоже верно))) Но к Zig, в перспективе, у меня требования повыше))
     

  • 1.15, Аноним (15), 23:04, 04/08/2023 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]
  • +6 +/
     
  • 1.16, Самогонщик (?), 23:23, 04/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Кому и зачем это нужно?
     
     
  • 2.176, Аноним (175), 01:13, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Системщикам нужно в основном, игроделам вполне может зайти.
     

  • 1.40, Иваня (?), 05:30, 05/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Лучше уж Golang, чем этот Zig. Он многое скопировал именно с Golang!
     
     
  • 2.65, Аноним (65), 11:15, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Гошка курируется гуглом и он шпионит. Вполне себе резон отказаться от зонда, если найдется вменяемая альтернатива.
     
  • 2.113, Анониссимус (?), 22:10, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Я Zig не пробовал, но хуже голанга наверное ничего не может быть. Непродуманный, жирный, требующий кучу бойлерплейт-кода. Ну и плюс -- карманная поделка гугла. Надоест гуглу гошка, и пойдут все гошники на мороз.
     
     
  • 3.154, leap42 (ok), 13:15, 07/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Я Zig не пробовал, но хуже голанга наверное ничего не может быть. Непродуманный, жирный, требующий кучу бойлерплейт-кода. Ну и плюс -- карманная поделка гугла. Надоест гуглу гошка, и пойдут все гошники на мороз.

    А что лучше всех?

     
     
  • 4.157, Анониссимус (?), 15:31, 07/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Провокационный вопрос! Но ответа не будет. Потому что для разных программистов и разных задач будут разные лучшие языки.
     

  • 1.42, Аноним (42), 05:58, 05/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зачем это если уже есть rust?
     
     
  • 2.177, Аноним (175), 01:15, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем нужен Rust, если уже есть C, C++, Java, С#?
     

  • 1.43, Аноним (43), 06:47, 05/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    авто-ошибки, которые через ! делаются, имеют 16битный енум. Это значит, что вы не можете вернуть более чем 65535 разных ошибок в одной кодовой базе. Почему-то никто не осознает насколько это проблематично, а ведь в zig нельзя эти волшебные ошибки покомпилировать в разные библиотеки и решить проблему масштабирования.
     
     
  • 2.47, Аноним (58), 08:16, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Для решения предлагается ПРИНЯТЫЙ proposal 2018 года https://github.com/ziglang/zig/issues/786
     
     
  • 3.49, Аноним (43), 08:34, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Пропосалу пять лет, компилятор переписали на самом себе с отвязкой от С++, и проблему эту перенесли. Я лично ныл у них в дискорде об этой проблеме. Всем плевать, "сначала покажите мне проект на zig, в котором будет 65к обработок ошибок". Я думаю уже не поменяют.
     
     
  • 4.53, Аноним (52), 09:03, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А что 65k ошибок это же архитектурная проблема, раздели проект на части и там ошибки будут нумероваться с нуля.
     
     
  • 5.69, Аноним (3), 12:25, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Почему? Сколько, как ты думаешь, различных ошибок ты получаешь, при простой попытке подключиться к серверам гугла? И это тупо коннект.
     
     
  • 6.79, Аноним (52), 13:50, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    К гуглу не знаю, обычно десяток ошибок хватает и то если фронтендер очень хочет их зачем-то перехватывать.
     
  • 4.112, BratishkaErik (ok), 22:07, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так покажите)) Я уверен, шо даже в проекте с миллионом try/catch/errdefer строк бОльшая часть ошибок будет какой-нить NoSpaceLeft и OutOfMemory, у которых и так уберутся дубликаты, выставив единое число. Вместо всяких Field1NotFound, Field2NotFount т.д. и так рекомендуется использовать просто NotFound и обрабатывать в соответствующем месте. Я никак не могу придумать usecase, где могут понадобиться 65к разных ошибок с разными именами И где это всё ещё можно сопровождать без ночных кошмаров :) (по такому же принципу размер .zig файла 32 бит = 4 ГБ максимум, проблемы сопровождаемости начнутся задолго до)

    upd: про JVM ересь написал, извините...

     
     
  • 5.142, warlock66613 (ok), 19:15, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Какой-нибудь парсер легко может выдавать порядка 1000 разных ошибок. 70 парсеров по 1000 ошибок и приехали.
     
     
  • 6.144, Витюшка (?), 20:32, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ахахаха))) А ты забавный)

    Ну, когда появится такой с 70 парсерами а программе по 1000 ошибок...ито не клоун какой-нибудь, то кейс будет валидным - Я уверен это поправят.

    Думаю такой рукожоп найдётся не раньше чем через лет 20.

    А там и пары миллионов ошибок может не хватить)))

     
  • 2.61, Атон (?), 10:38, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > вы не можете вернуть более чем 65535 разных ошибок в одной кодовой базе.

    попробуйте писать БЕЗ ошибок.

     

  • 1.44, Аноним (44), 07:38, 05/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    А как у него с безопасной работой с памятью?
     
     
  • 2.50, Аноним (52), 08:58, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Всё топово, просто владелец опеннет не форсит этот язык как безопасный. Поэтому не всем понятно что в зиге есть всё то же что форсят в другом языке.
     
     
  • 3.82, Прохожий (??), 14:12, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А можно больше подробностей?
     
  • 3.114, Анониссимус (?), 22:13, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вот именно, очень интересно по сравнению с растом. Какие есть фишки, каких нет и почему, и т. п.
     
     
  • 4.116, Анониссимус (?), 22:17, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Всё, нашёл: https://ziglang.org/ru/learn/why_zig_rust_d_cpp/
     

  • 1.45, Аноним (45), 08:02, 05/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Тыкал в него - очень хорошее впечатление оставил. Не знаю чего там со скоростью и т.п., но на порядок удобнее сей, а читаемость кода ясная и понятная в отличии от одного распиаренного "безопастного" языка. Аффтарам удачи.
     
     
  • 2.137, freecoder (ok), 16:11, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Угадайте по коду, где тут синтаксис Rust, а где Zig:



    for a in 0..20 {
        ...
    }






    for (0..20) |a| {
        ...
    }



     
     
  • 3.138, Аноним (138), 17:34, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    На главной странице написано ещё про ясность языка, поэтому могу предположить, что Зиг относится ко второму (на Руби похоже, это тоже capture значения?)
     
     
  • 4.139, Аноним (138), 17:41, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и уж если критиковать язык, то не за синтаксис (каждому своё), а тогда за https://github.com/ziglang/zig/issues/1530. Зачем в НИЗКОУРОВНЕВОМ языке числа размером 0 бит? Зачем вообще да типа void? Я понимаю, если бы это был Хаскель какой-нибудь, но мы про "убийцу Си" говорим.

    > This is going to be zig's billion dollar mistake. I thought that we were going to make a language to replace C. Instead of bikeshedding with me, we could have removed a wart on the language. I am truly saddened by this action of closing the thread.
    > References to 0-bytes has always been dangerous in computer programming.

     
     
  • 5.140, Аноним (138), 17:42, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    *два типа void
     
  • 5.141, Аноним (138), 17:48, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    https github com ziglang zig issues 1530 issuecomment-422707510 ... большой текст свёрнут, показать
     
  • 3.178, Аноним (175), 01:25, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Действительно, второй пример прям в духе синтаксиса Rust. Но это всего лишь один пример на грани черрипикинга.
     
     
  • 4.182, freecoder (ok), 13:41, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Действительно, второй пример прям в духе синтаксиса Rust. Но это всего лишь
    > один пример на грани черрипикинга.

    Это только первое впечатление, если смотреть на код и не разбираться, что в нём происходит. Синтаксис у Rust довольно минималистичен и лаконичен. Просто там, где он кажется перегруженным, там действительно используется сложная семантика. В случае простого for нет сложной семантики и очень странно, что в этом месте синтаксис Zig оказывается перегружен разными скобками.

     

  • 1.48, YetAnotherOnanym (ok), 08:23, 05/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > 1) ...
    > 2) ...
    > 3) ...
    > 4) ...

    Я так понимаю, это только для самого компилятора, а прикладной софт на сабже компилится уже полученным компилятором в исходник напрямую?

     
     
  • 2.60, Аноним (58), 10:23, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да, но C бэкэнд и там может использоваться
     
  • 2.63, YetAnotherOnanym (ok), 11:00, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > в исходник

    Тьфу, блин... "В бинарник" же.
    Не стОит писать на опеннете каменты утром в субботу.


     

  • 1.56, Аноним (56), 09:46, 05/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Zig Object Notation

    JSON is Not Invented Here.

     
     
  • 2.62, BratishkaErik (ok), 10:44, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Причины отказа от JSON (TOML, CSV, YAML) указаны в оригинальном запросе на слияние (https://github.com/ziglang/zig/pull/14265) :
    > unfortunate that trailing commas are not allowed, and comments are not allowed.
    > json5 exists but a lot of tooling does not expect it. and what's the extension? .json5 or .json? either one is a bit problematic.
    > what's javascript object notation doing in my zig codebase? I don't have any javascript objects to describe.
    > numbers limited to 53 bits sometimes? there is some janky stuff with json.

    Выбор был сделан в пользу .ini формата (парсер и сейчас в std лежит), а уже затем заменили на ZON в https://github.com/ziglang/zig/pull/14523 — один парсер, поддержка zig fmt и прочих, по аналогии с build.zig не надо учить отдельное cmake-о-подобие...

     
     
  • 3.77, Аноним (52), 13:34, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Но ведь это чистой воды Nih
     
     
  • 4.86, Витюшка (?), 16:03, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Те вы предлагаете включить в спецификацию языка ещё и спецификацию другого языка типа JSON? Гениально)))

    Это часть стандарта языка, как минимум нативно поддерживается импорт этих файлов в исходниках.

     
  • 4.179, Аноним (175), 01:32, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Как раз таки исправлены реальные недостатки JSON. Отсутствие trailing comma и комментариев это буквально первое, что бросается в глаза при его реальном использовании, и вопрос о них поднимался множество раз, но воз стоит и ныне там.
     
  • 2.74, Витюшка (?), 12:59, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Он сделан на основе конструкции struct { ..., ... } языка. Те вместо того чтобы учить 100500 языков, учишь один.

    И также нативная поддержка в языке.

     
     
  • 3.91, Аноним (91), 18:39, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Те вместо того чтобы использовать существующую библиотеку парсера-сериализатора для каждого языка, пишешь 100500 парсеров под 100500 языков.

    Ясно.

     
     
  • 4.130, Витюшка (?), 12:22, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Берешь стандартную библиотеку парсера. И прокидываешь во все известные языки минимальными усилиями.

    И в JS, и в Python, да вообще практически везде можно вызвать ffi и дёрнуть нативную функцию.

     

  • 1.66, Аноним (80), 11:28, 05/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Вот тут поляк свой язык замутил https://www.cnews.ru/news/top/2021-10-12_sozdan_universalnyj_yazyk с ещё большим количетвом других ЯП, в которые его транслируется.
     
     
  • 2.76, Аноним (52), 13:32, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Тут америкос свой язык накалякал https://odin-lang.org/ безопасТный как все любят.
     
     
  • 3.126, pdp11 (?), 08:07, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    вобще-то, британец. достаточно забавный, GingerBill.

    и odin "заточен" под программирование графики, data-oriented design, и всё такое.

    и он, скорее соперник jai, который ориентирован на геймдев.

     
  • 2.135, Аноним (135), 14:12, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ваша информация устарела, язык теперь называется fusion  https://github.com/fusionlanguage/fut
     

  • 1.83, Прохожий (??), 14:28, 05/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Ничего не имею против самого языка, но инфраструктура, состав спонсоров оставляют желать лучшего. Всё перечисленное - большие риски для любого сколь-либо важного проекта.

    А так хотелось бы больше подробностей на тему, чем он лучше Плюсов (хотя по сравнению с ними любой, наверное, язык из этой же предметной области будет лучше), Rust (про синтаксис тут уже кто-то говорил, но меня чьи-то слабые когнитивные способности не интересуют, нужно больше деталей из возможностей языка), Golang.

     
     
  • 2.84, Виталий (??), 14:48, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    На этой странице есть https://ziglang.org/ru/learn/why_zig_rust_d_cpp/
     
     
  • 3.108, BratishkaErik (ok), 21:56, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Страница кстати одна из немногих актуальных, остальные из этого раздела написаны ещё во времена Zig 0.8 и куча команд и прочее изменилось с тех пор.
     
  • 2.181, Аноним (175), 01:46, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А что не так у состава спонсоров? Недостаточно инклюзивный? Уже самое их наличие отличает Zig от 99% процента аналогичных проектов в лучшую сторону.
     

  • 1.87, Аноним (-), 16:12, 05/08/2023 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]
  • +/
     
  • 1.90, Elijah Zarezky (?), 18:16, 05/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Дернул ./build x86_64-linux-gnu baseline на 37-й Федоре -- получил 134 ошибки вида "error: ld.lld: undefined symbol"... Не впечатляет.
     
     
  • 2.92, BratishkaErik (ok), 18:52, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    так zig-bootstrap нужен для кросс-компиляции, может вы с https://github.com/ziglang/zig/wiki/Building-Zig-From-Source перепутали? и https://github.com/ziglang/zig/wiki/Troubleshooting-Build-Issues
     
     
  • 3.94, Elijah Zarezky (?), 18:57, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Читаю https://github.com/ziglang/zig-bootstrap, вижу: "The purpose of this project is to start with minimum system dependencies and end with a fully operational Zig compiler for any target."
     
     
  • 4.106, BratishkaErik (ok), 21:51, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В трублшутинке сверху как раз есть разделы для всяких undefined reference'ов, да и грех это LLVM не с пакетного менеджера ставить, когда он там есть (тем более в хорошо сопровождаемой Fedora, это ж не kisslinux какой-нить)
     
     
  • 5.124, Elijah Zarezky (?), 07:27, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Как можно видеть, я не одинок: https://github.com/ziglang/zig-bootstrap/issues/156
     
     
  • 6.131, Витюшка (?), 12:32, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Во-первых, зачем его собирать? Есть ночные версии которые прекрасно работают на Fedora .

    Ставишь в .local/bin и погнали.

    Во-вторых, я совсем недавно собирал в Fedora из сорцов. Всё прекрасно работает и собирается.
    https://github.com/ziglang/zig/wiki/Building-Zig-From-Source

    Возможно zig-bootstrap и не работает. Но он и не гарантирует что обязан всегда работать.

    Это скорее "nice to have".

    Основная настоящая сборка языка - опция А по ссылке.

     
  • 5.134, Витюшка (?), 12:59, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В Fedora нет llvm 16 для сборки языка. Поэтому из коробки он не соберёт.

    Но самое интересное - наличие свежей llvm (на Tumbleweed) не даёт гарантию сборки. LLVM то можно собрать кучей разных способов и упаковать.

    И товарищи выпилили какие-то компоненты, lld что ли. Поэтому официально его нормально не собрать.

     
  • 2.93, Elijah Zarezky (?), 18:54, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Отдельные лучи поноса за отсутствие возможности завести на ГитХабе ошибку в произвольной форме.
     
     
  • 3.107, BratishkaErik (ok), 21:54, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Джоны слишком много мусорили, да и вообще-то можно — кнопка Open a blank issue (если вы про ziglang/zig, в zig-bootstrap issues вообще шаблонов нет)
     
     
  • 4.125, Elijah Zarezky (?), 07:40, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да, это я напутал, прошу прощения.
     
  • 4.132, Витюшка (?), 12:34, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Человек придрался к оформлению тикетов и сборке с помощью zig-bootstrap. Очевидно язык ему не нужен и не интересен))

    До языка товарищ так и не смог добраться,🙂

     

  • 1.122, Аноним (122), 23:19, 05/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Он используется в Uber для его хорошей поддержки кросс-платформенной компиляции:
    https://www.uber.com/en-IT/blog/bootstrapping-ubers-infrastructure-on-arm64-wi
     
  • 1.127, Elijah Zarezky (?), 09:38, 06/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Показательная ссылка: https://github.com/ziglang/zig-bootstrap/issues/152

    Краткое содержание: 25 мая очередной горемыка напоролся на тот факт, что бутстраппер Зига содержит примитивные ошибки, которые препятствуют сборке компилятора; спустя неделю (!), в течение которой никакой реакции от авторов языка не последовало, добавил комментарий "Hello guys, after a long time of hard work. I found a way to build zig successfully." и привел обходной способ решения проблемы; на 6 августа (прошло почти полтора месяца) авторы языка в теме так и не отметились. :-D

    Аналогичные тикеты об ошибках нативной сборки на актуальных версиях мэйнстримовых дистров (например, Федора 37/38) авторы языка также обходят стороной. Думаю, что можно сделать обоснованный вывод: это поделие не то что в прод, на локалхост не стоит пытаться тащить.

    P.S.
    О "примитивности" ошибок сужу как разработчик/билд-инженер с 28-летним стажем официальной работы в профессии.

     
     
  • 2.129, Аноним (95), 12:09, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Стаж, похоже, в должности менеджера по клинингу с эпизодическими повышениями до ... большой текст свёрнут, показать
     
  • 2.133, Витюшка (?), 12:47, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Какой ты "билд инженер" с 28 летним стажем, который не смог осилить простейшую сборку?

    1. Zig bootstrap это не официальная сборка, даже не в основном репозитории. Это ДОПОЛНИТЕЛЬНАЯ возможность сборки ещё одним способом.
    2. Этот способ может не всегда работать, о чём сказано в документации.
    3. Он и не может всегда работать, он не собирает всё из сорцов. Те этот упрощённый метод имеет ограничения.

    https://github.com/ziglang/zig/wiki/Building-Zig-From-Source

    Собираешь clang из сорцов (в Fedora версия llvm протухшая) и далее по инструкции по ссылке. Всё собирается, всё работает.

    Я думаю "билд-инженер" с 28 летним стажем в состоянии осилить 2-3 команды сборки?

     
     
  • 3.143, Гы (?), 20:16, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В чем-то билд инженер прав - production ready это не только когда конпеляется. Важно, чтобы был саппорт, который отвечает в разумные сроки. Ну или хотя бы поддерживает.
     
     
  • 4.145, Витюшка (?), 20:49, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Позвольте полюбопытствовать, саппорт, который будет отвечает в разумные сроки, разгребает ваш г...код, фиксит ваши специфичные баги?

    И всё это бесплатно? Те бесплатные рабочие руки топовых инженеров?

    А так саппорт есть. В финансовой отчёте есть 25к баксов которые заплатил Uber за тот самый саппорт.

     
     
  • 5.155, Гы (?), 14:12, 07/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Те бесплатные рабочие руки топовых инженеров? А так саппорт есть. В финансовой отчёте есть 25к баксов которые заплатил Uber за тот самый саппорт.

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

     
     
  • 6.170, Аноним (-), 13:04, 09/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > К вам нет претензий. Вопрос был про production ready. Игнор это худшее,
    > что можно делать в таком случае. Как там: не можешь помочь,
    > так хотя бы рассмеши.

    Разработчики сабжа не клоуны чтобы забесплатно развлекать кого-то кто 2 предложений на инглише связать не может. А их время лучше потратить на кодинг и фиксинг САБЖ-а.

     
  • 3.166, Аноним (166), 00:40, 09/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Отличные авторы языка, которые не могут осилить хотя-бы configure.
     
  • 2.150, Аноним (52), 09:19, 07/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Изначальный автор поста просто нашел способ достать собственные руки из по пы и сделать всё сам. Зачем таким отвечать? Или что им ответить достань руки из по пы?
     
     
  • 3.159, Аноним (159), 20:50, 07/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    он их наоборот туда засунул, исходя из убунчи в докири
     
  • 2.160, Аноним (-), 20:59, 07/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >как разработчик/билд-инженер с 28-летним стажем официальной работы в

    Альтлинуксе. Не забывайте называть это почётное имя, носите его с честью.

     
     
  • 3.169, Аноним (-), 13:03, 09/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >> как разработчик/билд-инженер с 28-летним стажем официальной работы в
    > Альтлинуксе. Не забывайте называть это почётное имя, носите его с честью.

    Такой же билдинженер с 28 летним стажем как Шигорин "старший программист" видимо. С таким бэджом и апломбом от вас ожидается как минимум прислать патч в апстрим с фиксом проблемы. Странно что вы за 28 лет еще не догадались об этом.

     

  • 1.161, Аноним (161), 00:16, 08/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А можно название нормальным сделать?
     
     
  • 2.180, Аноним (175), 01:38, 15/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А что не так? Название короткое и узнаваемое, что еще надо?
     

  • 1.163, Аноним (163), 05:24, 08/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Надо попробовать переписать на него свои питоно-скрипты. Отпишусь в следующей новости о результатах.
     
     
  • 2.164, Аноньимъ (ok), 07:07, 08/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Как всё прошло?
     
     
  • 3.183, Аноним (183), 19:32, 25/10/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А никак! Решил так же как и ты переписать event loop на ассемблере!
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру