The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

В GCC утверждено включение поддержки языка Rust, opennews (??), 11-Июл-22, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


24. "В GCC утверждено включение поддержки языка Rust"  +8 +/
Сообщение от Аноним (75), 11-Июл-22, 22:19 
Zig хуже Rust практически во всём, за исключением нескольких интересных моментов.

Говорю как писатель кода на Zig. Пришлось проект закопать и перейти на Rust.

Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

45. "В GCC утверждено включение поддержки языка Rust"  +2 +/
Сообщение от еуые (?), 11-Июл-22, 23:28 
А какие в нем есть интересные моменты? Мне он показался абслютно безыдейным,
просто взяли фичи C++ и какие-то выбросили, какие-то завернули в другую обертку,
но ничего кардинально не поменялось.
Ответить | Правка | Наверх | Cообщить модератору

102. "В GCC утверждено включение поддержки языка Rust"  +1 +/
Сообщение от Аноним (102), 12-Июл-22, 03:43 
> А какие в нем есть интересные моменты? Мне он показался абслютно безыдейным,

Compile time вычисления. Представь себе крутой и правильный препроцессор, который запустит для тебя всю мощь языка - с стандартным синтаксисом - в чем-то типа препроцессора. А результат этого можно потом заюзать как константы и проч. Если это навороченые вычисления, с одной строны и видно откуда это берется, но с другой в рантайм не тратятся ресурсы на счет этого. Очень удачная придумка так то.

Более того, так можно в принципе сделать очень годные assert-like конструкции верифицирующие параметры на вход и все такое. В культурном и мощном виде. В остальных ЯП это использует урезанный синтаксис и/или обкоцаные фичи и вы по сути учите 2 субдиалекта.

Ответить | Правка | Наверх | Cообщить модератору

139. "В GCC утверждено включение поддержки языка Rust"  +2 +/
Сообщение от Аноним (136), 12-Июл-22, 10:42 
Как то неубедительно.

> Compile time вычисления. Представь себе крутой и правильный препроцессор... А результат этого можно потом заюзать как константы и проч.

Конечно задачи задачам рознь, но видать я не те задачи решаю. За кучу времени среднекровавенького костыльного энтерпрайза ни разу не понадобились какие-то "супер-дупер" сложные компайл-тайм вычисления, которые бы потом еще использовались как константы. От слова совсем. Только какие-то примитивные константы уровня числа пи или каких-то вкомпиленных ISO-кодов. Не понимаю, почему это с таким пиететом для разных языков как киллер-фичу преподносят. Наверное, если начну писАть какую-нибудь собственную ОС или сервер приложений - понадобится и оценю :)

> Compile time вычисления...Очень удачная придумка так то.
> Более того, так можно в принципе сделать очень годные assert-like конструкции верифицирующие параметры на вход и все такое

А вот тут становится очень интересно. Внешние параметры, которые в программу залетят в будущем из внешних источников, проверим при компиляции, а не в рантайме? Экстрасенсы, шаманство и магия... Может, "Compile time вычисления как константы" отдельно, а "годные assert-like конструкции верифицирующие параметры" - отдельно, без связки слов?

Ответить | Правка | Наверх | Cообщить модератору

187. "В GCC утверждено включение поддержки языка Rust"  +/
Сообщение от fsb4000 (?), 12-Июл-22, 13:41 
Вот пример годной assert-like конструкций во время компиляции:

https://github.com/microsoft/STL/pull/2837

Ответить | Правка | Наверх | Cообщить модератору

301. "В GCC утверждено включение поддержки языка Rust"  +2 +/
Сообщение от Аноним (-), 13-Июл-22, 02:42 
> Вот пример годной assert-like конструкций во время компиляции:
> https://github.com/microsoft/STL/pull/2837

Я честно говоря в этом месиве вообще не понял в каком там месте - "годно". Впрочем от гитхаба, майкрософта и STL иного и не ожидалось. Я бы имхо не хотел иметь дело с таким кодом.

Ответить | Правка | Наверх | Cообщить модератору

