Аргументы, подобные вашим, обычно закрывают глаза на издержки, и хотят плюсов, мяса и вэлью. Но есть же очевиднейшие минусы, которые почему-то принято игнорировать в подобных доводах.
Я говорю про издержки от вечной борьбы с банальнейшими use after free, UB, dangling pointers, out of bounds access, race conditions и прочего, исправление чего занимает несоизмеримо большое время, которое можно потратить на написание нового кода, а не прикручивание протезов к отстреленным ногам. А тут даётся язык, у которого из коробки нет этих врождённых пороков, бери да пиши новый код, полное взаимодействие со старыми интерфейсами и ABI. Да, нужно заплатить небольшим количеством времени, мозгами пошевелить зачерствевшими, изучить что-то новое, и понять, насколько же проще живётся в языках этого вашего 2024-го года.
PS. Давно не работал на офисных работах и командах, где нет выбора инструментов разработки, а вот недавно решил залететь и глянуть, какая она сейчас эта офисная командная работа, где пишут на дедовских технологиях. И, чёрт возьми, как снова оказался в начале нулевых! Все те же болячки, все те же вечные баги, о существовании которых я уже забыл, самостоятельно выбирая инструмент для разработки. И самое страшное, что борьба с этими проблемами является нормой, а не чем-то лишним и непродуктивным. Люди настолько привыкли, что на Си ты пишешь 20% времени, а потом отлаживаешь 80%, что даже не осознают, что это давным давно не норма.
Может быть разработчикам Rust стоит написать свою ОС со своим ядром, чтобы был proof о пригодности языка к таким задачам?
Стоит погуглить вам наверно. На Расте уже столько ОС, ядер, драйверов, гипервизоров, bare-metal прошивок написано на сегодняшний день, что давно никому ничего не нужно доказывать. Уже лет 5 назад язык был готов к этому. И с каждым днём становится всё удобнее.
Консервативные деды всегда тормозили прогресс. Ничего здесь нового нет. Любые долгие проекты с этим сталкивались, Линукс здесь не уникален.
Мне вот интересно - а вариант с запуском системы под гипервизором (с пробросом видеокарты) для читерства не используется?(конечно с маскировкой факта что это виртуалка если античит триггерится)
Давно уж что читы, что античиты для топовых competition-игр прописались в гипервизоре. И ничего не нужно пробрасывать, "полноценный" kvm излишен. Продвинутые форумные скрипт-киддисы пишуткачают с гитхаба элементарные "hello world"-гипервизоры резидентного драйвера дырявого UEFI, ОС грузится напрямую на железе с маппингом в гипервизор 1-к-1, и творится вакханалия а-ля БСОДы, ошибки загрузки системы и прочий треш.
С UEFI проблема намного серьёзнее дырявых дров винды, т. к. вендоры исправляют уязвимости в своих реализациях UEFI приблизительно никогда.
Или так сложнее потому что patchguard?
PatchGuard точно так же обходится в процессе загрузки ядра, когда средствами гипервизора составляется карта процессов, потоков и замапленных регионов памяти ОС. Так сложнее, потому что надо потратить время, чтобы разбираться в работе ОС и гипервизорах, а нагибать нубов надо прямо сейчас.
Гипервизоры это ещё полбеды. Существуют приватные коммерческие читы для "профессиональных стримеров", представляющие из себя аппаратный DMA-модуль с программной обвязкой-фреймворком, которая может скастомизировать железку под себя так, что каким бы крутым ни был античит, он не сможет заподозрить, что память читается сторонним устройством. Да, цены таких девайсов $10к+, но блогерычитеры-милионники могут себе позволить.
Не поверите, но за всю жизнь написал всё же больше кода на Си и С++, нежели на Расте.
называть неадекватами профессионалов лишь за то что они используют инструмент который вам не нравится
Да мне ваще параллельно на то, что кому нравится. И Си, и Плюсы, и Раст сам использую по мере надобности без лишних слов. А говорю лишь об упёртости и не желании смотреть в будущее, страхе смерти своего лампового Сишечки. Раст -- это же страшно, это для зумеров, его читать невозможно, а писать так вообще -- руки отсохнут!
Примерно как сравнить людей, кто боится летать самолётом и ездит поездом, убеждая всех вокруг, какие опасные и дорогие самолёты. Да, оба будут в одной и той же точке рано или поздно. Оба достигнут цели, но тот, кто летел на самолёте ещё успеет погулять, поспать, поработать, пока второй ещё катится по рельсам своего комфорта и стабильности, ковыряясь в дебагере, где у него там чего случилось.
Я искренне хочу услышать от людей, кто серьёзно взялся за Раст и с уверенностью может сказать, что технология гавно и не подходит для его задачи. Очень хотел бы посмотреть я на эту задачу и этих "профессионалов". Но обратных же примеров куча. Подавляющее большинство тех, кто взялся за Раст, теперь за уши от него не оттянуть =)
А уж право решать, кто тут быдло, оставлю вам, простите.
Это довольно абсолютные цифры. Мне кажется, не стоит их учитывать в отрыве от зрелости языка. Раст более-менее стабилизировался и получил популярность только к 2018-й версии, а это всего лишь 5 лет. Менее 5-ти лет стало достаточно для того, чтобы инертные топовые мировые гиганты, которые один надоедливый, всех бесящий баг могут фиксить годами, внезапно увидели в Расте потенциал и массово начали на нём писать свои проекты. Только эти факты дорогого стоят, чтобы судить об успешности технологии.
Гугл в конце 22-го года проводил исследование. С внедрением Раста количество уязвимостей упало на 25%, количество падений из-за повреждения памяти -- на 70%! А это десятки миллионов долларов в их масштабах. И сэкономленные нервы пользователям.
То, что это появилось в те времена, когда не было альтернатив, не говорит о том, что эти языки до сих пор незаменимы. Да, изучение нового требует ресурсов: времени, средств, остановки маховика инетрности и изменения направления парадигм мышления. Я с этим ни сколько не спорю, я спорю с конкретными формулировками этой ветки коментариев вида "С++ незаменим", "невозможно игры писать на чём-то ещё", "кроме Си и С++ ничего не нужно" и подобными риториками прошлого тысячелетия, когда был один язык, один компилятор и непреодолимое чувство творчества.
еще и разбираться как сторонние библиотеки подключить чтобы компилятор был доволен
У раста ffi-библиотеки любой сложности из коробки собираются и линкуются, ни с чем не нужно разбираться. Сам, когда несколько лет назад учил язык на низкоуровневом хобби-проекте, без проблем и бубнов встроил огромные проекты: язык Dart с его фреймворком Flutter. Сейчас же, с опытом, обернуть либу, для которой внезапно нет готового пакета, занимает пару часов.
никуда он от нас не денится, еще нашим внукам останется
В плане чтения кода на Си, я согласен, он будет жить ещё очень долго, но писать на нём уже мало кто решается.
Взять тот же Гугл, Майкрософт, Фейсбук, Cloudflare, Amazon. Откройте их крайние репозитории, начатые в течение последних 3 лет. Ни ОС, ни драйверов, ни системных утилит, ни реализаций стека протоколов, почти никто из них не начинал писать на Си. Зато референсные реализации того же WASM, WebGPU написаны на Раст. Ядро HTTP3, протоколы QUIC и WireGuard у Cloudflare реализованы на Раст. В Андроиде на Rust написаны стек Bluetooth, NFC, HAL, гипервизор. Новая гугловская KataOS полностью написана на Раст, включая ядро и драйверы, а в Fuchsia половина кода на нём уже. Майкрософт усиленно пилит биндинги для Windows SDK под Раст.
Не знаю, может быть я это замечаю только потому, что я плотно занимаюсь языком уже несколько лет, но по-моему тренды довольно показательны.
постоянно зависаю с интеграционными работами
Странно, по-моему мнению, тулчейн и экосистема Раста -- лучшее, с чем приходилось работать за всю кодерскую жизнь.
Перечисленные вами факты -- исключительно историческое наследие.
Я это написал, ответив на фразу "заменить их никак не получается". Вот мне и интересно, у кого не получается? У комментатора? У тех, кто не пробовал? Инертность, "трушность"? Так это тогда не проблема языка, а проблема тех, у кого не получается. Кто осилил закопать это гавно мамонта, у тех более чем получается. Ни один адекватный человек сейчас не начнёт новый проект на Си, если только не религиозный фанатик.
Всё, что осталось хорошего от Си, так это его универсальный ABI, который, кстати, тоже сложился в "стандарт" де-факто сугубо исторически. Остальное давно уже можно безболезненно закопать.
Не знаю, как в этих ваших столицах, но в Ростове-на-Дону за всё время существования сервиса ровно 2 (два) раза на моей памяти Ситимобил был дешевле ЯндексУберов. В других городах, где был ДиДи, тот был самым дешёвым, Яндексубер на втором месте, а Ситимобил всегда был самым дорогим. Совсем неадекватно дорогим, иногда в 2-2.5 раза!
Контингент водил в регионах у них тоже был а-ля вчера с зоны откинулся, сегодня таксовать поехал.
В универское время знал людей, которые там работали. Тогда они просто брали проекты на Апворке с некислыми рейтами, нанимали недавно закончивших универ студентов, платили им 10-20к деревянных в месяц. При этом, от работников даже не скрывали их рейт, что они на самом деле зарабатывают несколько тысяч долларов, а получают на шаурму и проезд туда-обратно.
Тех немногих, кто заподозревал неладное и уходил от рабовладельца на тот же апворк, кидали, не выплачивали остаток. В случае частых вопросов на тему "когда выплатят?", получали угрозы, типа если в себе так уверен, приезжай в офис, забери коль сможешь. А вы про какой-то ТК. Ну-ну =)
Шёл 2022-й год. Ничего не менялось. Если они до сих пор живы, значит спрос на подобные унижения у студентов до сих пор велик. Неужели в годы такого информационного изобилия все настолько отчаялись. Можно ж уже чуть ли не в ютубе учиться кодить теперь.
Примерно такой же использую в качестве роутера, только помощнее. i5-8365U, 4G, SSD 128G
С максимальным тюнингом под энергосбережение жрёт где-то 6.5Вт в Idle. Ну, то есть, даже когда гигабит через себя пропускает, он по сути в Idle находится, энергопотребление максимум до 7-8Вт повышается.
Да, оверкилл, но помимо роутера ещё используется в качестве "домашней лаборатории" под виртуалки, различные сервисы, разработку и т.п.
Возможно, современная ситуация получше, но когда пару лет назад сталкивался, из своих проектов максимум 10% мог собрать gnu тулчейном без бубна.
ПС. Сейчас погуглил. Похоже, что ситуация заметно лучше стала с появлением WLS, который явно поспособствовал развитию тулчейна. Во времена, когда я пытался, с этим был какой-то треш.
Да что ж всем так интересны сексуальные извращения.
Как я написал в соседней ветке, gnu toolchain был создан в винде исключительно для кросскомпиляции. 4 гигабайта диска настолько дорого стоят, чтобы тратить нервы на боль и страдания?
А также это нужно тем кто хочет использовать Rust но не имеет лицензии на MSVC.
Для проектов с открытым кодом или команд до 5 человек лицензия на MSVC не нужна, что покрывает большинство потребностей.
Если будет возможность слинковать статически, то не придётся. Например, HelloWorld слинковать можно.
Но в серьёзных проектах такого почти не встретится, потому что GNU ABI предполагает динамическую линковку по умолчанию. Множество либ вообще не предназначено для статики. Натрахаетесь со всякими PIC, релоками, и прочими радостями линковки.
Это всё -- если у вас нет рантайм ABI-bound взаимодействия, иначе -- много разнообразного секса будет.
o1-pro доступна в Pro-подписке.
Кэп
давно уже всё придумано, называется "нормализация Юникода", библиотека ICU, появилась в 1999 году
Аргументы, подобные вашим, обычно закрывают глаза на издержки, и хотят плюсов, мяса и вэлью. Но есть же очевиднейшие минусы, которые почему-то принято игнорировать в подобных доводах.
Я говорю про издержки от вечной борьбы с банальнейшими use after free, UB, dangling pointers, out of bounds access, race conditions и прочего, исправление чего занимает несоизмеримо большое время, которое можно потратить на написание нового кода, а не прикручивание протезов к отстреленным ногам. А тут даётся язык, у которого из коробки нет этих врождённых пороков, бери да пиши новый код, полное взаимодействие со старыми интерфейсами и ABI. Да, нужно заплатить небольшим количеством времени, мозгами пошевелить зачерствевшими, изучить что-то новое, и понять, насколько же проще живётся в языках этого вашего 2024-го года.
PS. Давно не работал на офисных работах и командах, где нет выбора инструментов разработки, а вот недавно решил залететь и глянуть, какая она сейчас эта офисная командная работа, где пишут на дедовских технологиях. И, чёрт возьми, как снова оказался в начале нулевых! Все те же болячки, все те же вечные баги, о существовании которых я уже забыл, самостоятельно выбирая инструмент для разработки. И самое страшное, что борьба с этими проблемами является нормой, а не чем-то лишним и непродуктивным. Люди настолько привыкли, что на Си ты пишешь 20% времени, а потом отлаживаешь 80%, что даже не осознают, что это давным давно не норма.
Стоит погуглить вам наверно. На Расте уже столько ОС, ядер, драйверов, гипервизоров, bare-metal прошивок написано на сегодняшний день, что давно никому ничего не нужно доказывать. Уже лет 5 назад язык был готов к этому. И с каждым днём становится всё удобнее.
Консервативные деды всегда тормозили прогресс. Ничего здесь нового нет. Любые долгие проекты с этим сталкивались, Линукс здесь не уникален.
Давно уж что читы, что античиты для топовых competition-игр прописались в гипервизоре. И ничего не нужно пробрасывать, "полноценный" kvm излишен. Продвинутые форумные скрипт-киддисы
пишуткачают с гитхаба элементарные "hello world"-гипервизоры резидентного драйвера дырявого UEFI, ОС грузится напрямую на железе с маппингом в гипервизор 1-к-1, и творится вакханалия а-ля БСОДы, ошибки загрузки системы и прочий треш.С UEFI проблема намного серьёзнее дырявых дров винды, т. к. вендоры исправляют уязвимости в своих реализациях UEFI приблизительно никогда.
PatchGuard точно так же обходится в процессе загрузки ядра, когда средствами гипервизора составляется карта процессов, потоков и замапленных регионов памяти ОС. Так сложнее, потому что надо потратить время, чтобы разбираться в работе ОС и гипервизорах, а нагибать нубов надо прямо сейчас.
Гипервизоры это ещё полбеды. Существуют приватные коммерческие читы для "профессиональных стримеров", представляющие из себя аппаратный DMA-модуль с программной обвязкой-фреймворком, которая может скастомизировать железку под себя так, что каким бы крутым ни был античит, он не сможет заподозрить, что память читается сторонним устройством. Да, цены таких девайсов $10к+, но
блогерычитеры-милионники могут себе позволить.А весь багаж вариаций UB из С++ тоже входит в BNF? :D
Не поверите, но за всю жизнь написал всё же больше кода на Си и С++, нежели на Расте.
Да мне ваще параллельно на то, что кому нравится. И Си, и Плюсы, и Раст сам использую по мере надобности без лишних слов. А говорю лишь об упёртости и не желании смотреть в будущее, страхе смерти своего лампового Сишечки. Раст -- это же страшно, это для зумеров, его читать невозможно, а писать так вообще -- руки отсохнут!
Примерно как сравнить людей, кто боится летать самолётом и ездит поездом, убеждая всех вокруг, какие опасные и дорогие самолёты.
Да, оба будут в одной и той же точке рано или поздно. Оба достигнут цели, но тот, кто летел на самолёте ещё успеет погулять, поспать, поработать, пока второй ещё катится по рельсам своего комфорта и стабильности, ковыряясь в дебагере, где у него там чего случилось.
Я искренне хочу услышать от людей, кто серьёзно взялся за Раст и с уверенностью может сказать, что технология гавно и не подходит для его задачи. Очень хотел бы посмотреть я на эту задачу и этих "профессионалов". Но обратных же примеров куча. Подавляющее большинство тех, кто взялся за Раст, теперь за уши от него не оттянуть =)
А уж право решать, кто тут быдло, оставлю вам, простите.
Это довольно абсолютные цифры. Мне кажется, не стоит их учитывать в отрыве от зрелости языка. Раст более-менее стабилизировался и получил популярность только к 2018-й версии, а это всего лишь 5 лет. Менее 5-ти лет стало достаточно для того, чтобы инертные топовые мировые гиганты, которые один надоедливый, всех бесящий баг могут фиксить годами, внезапно увидели в Расте потенциал и массово начали на нём писать свои проекты. Только эти факты дорогого стоят, чтобы судить об успешности технологии.
Гугл в конце 22-го года проводил исследование. С внедрением Раста количество уязвимостей упало на 25%, количество падений из-за повреждения памяти -- на 70%! А это десятки миллионов долларов в их масштабах. И сэкономленные нервы пользователям.
То, что это появилось в те времена, когда не было альтернатив, не говорит о том, что эти языки до сих пор незаменимы.
Да, изучение нового требует ресурсов: времени, средств, остановки маховика инетрности и изменения направления парадигм мышления. Я с этим ни сколько не спорю, я спорю с конкретными формулировками этой ветки коментариев вида "С++ незаменим", "невозможно игры писать на чём-то ещё", "кроме Си и С++ ничего не нужно" и подобными риториками прошлого тысячелетия, когда был один язык, один компилятор и непреодолимое чувство творчества.
Например? Очень хотелось бы услышать, что есть такого в С++ особенного для геймдева?
https://docs.rust-embedded.org/book/
https://github.com/rust-embedded/awesome-embedded-rust
У раста ffi-библиотеки любой сложности из коробки собираются и линкуются, ни с чем не нужно разбираться. Сам, когда несколько лет назад учил язык на низкоуровневом хобби-проекте, без проблем и бубнов встроил огромные проекты: язык Dart с его фреймворком Flutter. Сейчас же, с опытом, обернуть либу, для которой внезапно нет готового пакета, занимает пару часов.
В плане чтения кода на Си, я согласен, он будет жить ещё очень долго, но писать на нём уже мало кто решается.
Взять тот же Гугл, Майкрософт, Фейсбук, Cloudflare, Amazon. Откройте их крайние репозитории, начатые в течение последних 3 лет. Ни ОС, ни драйверов, ни системных утилит, ни реализаций стека протоколов, почти никто из них не начинал писать на Си.
Зато референсные реализации того же WASM, WebGPU написаны на Раст. Ядро HTTP3, протоколы QUIC и WireGuard у Cloudflare реализованы на Раст. В Андроиде на Rust написаны стек Bluetooth, NFC, HAL, гипервизор. Новая гугловская KataOS полностью написана на Раст, включая ядро и драйверы, а в Fuchsia половина кода на нём уже. Майкрософт усиленно пилит биндинги для Windows SDK под Раст.
Не знаю, может быть я это замечаю только потому, что я плотно занимаюсь языком уже несколько лет, но по-моему тренды довольно показательны.
Странно, по-моему мнению, тулчейн и экосистема Раста -- лучшее, с чем приходилось работать за всю кодерскую жизнь.
Перечисленные вами факты -- исключительно историческое наследие.
Я это написал, ответив на фразу "заменить их никак не получается". Вот мне и интересно, у кого не получается? У комментатора? У тех, кто не пробовал? Инертность, "трушность"? Так это тогда не проблема языка, а проблема тех, у кого не получается.
Кто осилил закопать это гавно мамонта, у тех более чем получается. Ни один адекватный человек сейчас не начнёт новый проект на Си, если только не религиозный фанатик.
Всё, что осталось хорошего от Си, так это его универсальный ABI, который, кстати, тоже сложился в "стандарт" де-факто сугубо исторически. Остальное давно уже можно безболезненно закопать.
Что это за области такие, где нельзя заменить Си? На полке в музее?
Не знаю, как в этих ваших столицах, но в Ростове-на-Дону за всё время существования сервиса ровно 2 (два) раза на моей памяти Ситимобил был дешевле ЯндексУберов. В других городах, где был ДиДи, тот был самым дешёвым, Яндексубер на втором месте, а Ситимобил всегда был самым дорогим. Совсем неадекватно дорогим, иногда в 2-2.5 раза!
Контингент водил в регионах у них тоже был а-ля вчера с зоны откинулся, сегодня таксовать поехал.
Это известная в ростовских кругах старая галера.
В универское время знал людей, которые там работали. Тогда они просто брали проекты на Апворке с некислыми рейтами, нанимали недавно закончивших универ студентов, платили им 10-20к деревянных в месяц. При этом, от работников даже не скрывали их рейт, что они на самом деле зарабатывают несколько тысяч долларов, а получают на шаурму и проезд туда-обратно.
Тех немногих, кто заподозревал неладное и уходил от рабовладельца на тот же апворк, кидали, не выплачивали остаток. В случае частых вопросов на тему "когда выплатят?", получали угрозы, типа если в себе так уверен, приезжай в офис, забери коль сможешь. А вы про какой-то ТК. Ну-ну =)
Шёл 2022-й год. Ничего не менялось. Если они до сих пор живы, значит спрос на подобные унижения у студентов до сих пор велик. Неужели в годы такого информационного изобилия все настолько отчаялись. Можно ж уже чуть ли не в ютубе учиться кодить теперь.
А впрочем, с хера ли бы оно поменялось...
Примерно такой же использую в качестве роутера, только помощнее. i5-8365U, 4G, SSD 128G
С максимальным тюнингом под энергосбережение жрёт где-то 6.5Вт в Idle. Ну, то есть, даже когда гигабит через себя пропускает, он по сути в Idle находится, энергопотребление максимум до 7-8Вт повышается.
Да, оверкилл, но помимо роутера ещё используется в качестве "домашней лаборатории" под виртуалки, различные сервисы, разработку и т.п.
Возможно, современная ситуация получше, но когда пару лет назад сталкивался, из своих проектов максимум 10% мог собрать gnu тулчейном без бубна.
ПС. Сейчас погуглил. Похоже, что ситуация заметно лучше стала с появлением WLS, который явно поспособствовал развитию тулчейна. Во времена, когда я пытался, с этим был какой-то треш.
Да что ж всем так интересны сексуальные извращения.
Как я написал в соседней ветке, gnu toolchain был создан в винде исключительно для кросскомпиляции. 4 гигабайта диска настолько дорого стоят, чтобы тратить нервы на боль и страдания?
Для проектов с открытым кодом или команд до 5 человек лицензия на MSVC не нужна, что покрывает большинство потребностей.
Если будет возможность слинковать статически, то не придётся. Например, HelloWorld слинковать можно.
Но в серьёзных проектах такого почти не встретится, потому что GNU ABI предполагает динамическую линковку по умолчанию. Множество либ вообще не предназначено для статики. Натрахаетесь со всякими PIC, релоками, и прочими радостями линковки.
Это всё -- если у вас нет рантайм ABI-bound взаимодействия, иначе -- много разнообразного секса будет.