|
2.80, Аноним (80), 13:58, 05/08/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
Hare - лучшая замена C. К тому же у Hare автономный компилятор, не пртвязанный к LLVM.
| |
|
|
|
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'а, который на ЛОРе каждый раз про это ныл.
| |
|
3.97, Аноним (97), 20:01, 05/08/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
Когда Ди рипнется все об этом узнают в новостях
Потому что система для работы и объявления о поездах во многих странах Европы разрабатывается компанией на Ди =)
| |
|
|
|
6.174, Серб (ok), 13:37, 11/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Что-то вспомнилось ситуация с Arian V
И?
Там то же откопали стюардессу?
| |
|
|
|
|
2.110, Аноним (110), 22:00, 05/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
> 10 лет.
Сразу видно, что ты врешь. язык появился в 2016 году лишь, где-то они сами пишут что с 2015, но врут.
| |
|
1.4, Витюшка (?), 22:28, 04/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –5 +/– |
Задавайте вопросы, если интересно. Язык более чем Production Ready для многих сфер.
| |
|
|
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.
| |
|
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 требует. Огроменный жырнолиб от полупроприерастов типа гугла и эпла. Раньше вроде без него могло? Зависеть от этой ср@ни, особенно в ситемщине - ну такое себе.
| |
|
|
4.156, Аноним (156), 15:19, 07/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Зачем мне это писать на зиге, если для этого уже все написано на других языках?
| |
|
5.175, Аноним (175), 01:08, 15/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Зачем мне это писать на <языке программирования X>, если для этого уже все написано на других языках?
| |
|
|
|
|
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.
Внезапно вменяемо.
| |
|
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, как эта проблема решена, если решена?
| |
|
|
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'ов заданного размера. Что экономит операции проца там где хардвар это обеспечивает сам "размером регистра" допустим.
| |
|
|
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. Так что задавайте вопросы))))
| |
|
|
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 и вот это вот всё.
| |
|
|
4.30, Витюшка (?), 00:55, 05/08/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Лучше чем ничего. Но я жду топовый аллокатор, который там понаобещали, скинув кучу ссылок на текущий state of the art.
И типа там требования - чтобы он был самым быстрым среди всех известных. Многопоточный и тп.
Но пока и BinnedAllocator буду рад.
| |
|
3.136, n00by (ok), 16:02, 06/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Так в Си тоже нет такого аллокатора. :) В соседних темах критикуют реализации и из musl, и из glibc.
| |
|
|
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.43, Аноним (43), 06:47, 05/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
авто-ошибки, которые через ! делаются, имеют 16битный енум. Это значит, что вы не можете вернуть более чем 65535 разных ошибок в одной кодовой базе. Почему-то никто не осознает насколько это проблематично, а ведь в zig нельзя эти волшебные ошибки покомпилировать в разные библиотеки и решить проблему масштабирования.
| |
|
|
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 разных ошибок в одной кодовой базе.
попробуйте писать БЕЗ ошибок.
| |
|
|
2.50, Аноним (52), 08:58, 05/08/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Всё топово, просто владелец опеннет не форсит этот язык как безопасный. Поэтому не всем понятно что в зиге есть всё то же что форсят в другом языке.
| |
|
3.114, Анониссимус (?), 22:13, 05/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Вот именно, очень интересно по сравнению с растом. Какие есть фишки, каких нет и почему, и т. п.
| |
|
|
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. | |
|
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.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-о-подобие...
| |
|
|
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 и дёрнуть нативную функцию.
| |
|
|
|
|
|
3.126, pdp11 (?), 08:07, 06/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
вобще-то, британец. достаточно забавный, GingerBill.
и odin "заточен" под программирование графики, data-oriented design, и всё такое.
и он, скорее соперник jai, который ориентирован на геймдев.
| |
|
|
1.83, Прохожий (??), 14:28, 05/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
Ничего не имею против самого языка, но инфраструктура, состав спонсоров оставляют желать лучшего. Всё перечисленное - большие риски для любого сколь-либо важного проекта.
А так хотелось бы больше подробностей на тему, чем он лучше Плюсов (хотя по сравнению с ними любой, наверное, язык из этой же предметной области будет лучше), Rust (про синтаксис тут уже кто-то говорил, но меня чьи-то слабые когнитивные способности не интересуют, нужно больше деталей из возможностей языка), Golang.
| |
|
|
3.108, BratishkaErik (ok), 21:56, 05/08/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Страница кстати одна из немногих актуальных, остальные из этого раздела написаны ещё во времена Zig 0.8 и куча команд и прочее изменилось с тех пор.
| |
|
2.181, Аноним (175), 01:46, 15/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
А что не так у состава спонсоров? Недостаточно инклюзивный? Уже самое их наличие отличает Zig от 99% процента аналогичных проектов в лучшую сторону.
| |
|
1.90, Elijah Zarezky (?), 18:16, 05/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Дернул ./build x86_64-linux-gnu baseline на 37-й Федоре -- получил 134 ошибки вида "error: ld.lld: undefined symbol"... Не впечатляет.
| |
|
|
|
4.106, BratishkaErik (ok), 21:51, 05/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
В трублшутинке сверху как раз есть разделы для всяких undefined reference'ов, да и грех это LLVM не с пакетного менеджера ставить, когда он там есть (тем более в хорошо сопровождаемой Fedora, это ж не kisslinux какой-нить)
| |
|
|
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 что ли. Поэтому официально его нормально не собрать.
| |
|
|
|
|
3.107, BratishkaErik (ok), 21:54, 05/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Джоны слишком много мусорили, да и вообще-то можно — кнопка Open a blank issue (если вы про ziglang/zig, в zig-bootstrap issues вообще шаблонов нет)
| |
|
4.132, Витюшка (?), 12:34, 06/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Человек придрался к оформлению тикетов и сборке с помощью zig-bootstrap. Очевидно язык ему не нужен и не интересен))
До языка товарищ так и не смог добраться,🙂
| |
|
|
|
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 [^] [^^] [^^^] [ответить]
| +/– |
Изначальный автор поста просто нашел способ достать собственные руки из по пы и сделать всё сам. Зачем таким отвечать? Или что им ответить достань руки из по пы?
| |
2.160, Аноним (-), 20:59, 07/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
>как разработчик/билд-инженер с 28-летним стажем официальной работы в
Альтлинуксе. Не забывайте называть это почётное имя, носите его с честью.
| |
|
3.169, Аноним (-), 13:03, 09/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
>> как разработчик/билд-инженер с 28-летним стажем официальной работы в
> Альтлинуксе. Не забывайте называть это почётное имя, носите его с честью.
Такой же билдинженер с 28 летним стажем как Шигорин "старший программист" видимо. С таким бэджом и апломбом от вас ожидается как минимум прислать патч в апстрим с фиксом проблемы. Странно что вы за 28 лет еще не догадались об этом.
| |
|
|
1.163, Аноним (163), 05:24, 08/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Надо попробовать переписать на него свои питоно-скрипты. Отпишусь в следующей новости о результатах.
| |
|
|
3.183, Аноним (183), 19:32, 25/10/2023 [^] [^^] [^^^] [ответить]
| +/– |
А никак! Решил так же как и ты переписать event loop на ассемблере!
| |
|
|
|