259. "В GCC утверждено включение поддержки языка Rust"  +/
Сообщение от Аноним (259), 12-Июл-22, 22:04 
>> Может, "Compile time вычисления как константы" отдельно, а "годные assert-like конструкции верифицирующие параметры" - отдельно, без связки слов?

А вы точно программист, а не джава макака? Первому не нужно объяснять почему одно вытекает из другого, второму и не объяснить…

Ответить | Правка | К родителю #139 | Наверх | Cообщить модератору

315. "В GCC утверждено включение поддержки языка Rust"  +/
Сообщение от Аноним (315), 13-Июл-22, 07:56 
Даже у незнающих чем отличается фон неймовская архитектура от гарвардской "джава макака" есть compile time вычисляемые константы и оператор assert
Что конечно не делает из них программистов
Ответить | Правка | Наверх | Cообщить модератору

276. "В GCC утверждено включение поддержки языка Rust"  +/
Сообщение от Аноним (-), 13-Июл-22, 00:42 
> Как то неубедительно.

На мое частное мнение - это у них прикольно придумано.

> Конечно задачи задачам рознь, но видать я не те задачи решаю.

Вероятно.

> За кучу времени среднекровавенького костыльного энтерпрайза ни разу не понадобились какие-то
> "супер-дупер" сложные компайл-тайм вычисления, которые бы потом еще использовались как
> константы.

Мы про системные яп или энтерпрайз? Энтерпрайз можно и на яве кодить, теперь попробуйте на этом керенл, бутлоадер или фирмварь. И как, офигенно? Если вебмакакятина упадет, что самое плохое будет? Пожурят? Депремируют? А даже упавший кернел уже не прикольно. Еще хуже если управляющая фирмварь упадет, там что угодно может быть. И упавший самолет, и взорвавшееся производство, да даже юзер гироскутера "лишь" разбивший морду будет злой.

> собственную ОС или сервер приложений - понадобится и оценю :)

Сабж сватается как типа-системный, и в этом контексте вон то имеет определенный смысл. Да и даже в апликушном коде нехило бы проверять что допущения удержались. С вон той фичой можно имхо попробовать это все в том же синтаксисе что и остальное.

> А вот тут становится очень интересно. Внешние параметры, которые в программу залетят
> в будущем из внешних источников, проверим при компиляции, а не в рантайме?

Вот именно совсем внешние, типа сети или ADC все же пролетают. Но остальное можно хотя-бы кодить в том же виде что и остальной синтаксис. А не на каком-то левом субдиалекте.

> Экстрасенсы, шаманство и магия... Может, "Compile time вычисления как константы"
> отдельно, а "годные assert-like конструкции верифицирующие параметры" - отдельно, без
> связки слов?

Возможность делать assert-like штуки стандартным синтаксисом ЯП с навороченой логикой так то языку не в минус. И для скорости порой полезно. И таки не прикольно когда написано 0x100500 а откуда взялось хрен знает, и можно ли там 0x100400 - а кто его знает? Дескать скачайте программу-генератор этой магии отдельно, очень удобно.

Ответить | Правка | К родителю #139 | Наверх | Cообщить модератору

160. "В GCC утверждено включение поддержки языка Rust"  +/
Сообщение от Аноним (157), 12-Июл-22, 12:25 
В современном C++ тоже есть compile time вычисления. И если в Zig они также с помощью сторонненего препроцессора, то никаких преимуществ. Препроцессоры зло.
Ответить | Правка | К родителю #102 | Наверх | Cообщить модератору

237. "В GCC утверждено включение поддержки языка Rust"  +/
Сообщение от Анончик (?), 12-Июл-22, 17:56 
создатель Zig(Andrew Kelley) не рассматривает C++ как хороший язык для написания программ, считая его слишком сложным и Zig это доработанный СИ.Zig не стремится вобрать в себя все функции C++ или конкурировать с ним.
Ответить | Правка | Наверх | Cообщить модератору

52. "В GCC утверждено включение поддержки языка Rust"  +/
Сообщение от Аноним (-), 11-Июл-22, 23:55 
Странно такое слышать учитывая, что тот же bun.sh работает во много раз быстрее и лучше node и deno написанного на Rust.
Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

111. "В GCC утверждено включение поддержки языка Rust"  +/
Сообщение от Аноним (111), 12-Июл-22, 05:16 
Качество кода проекта не зависит от языка.
Разумно ли сравнивать проекты исключительно по языкам, на которых они написаны?
Ответить | Правка | Наверх | Cообщить модератору

175. "В GCC утверждено включение поддержки языка Rust"  +/
Сообщение от Анонн (?), 12-Июл-22, 12:49 
Ну, было бы честно указать что в этом bun еще не работает...
А список там не маленький https://github.com/oven-sh/bun#not-implemented-yet
Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору

65. "В GCC утверждено включение поддержки языка Rust"  +/
Сообщение от topin89 (ok), 12-Июл-22, 01:07 
А можно поподробнее? Любопытен практический опыт.
Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

73. "В GCC утверждено включение поддержки языка Rust"  +5 +/
Сообщение от Аноним (75), 12-Июл-22, 01:45 
Я не буду вдаваться в подробности, скажу только что язык экспериментальный. На нём категорически нельзя писать профессиональный софт на данный момент. На этом сравнение с Rust можно и закончить;)

Для простых утилит command-line он и сейчас уже, скорее всего, сгодится. Но не более.

Вот ошибка лично моя - https://github.com/ziglang/zig/issues/10873. А сколько таких сейчас там? Тысячи.

Ещё есть ощущение что часть слизана с Rust. Как минимум они сталкиваются с такими же проблемами. Например pin/unpin структур -  https://github.com/ziglang/zig/issues/7769. Ещё не сделано. Точно такая же проблема, с которой столкнулся Rust и был изобретён Pin/Unpin.

Концептуально язык очень интересный. Он не альтернатива Rust - альтернатива С.

И вот как замена С он очень интересный и гораздо лучше Сишки. Хотя я периодически ловил corrupted data - попорченные данные на стеке.

От этих ошибок язык не спасал (а я думаю мог бы). При том код был максимально аккуратно написан - просто сама семантика (структур в структурах и их layout) не всегда понятна. Я думал что структура должна была копироваться. Очень легко получить corrupted data.

Язык очень простой - учится базово буквально за несколько дней. Чтобы хоть что-то закоммитить в нормальный проект на Rust надо месяц его читать, включая RFC, async book, trait bounds, и т.д. и т.п.

Вот моя имплементация очереди и ring buffer для примера как выглядит код -

https://gist.github.com/likern/ac01b315434c68622f70cc0228863971

Ответить | Правка | Наверх | Cообщить модератору

238. "В GCC утверждено включение поддержки языка Rust"  +/
Сообщение от Анончик (?), 12-Июл-22, 18:06 
>>Вот ошибка лично моя - https://github.com/ziglang/zig/issues/10873. А сколько таких сейчас там? Тысячи.

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

>> И вот как замена С он очень интересный и гораздо лучше Сишки. Хотя я периодически ловил corrupted data - попорченные данные на стеке.

Если посмотреть выступления Andrew Kelley он везде и говорит про Zig как замену СИ в определенных местах.

Ответить | Правка | Наверх | Cообщить модератору

296. "В GCC утверждено включение поддержки языка Rust"  +/
Сообщение от topin89 (ok), 13-Июл-22, 02:03 
Такие комментарии -- это причина, почему я до сих пор на опеннете. Спасибо за подробный ответ!
Ответить | Правка | К родителю #73 | Наверх | Cообщить модератору

144. "В GCC утверждено включение поддержки языка Rust"  –1 +/
Сообщение от Аноним (145), 12-Июл-22, 10:53 
>Zig хуже Rust практически во всём

Согласен. Удивляет, что этот зиг везде предлагают, тогда как язык банальнейший, неидейный.

Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

277. "В GCC утверждено включение поддержки языка Rust"  –1 +/
Сообщение от Аноним (-), 13-Июл-22, 00:44 
Чем меньше идей, тем меньше они путаются под ногами активно мешая сделать задуманное.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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