Опубликован релиз языка программирования общего назначения Rust 1.63, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки)...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=57628
Язык полным ходом развивается, у карбона нет шансов что-то противопоставить такому лаконичному языку как Rust.
Основные преимущества языка Карбон над всеми другими языками:
✔ 1) быстрый
✔ 2) безопасный
s/Карбон/Си
Раст начиная с этой версии 1.63 достиг точки сингулярности и дальнейший рост его безопасности и надёжности будет набирать колоссальные масштабы
Rust как инфляционная модель вселенной - раздувается.
> Язык полным ходом развивается, у карбона нет шансов что-то противопоставить такому лаконичному
> языку как Rust.А в чём преимущество Раста? Я просто немного в танке.
Он быстрый как гепард и надежный как слон. Больше он ничем не выделяется из массы языков.
исчерпывающий ответ
Гепард (королевский?) быстрый на очень небольшом интервале времени. А в чём надёжность слона, поясните плз? Он более увесист, чем надёжен.
Тяжесть — это надёжно
Тяжелый значит надежный.Классику надо знать.
// b.
кто какой перевод слышал/запомнил ¯\_(ツ)_/¯
Вы забыли уточнить, что Rust - еще и очень полезный язык. Так как он вызывает у программистов рвотный рефлекс, что не дает программистам набрать лишний вес, а значит - продляет жизнь программиста.
слон во время гона очень надежен)
Проще и удобней, чем C++, надёжней, чем C, на теряя при этом в производительности и легковесности получающихся бинарников.
Есть и недостатки, конечно. Тут чуть ниже человек ссылку привёл на проект Oxidation. Там можно подробнее почитать.
>Проще и удобней, чем C++Нет.
>надёжней, чем CДа.
>на теряя при этом в производительности и легковесности получающихся бинарников.Нет и нет.
Нет
Убедил (нет) :)))
Ну нет так нет
На нет и суда нет.
Нет. Есть.
Проще и удобнее ? Вы это серьезно ? С одним только наркоманским синтаксисом он идет на хрен
Что конкретно вам не нравится в синтаксисе Rust по сравнению с синтаксисом C++? Мне часто приходится читать подобные высказывания, но когда доходит до предметного разбора, обычно оппонент исчезает.
Rust НАМНОГО проще C++. На освоение Плюсов уходит до пяти лет. На освоение Rust - до полугода. Некоторые концепции могут показаться необычными, но такое про любой ЯП можно сказать, наверное.
Инструментальная среда по умолчанию куда удобней, чем в C++, где её приходится собирать самому из разрозненных компонентов. Поэтому да, Rust УДОБНЕЙ в этом плане.
> Rust УДОБНЕЙ в этом плане.Именно поэтому на опеннете его так не любят. Удобство в использовании компьютера приводит к потере магического ореола и превращает интересного мужчину с необычной перспективной профессией в странного чувака в ужасном свитере, с перспективой стать безработным. Так что ты аккуратнее с такими заявлениями, неровен час камнями забьют^W^Wминусов напихают.
foo<> vs foo::<> а теперь наблюдаем за слезами и оправданиями
> foo<> vs foo::<> а теперь наблюдаем за слезами и оправданиямиА ты смешной. Зачем оправдываться перед неучами?
https://blog.reverberate.org/2013/08/parsing-c-is-literally-...
https://users.rust-lang.org/t/turbofish-operator-why-is-it-a...
Карбон современнее и безопаснее чем Раст. Будущее за Карбоном
>у карбона нет шансов что-то противопоставить такому лаконичному языку как Rust."Переносимость с существующим кодом на C++, включая наследование классов и шаблоны."
Без этого у Rust нет шансов в юзерспейсе.
Почему до сих пор на раст не переписан Фаерфокс?Переписывание Хрома на Карбон произойдет по мановению волшебной палочки.
Главное, не задумываться где эта палочка побывает до мановения.
Главное, где она окажется после мановения.
https://wiki.mozilla.org/Oxidation
Потому что дефективные манагеры поувольняли программистов из мазилы, остались только дезигнеры перерисовывающие вкладки раз в 2 года.
Потому что никто не будет переписывать огромную кодовую базу от нефиг делать - нет на это времени и денег. Хотя если кто-то жирно проспонсирует, то, я думаю, они бы это сделали.
> Хотя если кто-то жирно проспонсирует, то, я думаю, они бы это сделали.Сделают, на Carbon
Rust лучший в мире язык программирования. Другое не связанное послание заключается в том, что Rust лучший язык программирования потому, что его ругают на Opennet. В третьих на Opennet зря ругать не станут.
Я бы уточнил, всё-таки. Не лучший в мире вообще, а лучший в мире в своей области. И область эта не так уж широка: процентов двадцать-двадцать пять от общего объёма программирования. Разумеется, явление временное. Прогресс не стоит на месте.
Я не догадывался, что вы так высоко оцениваете область опеннета.В 20-25% от мировой!
Причём здесь опеннет? Я имел ввиду разработку требовательных к скорости работы приложений.
Нету у раста никакой ниши и не предвидится.
Требовательные к скорости приложения уже лет 50 пишут на С или асме.
Ну там больший контроль за безопасностью и всё такое. На си а асме легче выстрелить себе в ногу с безопасностью этой вашей, и иногда такое чувство, что многие уязвимости состоят из переполнений и т.п.
Видимо требовательные к скорости и безопасности типа серверов и штук типа браузера, ну и других клиентов.
Толку то этого якобы контроля, если язык маргинальный и ориентирован не на взаимодействие с человеком а эту самую безопасность.
Потому что фура возит грузы, а уже во вторую очередь чью-то попу.
Фурой управляет человек, и органы управления фурой мало отличаются от органов управления поповозкой.
Кресты и гниль превращают поповозку в спейсшатл в плане входного порога, при этом оносительно обычного С оно летать не начинает, всё так же ездит, но заявлено что лучше держит дорогу на круизе.
Из нововведений 100500 новых рычагов и кнопок:
- кнопка поворота в туман
- кнопка покорота ночью
- кнопка поворота ночью когда дождь
- кнопка поворота ночью когда снег
- тп....И то что гниль тащат везде означает что теперь все должны стать пилотами спейсшатлов чтобы возить всё тот же грузовик.
> и ориентирован не на взаимодействие с человекомЭто как? Язык у вас что-то спрашивает, а вы ему что-то отвечаете? Интересный у вас способ программирования, однако :)
вероятно имело ввиду что часто приходится читать чужой код и понятный не перегруженный синтаксис тут хорошо помогает
> и ориентирован не на взаимодействие с человекомЭто как? Язык у вас что-то спрашивает, а вы ему что-то отвечаете? Интересный у вас способ программирования, однако :)
>> и ориентирован не на взаимодействие с человеком
> Это как? Язык у вас что-то спрашивает, а вы ему что-то отвечаете?
> Интересный у вас способ программирования, однако :)Так то язык действительно направлен на взаимодействие с людьми. Это интерфейс между людьми в какой-то степени.
Ну раз опеннетный эксперт говорит, как я могу не поверить. :)Гугл, Амазон, Фейсбук, Майкрософт, Дропбокс, да тот же Линукс и прочие крупные компании с мировой известностью, опросы на StackOverflow - это всё фейки, они не работают с Растом, и никогда не будут. Ох уж эти Иваны...
Ну да мильёнакм мух виднее.
Особенно МС, такой знатный визионер.
Да! Куда уж вышеперечисленным конторам (мильйону мух) до Opennet-ного визионера. С этим невозможно спорить. :)
Он и не может быть лучшим в мире, уже есть Carbon
Карбон есть пока только на бумаге. Я вообще не против появления достойного конкурента Расту. Но пока, увы.
Гугл явно обозначил Carbon как новый приоритет, значит, Раст, прощай. Увы.
В каком месте он это обозначил, не покажете?Заодно предлагаю ознакомиться вот с этой ссылкой: https://foundation.rust-lang.org/members/
Google - платиновый член.
> Google - платиновый член.какое завуалированное оскорбление
о чем я и говорю, происходит зомбирование через постоянное упоминание одного и того же при каждом поводе. Реклама да и только."Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки)."
Не будьте быдлом, думайте своей головой.
void указатели и type cast, - что может быть лучше?
> void указатели и type cast, - что может быть лучше?Это называется "стирание типов".
В плюсах, при желании, можно эмулировать стирание типов. Естественно безопасное.
Вот стало интересно, в rust'е такое возможно?
Ещё один язык без шансов уместится в голове обычного человека.
Кресты себя закапывают и эти туда же.
Тут надо понимать, о каком обычном человеке идёт речь. Если этот обычный человек далёк от написания системных высокопроизводительных приложений, то да, Rust не для него. Если же сравнивать с Плюсами, то Rust намного проще, хотя, конечно, не такой простой, как Си.
Про системные высокопроизводительные приложения - это поют евангелисты раста, на практике все подобные приложения написаны на обычном С.Я ещё раз повторю: развестистый синтаксис не уместится в голове, в лучшем случае туда влезет топ 20-50 и остальное на уровне "кажется это называется примерно так и читал я про это вон там".
Если вы невидите что происходит в программировании посмотрите на "естественные языки".
Все эти 100500 иероглифов мало кто знает, юзают даже там базовый набор.
А англо говорящие не парятся, им ихних 20+ букв хватает для выражения всего.
В итоге любой знающий скромный английский алфавит способен прочитать и записать любое слово, это умение приобретается на уровне начальной школы и в дальнейшем развитии особо не нуждается.
А иероглифы можно всю жисть изучать, и потом фапать что одним иероглифом целое предложение заменяется - что есть ровно тот самый синтаксический сахар.
Вы математические теоремы ставите и доказываете тоже на естественном языке?
ну да, хотя Рассел с Вайтхедом попытались воплотить вашу идею, 3000 страниц на формальном языке.
Для математики используется небольшое дополнение в виде аперандов и наделение доп смыслом отдельных букв.
То что делает раст и кресты это попытка упростить такие формулы вводя ещё больше букв и сочетаний букв чтобы крыть в них какие то куски и типа сократить запись.
Это работает когда такого сокращения мало, а дальше это становится не возможно удержать в голове.
Похоже вы любитель тысячи раз писать begin и end, тогда как скобочки и пишутся, и воспринимаются быстрее и проще. Вот сравните:
collection.iter().map(|item| item.id)
collection access method iter begin args end args access method map begin args lambda begin args item end args begin item access field id end end argsЕсли вам второе читается проще.., то я даже не знаю, что вам сказать. Не заставляйте страдать других.
Насчёт скобок - не по адресу, меня они вполне устраивают.
А что не устраивает-то?
Кванторы это лишь ошибочное изложение силлогизмов в 19 веке.
кек, поясните
"В итоге любой знающий скромный английский алфавит способен прочитать и записать любое слово, это умение приобретается на уровне начальной школы и в дальнейшем развитии особо не нуждается."Как раз английский что алфавит, что язык - очень плохой пример. Очень большой разрыв между тем как пишется и как читается, и во многих случаях нет правил - надо просто запомнить. Хотя если вы остаетесь в рамках небольшого подмножества, а-ля "пиджин инглиш", то да. Тему необходимости что замены алфавита, что обновления грамматики языка педалируют с середины XIX века, была масса проектов, и государственных, и частных, но очень велика сила инерции. Агату Кристи читать пожалуй хватит, а вот неадаптированных Теккерея с Диккенсом - нет, тем более - вслух или на слух.
PS. В XX веке было несколько кардинальных "чисток" языков с целью приведения "сложившегося" к "реальности", но все они были связанны с серьезными изменениями в обществе - Китай (после революции 1912), Турция (реформы Ататюрка после 1МВ), Россия (после революций 1917 года, хотя самый первый проект реформы был разработан еще при Николае I), Греция (после свержения "черных полковников" в 70-е)
Да вообще пофиг как там пишется/читается.Пример был про то как одни используют маленький базовый набор букв для выржения всего против тех кто на каждое слово/словосочетание/предложение изобретает свои отдельные буквы.
Ну так и в Rust набор ключевых слов сильно ограниченный. Не понимаю, чем вы недовольны всё-таки
Вы новость прочитайте, кто будет всё это помнить что там перечислено?
Там перечислен набор API из стандартной библиотеки. Но причём здесь ключевые (зарезервированные) слова, ссылку на которые я приводил несколько раз специально для вас?
По себе людей не судят. Для ядра пишут, сходи на redox посмотри, из системных почти весь binutils есть. Можешь посмотреть Servo, исходники есть, как-то написали и достаточно много. Но это конечно не ты неосилятор, а rust плохой) так и до js в десктопе докатились.
У вас странное представление о "системных высокопроизводительных приложениях".
Серво - это кусок браузера.
бинутилс - набор утилит для разработчиков.
редокс - поделка фриков.Если бы не фаерфокс у меня бы и раста в системе не было.
Всё остальное написаное на гниле можно выкинуть и никто не заметит.
Да что ж такое. Вас в Гугле забанили?
Мне наплевать на тех кто его юзает, на их вес и "авторитет".
Зачем же выше вы несёте откровенную бредятину, если вам действительно наплевать?
Ох уж эта подростковая избирательность мышления. Эти авторитеты, а те нет. Почему? Потому что я так скозал! И весь мир мне не указ!Эх, где мои шестнадцать лет…
Вам бы, прежде чем писать подобные тексты, ознакомиться с количеством ключевых слов в Расте.
Вот вам ссылка, если в Гугл не смогёте сами: https://doc.rust-lang.org/reference/keywords.htmlВполне себе компактный синтаксис. Хотя матрёшки из вложенных типов порою доставляют, с этим соглашусь. Но при некоторой привычке вполне читаемо.
На тему языков естественных вам лучше молчать, а не говорить. Англоговорящие очень часто неспособны писать грамотно в силу огромного количества исключений в правилах. Бернард Шоу, по слухам, хорошо пошутил когда-то на эту тему. Можете погуглить (или пояндексить, если вам эта система поиска ближе).
Читаемо - а писать то как?)Грамотно писать - это к графоманам, задача естественных языков не соблюдать какие то там правила а доносить информацию, и наличие ошибок этому мало мешает.
> Читаемо - а писать то как?)Руками, управляемыми головой, конечно. Ну можно ещё диктовать ртом пробовать, но тоже в осознанном состоянии.
> Грамотно писать - это к графоманам
Вспоминается детский мультфильм советских времён. Казнить нельзя помиловать. А ну-ка поставьте не там запятую.
> задача естественных языков не соблюдать какие то там правила а доносить информацию, и наличие ошибок этому мало мешает
Языковые нормы затем и придумывают, чтобы каждый встречный не изобретал свой собственный язык, дабы не увеличивать энтропию.
Казнить не миловать. а тут как быть? Ломать - не строить :)
>Англоговорящие очень часто неспособны писать грамотнотолько не стоит забывать, что язык придумал неграмотный по определению человек.
Нужно больше маргинальных языков.
Ядро все стерпит, Гугл сказал надо - значит надо
Печально что у тебя такая маленькая голова((
Всё таки Rust - переходный язык.Он займёт свою нишу. Но он ОЧЕНЬ сложный ментально и семантически язык. И это абсолютно ненужная сложность.
Вместо алгоритмов, которые сами по себе простые, на них навешивается дикая помесь каких-то owned/borrowed/ref/arc типов. Какие типы имеют runtime значения, а какие только для компилятора?
И уже вообще непонятно как это внутри работает, какой memory layout и т.п.
Появятся более продвинутые языки, но потом.
Сейчас лучшая надежда - это Zig.
Очень классный и крутой язык.
Если в целом понимаешь парадигму языка, то ничего сложного там нет. Выучить пару типов - на так уж сложно, их там немного. Memory layout тоже довольно простой, если подумать. То, что в стеке - то для компилятора, остальное - runtime, что логично.
Возможно, проблемы могут возникнуть при написании каких-то сложных структур данных, имеющих циклическую природу. Но при некоторой практике к этому можно привыкнуть.
А так - да, хороший язык тот, на котором ты думаешь. Но компьютерам пока до этого уровня очень далеко.
Зачем это всё нужно когда есть С!?
С решает куда больше чем раст, область применимости шире, читаемость выше, либ полным полно, людей тоже.Я вообще у себя в коде подсчёта ссылок избегаю и обхожу это архитектурно.
Память тоже на каждый чих не выделяю, а если выделяю то не забываю и освобождать.
На этом половина или больше киллерфич раста отвалилась.
ну-ка покажи свой гитхаб, посмотрим на твои "архитектурные решение"
зы. inb4 ничего не покажешь под банальным предлогом хейтерства гитхаба (разумеется, гитхаб тут не важен, выжен код)
https://github.com/rozhuk-im/
Как видим, сишники тоже делают ошибки (кто бы мог подумать). Собрал ваш проект строго по инструкции.$ src/msd -c msd.conf
setrlimit(RLIMIT_MEMLOCK) error: 1 - `�J��
setpriority() error: 13 - `�J��Видим какой-то мусор из памяти. Уже интересно :)
strerror_r(error, err_descr, sizeof(err_descr));
fprintf(stderr, "setrlimit(RLIMIT_MEMLOCK) error: %i - %s\n",
error, err_descr);То же самое видим по setpriority(). Ок, курим мануал по strerror_r:
int strerror_r(int errnum, char *buf, size_t buflen);
/* XSI-compliant */
char *strerror_r(int errnum, char *buf, size_t buflen);
/* GNU-specific */Вот это уже очень интересно.
The GNU-specific strerror_r() returns a pointer to a string containing the error message. This may be either a pointer to a string that the function stores in buf, or a pointer to some (immutable) static string (in which case buf is unused).
Всё, дальше читать не нужно. На скорую руку фиксим код:
const char *descr = strerror_r(error, err_descr, sizeof(err_descr));
fprintf(stderr, "setrlimit(RLIMIT_MEMLOCK) error: %i - %s\n",
error, descr);Аналогично делаем для setpriority(). Компилим и видим:
$ src/msd -c msd.conf
setrlimit(RLIMIT_MEMLOCK) error: 1 - Operation not permitted
setpriority() error: 13 - Permission deniedНу что, Rust не нужен, да? Pull request сами себе напишите, чтобы не было стыдно принимать помощь из рук каких-то запомоенных хрустоманов, которые ничерта в программировании не понимают.
О! Наконец-то Си программист который (говорит что) умеет работать с памятью!
Срочно просим вас присоединиться к команде ядра линукс. А то там собрались рукoжопы, из-за которые постоянные проблемы. Про последние можете почитать тут https://www.opennet.dev/opennews/art.shtml?num=57622Отправляешь свое резюме на kernel.org
Хоть бы новость ту прочитал бы.Там нет проблем с памятью.
Там же проблема сложных связанных структур. Одна структура ссылалась на другую - уже удаленную.
> обращению к освобождённой области памяти после удаления данной таблицы
> остаётся в списке, несмотря на очистку выделенной для хранения памятиЭто и называется проблемы в memory management))
Умеет ровно настолько, насколько ему позволяет компилятор, как и у всех сишников. См. код выше. Компилятор молча схавал, что дают, и даже не поперхнулся на попытке распечатать int как char*. Таких багов в дикой природе - миллионы.
> Зачем это всё нужно когда есть С!?Затем, что C морально устарел и перестал в достаточной мере справляться с теми задачами, которые ставятся перед сложными программами в 21-м веке. В этом всё дело. 70% ошибок в софте на C - из-за плохого (никакого) управления памятью. Не только ЯП в этом грешен, а ещё и убогое аппаратное обеспечение, которое функционально замерло в развитии лет надцать назад. Но надо же с чего-то начинать. Rust - одна из попыток. Насколько удачная - покажет время.
> Я вообще у себя в коде подсчёта ссылок избегаю и обхожу это архитектурно.
На вас ведь свет клином не сошёлся, правда? И вам лично Rust никто не навязывает. Продолжайте писать на C.
>70% ошибок в софте на C - из-за плохого (никакого) управления памятью.Вообще не ошибок, а эксплуатируемых уязвимостей. И не 70% а 75%.
Очнитесь уже.
Для того с чем С не справляется уже лет 20 придуманы другие языки, всякие пхп, питоны, джавы, луа и прочие.Мне лично раст навязывают бешанные евангелисты которые его пихают где только могут в уже существующие проекты.
> Для того с чем С не справляется уже лет 20 придуманы другие языки, всякие пхп, питоны, джавы, луа и прочие.Повторюсь, потому что с первого раза, я заметил, до вас редко доходит. В текущей нише (область системного программирования, высоконагруженного софта и т.п.) C уже не справляется. И не потому, что программисты - идиоты. И не потому, что культуры разработки нет. А потому, что в C есть куча серьёзных недоработок (слабая типизация, ручное управление памятью), которые не позволяют писать СЛОЖНОЕ СОВРЕМЕННОЕ (специально для вас эти слова выделил) программное обеспечение с должным качеством. Не помогает при этом ничего - ни линтеры, ни санитайзеры, ни культура разработки, ни бог знает что ещё вы тут можете привести. C - изначально дефектный ЯП. Его до сих пор можно использовать, но это как закручивать шурупчики вручную, когда полуавтоматический шуруповёрт - обыденная повседневность: результат, возможно, будет тем же (если повезёт), но времени будет угроблено не в пример больше.
> Мне лично раст навязывают бешанные евангелисты которые его пихают где только могут в уже существующие проекты.
В чём это проявляется?
Лицемерием попахивает, учитывая что первое, что делают изучающие Rust - читают о том, как подключать и взаимодействовать с Сишными библиотеками. Почему бы не создавать проекты исключительно на Rust ради соответствия всем требованиям безопасности? И да, что такое "СЛОЖНОЕ СОВРЕМЕННОЕ"? Вся ваша речь - это общие фразы без какой-либо конкретики. Тоже самое можно будет про Карбон или Котлин или Go начать говорить, совершенно голословно, а судьи кто?
Судя пото тому что я вижу раст писали контуженные.
Контузия у них случилась на производстве браузера с кучей легаси кода.Вместо того чтобы привести в порядок кодовую базу, может даже выкинуть кресты и написать на понятном Си без подводных камней они бросились писать язык который за них будет считать рефы на объектах и делать прочую черновую и подчас не нужную работу.
Зиг никакая не надежда, просто очередную кучку прогев в гугле задрало прогать всякий гуглотреш и они решили пострадать хернёй.
Zig в миллион, в миллиард раз лучше и эффективнее чем С.Во-первых, он гораздо, на порядок более низкоуровневый, чем С. Он быстрее чем С. Он обгоняет его во всём.
Это как сравнивать обмазанную говном повозку со впряженной старой подыхающей клячей, и шикарный внедорожник с кондиционером.
Я ходил на сайт и ничего подобного там не заявлено.
Да это один и тот же сумасшедший, сначало про карбон спамит, теперь про зиг.
Смотрите на стиль написание, заметите сходства.
Там какой-то дурачок местный про Carbon пишет из воинов супротив Rust-а.Я лишь свой опыт описываю. Благо в своё время пару лет писал на С.
1. Можно сделать unrolling конкретного цикла (inline for, inline while).2. Поддерживается SIMD в языка (тип Vector)
3. Можно изменить calling convention для конкретной функции
4. Можно вставлять ассемблерный код
5. Можно отключать padding для структур и их layout становится детерминированным (packed structs)
7. Нету типа "строка" (т.к. строки это просто набор байт и имеют разную кодировку).
8. Отличная интероперабельность с C из коробки
9. Можно задавать align для типа (структуры, выделенного куска памяти и т.п.; С этого не умеет и ничего об align не знает)
10. @fieldParentPtr - Given a pointer to a field, returns the base pointer of a struct. Как это сделать в С?
11. Можно получить frame функции - @frame - This function returns a pointer to the frame for a given function.
И ещё много того, чего С и не снилось.
Про то что Zig быстрее С и генерирует лучше код и вообще заточен на максимальные оптимизации - это не документацию надо читать, а pull request-ы и сравнения генерируемого кода.
Это всё либо доступно в си либо не очень то и нужно.
Ну да, ну да. Такого ответа я и ожидал.И где же это доступно в С? Хотелось бы по пунктам.
В С большинство из этого нет и никогда не будет. Можно какие-то вещи сделать используя нестандартные фичи компилятора. Но к С это отношения никакого не имеет.
И да, это всё очень нужно чтобы писать по-настоящему низкоуровневый и по-настоящему быстрый код.
Там ещё есть куча всего интересного.
Направленного на производительность, чего в С нет.
Про корректность и сравнивать нечего.
Zig намного намного лучше и безопаснее чем С.
Доступно в С означает что написано.
Это не означает что это втащили в сам С.
Этого вполне достаточно.
Ну-ка, как работать с direct i/o где память требует выравнивания 512?Ах...в С этого сделать нельзя и можно передать память с неправильным выравниванием. И всё успешно скомпилируется.
Какая печаль :))) Какой "низкоуровневый" и "безопасный" язык С.
Ответ очень простой: написать аллокатор или использовать имеющися.
Не нужно тащить это в язык.
Давайте посравниваем C с ассемблером. Любой программист на ассемблере может задать вам тот же вопрос - зачем эти абстракции в C, зачем тащить это в язык? Просто поразмыслите на досуге. Абстракции призваны упрощать жизнь. Если они бесплатны, то почему бы и не притащить их в язык?
Любой пограмист на асембллере знает ответ: ради портабельности/переносимости.
Кроме того подмножество С значительно меньше подмножества ассемблера.
Отлично. С обеспечивает переносимость и удобство за счёт своих абстракций. То есть, увеличивает производительность труда в конечном счёте. Те же выводы справедливы и по отношению к другим абстракциям в других ЯП.
>Абстракции призваны упрощать жизнь.посмотрел я на абстракцию присваивания int a = 0,и не понял, где мой нолик будет лежать, в регистрах, стеке, куче и т. д. и в итоге ни где не лежит, кхммм.
Почти всё поддерживается gcc в си. Плюс сишные циклы можно автоматом распараллелить через OpenMP или вообще выгрузить на GPU, а зиг? https://gcc.gnu.org/wiki/Offloading
"шикарный внедорожник с кондиционером" может оказаться паркетником
Сравнивть повозку с клячей?
А внедорожник сравнивать с кондиционером?Ваш ум, батенька, не знает формальных границ!
> Судя пото тому что я вижу раст писали контуженные.Вы точно туда смотрели? И со зрением у вас всё в порядке?
Что из перечисленного ниже вам кажется не заслуживающим внимания?
1. Строгая типизация.
2. Поддержка Юникода из коробки.
3. Автоматическое управление памятью с нулевыми накладными расходами.
4. Безопасные нити (threads).
5. Модули.
6. Встроенные макросы.
7. Современная инфраструктура.
Зиг действительно похож на Си сделанный правильно (Rust в это же время пытается перенять на себя Си++). Никаких неоднозначных вещей и довольно низкий порог входа, для выделения памяти в библиотеках принято передавать аллокатор благодаря чему даже стандартную библиотеку можно портировать крайне свободно и на более редком железе, компиляцию и зависимости декларативно описываешь в build.zig на этом же языке, компиляция не занимает минуты и не порождает монстров (бинарники сравнимы размером с бинарниками на си), при этом и кодом на Си нет никаких проблем связать программу, вместо макросов вычисления на этапе компиляции, что гораздо более понятно и мощно (попробуйте для сравнения найти код для format строки в Zig и Rust) и удобная кросскомпиляция откуда угодно куда угодно.При этом этот же язык независим от корпораций, в нем нет агрессивной рекламы, довольно распределенное сообщество.
Наверное он скорее будет потихоньку набирать обороты. К примеру не так давно выпустили bun.sh, что работает гораздо лучше nodejs и deno (написанном на Rust), баги исправляются. Многие проекты на Си (и компании) потихоньку добавляют файлик build.zig к себе, чтобы без задней мысли делать zig build и получать выход (хотя можно и кучу опций сделать).
А если кто-то думает на каком языке написать свои проекты, то думаю этот крайне перспективен и при этом вроде бы огромный простор того чего ещё можно написать или хотя бы сделать биндинги. Хоть версии 1.0.0 ещё нет, но язык последний год или два довольно стабильный в плане старого.
> К примеру не так давно выпустили bun.sh, что работает гораздо лучше nodejs и denoОно работает не лучше, а на некоторых тестах быстрее. Болид "Формулы-1" тоже быстрее любого пикапа, однако все массово на него не пересаживаются почему-то.
ага и микроскопом гвозди забиваем, каждому свое
Не смеши! Нужно быть совсем отбитым чтобы тащить Zig в прод и писать на нем хоть что-то сложное.У них сейчас программа даже даже скомпилироваться не в состоянии правильно - куча вот багов на miscompilation. Причем это не какие-то хитрые штуки, а вполне себе обычный код.
https://github.com/ziglang/zig/issues/12363
https://github.com/ziglang/zig/issues/12364
https://github.com/ziglang/zig/issues/10349
Знал бы на что давать ссылки. Первые два не относятся к основному компилятору stage1 вообще (вернее там пишет, что там всё работает), третье описывает не такой уж и обычный код и то там есть альтернативный способ.
Конечно не относятся к stage1, там даже лейба Stage2 стоит.
Не нравится что я Stage2 в пример привел - держи stage1
https://github.com/ziglang/zig/issues/12169
https://github.com/ziglang/zig/issues/11751
Даже не знаю какие примеры тебе еще показать - глаза разбегаются, у них на stage1 670 открытых висит.А наличие альтернативного способа заставить свой код компилироваться - это прекрасный показать готовности языка))
Посмотри на 8000 issues в Rust.
> Посмотри на 8000 issues в Rust.А должно быть 0? Как тогда язык развиваться будет? Давай-ка лучше ссылки на конкретные баги, которые мешают программировать на стабильном Rust (типа тех, что привели для Zig).
Zig будет крутым, когда сможет съесть русалку.
После Лиспа любой язык сложный и неуклюжий.
как синтаксис его посмотрю, так на бреинфаке кажется прогать проще.
А где хороший синтаксис? Я просто не в курсе
В питоне.
Ну да, ну даwith open(path + "\log.txt", "r") as log_file:
err_list = [st for st in log_file if "error" in st]
> Ну да, ну да
> with open(path + "\log.txt", "r") as log_file:Тебя никто не заставляет так писать, вообще обычно пишут либо
path / 'log.txt'
либо
os.path.join(path, 'log.txt')
Твой вариан вообще колхоз какой-то не кроссплатформенный.> [st for st in log_file if "error" in st]
Тебя никто не заставляет так писать, можешь писать как в других языках обычными циклами.
os.path.join(path, 'log.txt')
В Rust это было быpath.join("log.txt")
А если я не хочу менять содержимое path, а получить новый путь? У меня в path могла быть директория, относительно которой мне вообще требуется получить несколько разных путей к файлам:os.path.join(directory, 'file1.txt')
os.path.join(directory, 'another', 'directory', 'file2.txt')
> А если я не хочу менять содержимое path, а получить новый путь?Вариант
path.join("log.txt")
и не меняет существующий путь, а создает новый. Для изменения существующего используется метод push:path.push("log.txt")
Ну то есть типа того же что делает питоновский pathlib, упомянутый мной сразу:directory / 'file.txt'
Питон видите ли совсем уж вебмакакинг. Ни вам типизации, ни вам перфоманса.Поэтому высоконадежаня питонятина обычно наворачивается прям в рантайме у юзера. Ведь статический анализ они не проходили, это им не задавали. Да и как его делать без инфо о типах? Зато кодер не парился. У хруста на эту тему сильно другие парадигмы.
> Да и как его делать без инфо о типах?Есть там эта фигня давно. Про Cython с его высоким перфомансом вообще молчу.
> Питон видите ли совсем уж вебмакакинг.
Что это значит?
Когда в телегоканале русских питонистов вытаскиваешь их виликое кредо и спрашиваешь, каким образом к нему относится одновременное существование = и :=, сперва доносится невнятное мычание, а затем админ хватается за банхаммер.Тяжело признавать, что твой язык был создан упрощённым, плоским и приземлённым язычком под орды вайтишников для того, чтобы прокормить хозяина.
:= использовать никто не заставляет, оператор не обязательный и вообще его внедрили какие-то сжвшники небось после ухода Гвидо.
Троллинг высосан из пальца, попробуй ещё.
> А где хороший синтаксис?<troll>В Перле!</troll>
В лиспе.
У Rust есть уникальные концепции, которые нужно отразить в языке. И если ты с этими концепциями не знаком, то и понять что там написано не сможешь. Всё точно так же как с другими языками. Например когда незнакомый с языком человек заглядывает в код на Haskell или Prolog, то понять мало что может. Rust вызывает у школоты особенное жжение в области ануса потому что заявлен как системный процедурный язык, но при этом среди знакомых для тупой школоты языковых конструкций у него встречаются незнакомые и непонятные. Поскольку школота тупая, разобраться в концепциях они не могут. Результат - ненависть.
Ровно такое же отношение я наблюдаю к Perl'у например. Больше всего хейтят его люди, мало на нём писавшие и почти дел с ним не имевшие. Причина та же: в этом языке есть необычные для C-стиля синтаксические конструкции. Необычные конструкции приводят к непониманию. Непонимание приводит к ненависти.
то же с systemd
Я понакодил на перле один проект и ничего у меня не отпало, ни до ни после я столько на нём не кодил, мой основной язык С.К расту претензий много и основная претензия относится к его адептам - они с ним лезут заменять С и кресты, или хуже того начинают пихать раст код в изначально С/крестовый проект.
Это создаёт проблемы на ровном месте а не решает их.
Теперь проект становится собирать и сложнее потому что требования к сборочной среде совсем другие и дольше.
Так же у многих нет желания тратить время на изучения раста и для таких людей становится не возможно учавствовать в прогнивающем проекте.То что он там заявлен - не значит что в реале он таком является.
Странно что претензии к адептам Раст. Если они перестанут предлагать заменить Си на Раст, то багов в Си программах меньше не станет.Основная причина появления rust - прошло уже 30 лет, а си программисты так и не научились управлять памятью без багов. Причем одно и тоже повторяется из года в год. Си прекрасен на маленьких проектах, где все можно окинуть взглядом и сказать "а, вот тут проблема". В остальных случаях баги живут годами.
Причем ни у один сишник не предложил решение, все ответы что я слышал "ой, да ладно, ну баг, ну получили рут, дело то житейское"
Перечитайте ещё раз.
Речь не про баги а про поддержку и развитие проекта, который был на С/крестах и вдруг стал ещё и с гнилью внутри.Могу вам напомнить что тема с "безопасностью" начала всплывать всего лет 15 назад, до того всех интересовало чтобы оно работало и не тормозило.
Притом что языку С уже лет 50.
> Речь не про багиРечь как раз про баги. По мере усложнения проекта их все больше и больше. И куче людей надоело в срочном порядке обновлять миллионы устройств чтобы исправить очередную CVE.
Это не развитие, а стагнация.Не добавляйте раст. Просто начните писать без тупых багов с памятью! Не в состоянии... Ну что тогда поделаешь.
> у многих нет желания тратить время на изучения раста и для таких людей становится не возможно учавствовать в прогнивающем проекте.
Офигенный аргумент, бедные кодеры привыкли кодить как диды и им не хочется учится (ну или мозги совсем закостенели). Может тогда пора на пенсию?
> Притом что языку С уже лет 50.
Первый стандарт языка появился 1989 году. Вам приятнее думать что Си не 30, а 50 лет? Окей, тогда "уже за 50 лет не научились управлять памятью без багов". Стало легче?
> тема с "безопасностью" начала всплывать всего лет 15 назад
Что же случилось 15 лет назад? Возможно интернет появился повсеместно и появилась возможность создавать огромные ботнеты, воровать банковские данные или просто их шифровать, влегкую ломая компы просто прислав "специально оформленный файл"?
> оно работало и не тормозило
Она работало как могло и тормозило.
Вообще смешно как вы называете добавленный раст "гнилью" и безопасность берете в кавычки.
Раст не является инструментом для контроля и гарантии качества.
За эти годы выработали массу методик как кодить на С безопасно и как это проверять.
Это и MISRA и всякие линтеры и прочие анализаторы, включая встроенные в языки варнинги.
То что этим многие не пользуются - не та проблема которую нужно решать сменой языка программирования.Полезность раста около нулевая, я лучше питон освою или что то ещё что расширит мои возможности и увеличит мою ценность.
Молодой человек, вин 98 работал на 24мб оперативы, на 64+мб там было уже очень комфортно жить.
И видеопамяти от 8мб нужно было.
На этом работала не только ОС но и тот же оффис и браузер и игры и тп.ХР требовала 128 оперативы для себя, с 256 уже было относительно комфортно.
Вот когда ваша ОС на раст сможет повторить этот успех - тогда и будете рассказывать что на вам расте тоже что то может работать и тормозить.
А мне смешно как вы считаете что поменяв язык у вас кончатся уязвимости и наступит идиллическая безопасность.
Раст содержит инструмент для исключения целого пласта проблем на этапе компиляции. Они описаны, механизм и правила достаточно просты.
То что этим многие не пользуются - это огромная проблема, а еще одна что они просто не применимы в массе (да, спутник на марс можно на мисре писать, но это настолько большой оверхед, что в обычном софте ее не используют) Поэтому чтобы пользовались - мы меняем язык.Да хоть хаскель - изучение чего либо нового уже полезное занятие.
> вин 98 работал на 24мб оперативы, на 64+мб т
> ХР требовала 128 оперативы для себя, с 256А дос просто летал на i286 и 1Мб памяти ... и?
Сколько жрет сейчас напр. дебиан или убунта (раз десктопы в пример привели)? Написанные на божественно сишечке и приправленные с++? Влезет в 24мб или нет? Что же они так разожрались? Может это раст все испортил?
А плазма падала тоже из-за раста?> Вот когда ваша ОС на раст сможет повторить этот успех
О, пошли аргументы "сперва добейся")) Впрочем это было ожидаемо.
Redox, как бы его не хейтили, показал что ось написать можно. Причем вполне сносно учитывая сколько времени, людей и ресурсов было затрачено (по сравнению напр. с тем же линуксом).
Но начнем мы с добавления раста в ядро. И если он окажется хорош - то на него программисты будут переходить сами. А дальше - посмотрим.> кончатся уязвимости и наступит идиллическая безопасность
Не закончатся и не наступит. Просто можно будет сконцентрироваться напр. на логических ошибках, уязвимостях в таймингах и т.д, вместо того чтобы искать кто попортил память.
Претензия к расту как языку - он слишком многословен. К крестам тоже самое.
Хуже того, как кинимум у крестовиков отсутсвует понимание того что не нужно тащить в язык все библиотеки в мире, потому что тогда язык становится кетайской грамотой которую надо долго и нужно осваивать.Я выше описал пример безопасных языков типа вижалбейсика и пхп - это не помогает против говнокодеров.
Тусовка раста слишком мала и там скорее всего больше профи пока что. Когда туда подтянутся те кто обо всех проблемах программирования смотрел в тиктоке то начнётся говнокод как на пхп и все ваши проверки и строгий зубодробительный синтаксис не помогут.Это не про сперва добейся, это про дань уважения к тем технологиями которые были до и неплохо так работали на том что было.
Сравнение с "линухами" тут не очень, они и тогда были более требовательны к железу.
Венда как пример того чего удалось добится на С в том время.Не надо добавлять никуда гниль, у людей есть другие заботы кроме изучения ещё одного языка и траты дополнительных ресурсов на ещё один компилятор и ожидание сборки.
Развлекатесь пожалуйста в своём загончике.
> Претензия к расту как языку - он слишком многословен.Вообще-то нет.
https://doc.rust-lang.org/reference/keywords.html
> Я выше описал пример безопасных языков типа вижалбейсика и пхп - это не помогает против говнокодеров. Когда туда подтянутся те кто обо всех проблемах программирования смотрел в тиктоке то начнётся говнокод...
Это помогает избавиться от ОПРЕДЕЛЁННОГО КЛАССА ОШИБОК, но не от ВСЕХ ОШИБОК. То же написал человек выше, но вы этот его довод пропустили мимо почему-то.
> Не надо добавлять никуда гниль, у людей есть другие заботы
Многочасовые поиски багов управления памятью? Достойные заботы (нет).
Я ему ответил что это не избавит от множества ошибок, просто они будут чуть другие.Вы способны написать на расте хотя бы хэлловрлд в обычном блокноте без автодополнения ввода?
Я вот на С вполне кодил в обычных нотепад++, кейт, джини.
> Я ему ответил что это не избавит от множества ошибок, просто они будут чуть другие.Вы точно понимаете смысл сказанного? Не "чуть другие", а СОВЕРШЕННО ДРУГИЕ. Ошибки работы с памятью просто не возникнут, как класс. А логические ошибки - это абсолютно другой класс, и от них спасает только формальная верификация.
https://ru.wikipedia.org/wiki/%D0%A4%D0%...
> Вы способны написать на расте хотя бы хэлловрлд в обычном блокноте без автодополнения ввода?
За меня в Rust это сделает cargo (стадартное инструментальное средство из среды программирования Rust) полностью в автоматическом режиме (cargo new имя_проекта). Но я тоже справлюсь, буде возникнет такая необходимость.
> Вы способны написать на расте хотя бы хэлловрлд в обычном блокноте без
> автодополнения ввода?Кстати, именно на Rust довольно быстро пишется код без автодополнения. Я лично часто пользуюсь плейграундом или просто в текстовом файлике набрасываю код. Другое дело, что в IDE можно значительно быстрее получить сведения о вызываемых функциях, быстро перейти в место определения и т.д. Это сильно экономит время в больших и сложных проектах. Но небольшие программы иногда даже удобнее писать без IDE.
>в обычном блокноте без автодополнения ввода?А зачем это умение в 2022? Кто-то может огонь развести деревянной палочкой. Это между прочим жизнь спасает, а не какие-то там компьютеры, которые эл-во отключил и нет ничего.
Я раньше писал маленькие программы в машинном коде, когда изучал устройство компьютера, и что теперь? Я лучше чем программист на Си или ассемблере?
Ты точно лучше, чем программист на C или ассемблере с Опеннета, потому что эти пишут только комментарии.
А ваш гнидокс грузится с legacy или он только EFI может?Потом не забывайте что:
- во времена линукса интернет был совсем другой
- все грабли в плане работы с железом уже собраны в том же линуксе и обложены костылями, так что авторам новых ос достаточно поглядывать в исходники того что есть и работает
Да и вообще, последнее время ОСи появляются чуть ли не каждый месяц, на любой вкус.
И биос, и uefi.
Ее нельзя сравнивать с linux - ее пилят меньше 50 человек. У разрабов просто нет шансов их сравнять просто по разнице в ресурсах. Это просто показатель что да, можно написать с нуля.PS. возможно вам кажется забавным называть раст "гнилью", а redox - "гнидокс"ом... но со стороны выглядит как детский сад
> Да и вообще, последнее время ОСи появляются чуть ли не каждый месяц, на любой вкус.То есть, на Rust писать системный софт можно? Ч.Т.Д.
Чувак, системный софт можно писать хоть на вижалбейсике, хоть на шелл скрипте.
Так что можете расходится, проблемы с его написанием нет.
Чувак, ни на VB, ни на shell ОС не напишешь. Нужен непосредственный доступ к железу, чувак.
> Чувак, ни на VB, ни на shell ОС не напишешь. Нужен непосредственный
> доступ к железу, чувак.Если посмотреть на хруст на микроконтроллерах и в дровах - там граблин у них... разиков так в 30 относительно сей. Вон там в линух пытаются вкомитить, сага так то уже довольно долгая, а грабли лезут и лезут там и тут.
> Молодой человек, вин 98 работал на 24мб оперативы, на 64+мб там было уже очень комфортно жить.В win98 комфортно было жить? Ты где таких сказок наслушался? Она падала от любого чиха, её приходилось переустанавливать раз в три месяца. Люди имея 64 метра оперативки сидели на безумно свопирующейся win2k, лишь бы не иметь дел с win98.
Итого: молодой человек, не слушайте ностальгирующих старпёров, лучше возьмите win98 и сформируйте своё мнение о ней самостоятельно. Это кошмарная система, которую использовали только из-за отсутствия альтернатив. И про которую с радостью забыли, когда альтернативы появились.
А где в 98 году продавалась 2к?)Потом много софта просто не работало на 2к, он и на ХР потом многий не заработал или работал только под админом. Это был долгий переход.
Да я не спорю что она на каждый чих хотела перезагрузку, и что переставлять её приходилось чаще чем хотелось бы.
Суть достижения в том что для 98 хватало 32-64мб оперативы.
С тех пор я не видел чтобы с таким количеством оперативы можно было в офисе работать или в браузере. (да, я понимаю что тогда браузер был заметно проще, но всё же)Даже если взять ХР и 256мб - для комфортной работы - всё равно достойный результат.
В 98-м году, если не ошибаюсь, продавалась NT4. И тоже куда более стабильная в работе ОС, чем Windows 98.> Суть достижения в том что для 98 хватало 32-64мб оперативы.
В чём достижение? Для небогатого функционала и не нужно много аппаратных ресурсов.
> С тех пор я не видел чтобы с таким количеством оперативы можно было в офисе работать или в браузере. (да, я понимаю что тогда браузер был заметно проще, но всё же)
Если понимаете, зачем бредятину несёте?
> А где в 98 году продавалась 2к?)В 98 году люди пересаживались на win98 от безысходности, потому что win95 была ещё хуже. Некоторые ставили NT, но там свои проблемы были. Суть в том, что как только появилась возможность с win98 слезть, все тут же слезли.
> Суть достижения в том что для 98 хватало 32-64мб оперативы.
В чём достижение, если ОСь неюзабельна? Хочешь я тебе хеллоувролд зашлю который будет работать на 1 мегабайте оперативки. Примерно столь же бесполезная программа сегодня, как и win98. Будет ли моё достижение таким образом выше, чем достижение MS 98 года издания?
> Даже если взять ХР и 256мб - для комфортной работы - всё равно достойный результат.
О да, XP была существенно лучше. Она практически не падала, я пользовался ею год, и за этот год переустанавливал её лишь раз. Но прям скажем, моя текущая система вполне смогла бы работать на 256Mb оперативки, если бы не ff, VSCode и gcc с llvm. Но я не променяю ff на IE6, а VSCode на MS Visual Studio 6.0. Мне не интересно сколько они памяти жрали, потому что IE6 убожество в сравнении с современным ff, а MSVS убожество в сравнении с VSCode. И gcc с llvm я не променяю на bcc версии 3.1, который мог компилировать C и даже немножко C++ на сотнях килобайт оперативки.
Уникальные концепции можно отразить в языке читабельным способом, например.
Читабельным для тех, кто их не понимает, или читабельным и удобным в использовании для тех, кто их понимает?
можно провести эксперимент, дайте изучить математику С, а потом подсуньте Rust и наблюдайте за реакцией.
Лучше так: "дайте изучить математику Heskell, а потом подсуньте С и наблюдайте за реакцией".
> Лучше так: "дайте изучить математику Heskell, а потом подсуньте С и наблюдайте
> за реакцией".можно и так, интересно что получится :)
>Например когда незнакомый с языком человек заглядывает в код на Haskell или Prolog, то понять мало что может.А когда человек уже заглянул в хаскель или лисп, становится непонятно, зачем ему заглядывать в раст.
Это как в питоне есть целый гайд по функциональному программированию, а самого функционального программирования там что-то как-то не особо до того, что лямбды хотят выпилить, а то что это куцее на одну строку висит и мешается.
Функциональное программирование, объектно ориентированное, безопасное - это всё бесполлезные сущности, шум.
Программирование должно решать конкретные проблемы а не быть вещью в себе ради себя.
Ещё добавьте, что все эти парадигмы придумали идиоты, чтобы жизнь Си-программистам мёдом не казалась. Пещерный человек, ей богу. А зачем мне ложка, если можно рукой есть. Да?Все эти "бесполезные сущности" и решают (пытаются решать) конкретные проблемы: это или борьба со сложностью/нечитаемостью кода, или борьба с определённым классом ошибок, или и то, и другое.
Решают не вот эти все слова, они описывают варианты решений которые делают конкретные люди.Последнее время развелось много бездельников и дармоедоев которые вместо того чтобы решать реальные проблемы: писать новый код, фиксить баги - ходят и создают ненужно языки и рассказывают о всяких там парадигмах, конструкцих, как надо кодить и думать и прочий бред, всё лишь бы не решать реальных проблем.
Придурки написавшие раст ничего полезного не дали индустрии, в отличии от людей написавших валгринд, асан и всякие линтеры и прочие кодчекеры и анализаторы.
Поясню: есть 100500 миллионов строк кода на С который уже работает и решает все проблемы.
Да, где то там прячутся баги, часто не мешающие основному функционалу.
Логично их отловить и пофиксить а не тратить жизнь ещё одного поколения на переписывание только ради переписывания.
> Решают не вот эти все слова, они описывают варианты решений которые делают конкретные люди.Разумеется, слова не решают. Решают технологии, названные этими словами. Что сказать-то по существу хотели?
> Последнее время развелось много бездельников и дармоедоев...
А ещё их тупых работодателей (и/или спонсоров), да?
> Придурки написавшие раст ничего полезного не дали индустрии
Спонсоры Rust считают, что дали. Например, автоматическое управление памятью с нулевыми накладными расходами, а также относительную (по сравнению с C++) простоту освоения языка. Если подумать, это очень крутые фичи. Ну это если подумать.
> Поясню: есть 100500 миллионов строк кода на С который уже работает и решает все проблемы.
Не все проблемы.
> Да, где то там прячутся баги, часто не мешающие основному функционалу.
Если бы не мешающие, не было бы такого разнообразия языков, пытающихся устранить эти баги, как класс.
> Логично их отловить и пофиксить а не тратить жизнь ещё одного поколения на переписывание только ради переписывания.
Это было бы логично, не будь эта процедура такой дорогой на практике. Кроме того, людей, знаете ли, качество волнует, а не его видимость. Причём крайне желательно гарантированное системой, а не каким-нибудь пионером (комсомольцем) Иваном, который мамой клянётся, что в его коде багов нет.
ХЗ чего вы тут холиварите всё, ну язык и язык. Ну ок, если фанаты хотят, пусть себе переписывают всё на Rust. И питон пусть перепишут на Rust, причём так чтобы питон мог компилироваться в машинный код.
Холивары это часть нашего саботажа, с целью того чтобы Фаерфокс стала работать как можно менее эффективно. Наша тактика сработала на все 100%.
> Холивары это часть нашего саботажа, с целью того чтобы Фаерфокс стала работать
> как можно менее эффективно. Наша тактика сработала на все 100%.Надо было на питоне его переписывать. Хотя JS тоже сработал, но не настолько эффективно как могло бы быть. Только представьте себе, слом релизов раз в полгода и ни 1 рабочей реализации JIT/AOT :)
>И питон пусть перепишут на RustЗамечательный язык будет! Этим двум комьюнити давно пора объединиться!
> И питон пусть перепишут на Rust, причём так чтобы питон мог компилироваться в машинный код.Не проще взять SBCL?
>Дополнительно можно отметить инициативу по использованию языка Rust для написания работающего на уровне ядра Linux драйвера для GPU Apple AGX, используемого в чипах Apple M1 и M2.Rust набизателен! Только без раста без железа сидеть будете.
Нормальные люди экспериментальные проекты на синкпадах делают, а тут всё понятно.
А оперативки с такими драйверами в стоковой коньплектации поняшам хватать будет? А греть ноги не будет? Говорят, новые маки греются только в путь.
Очередная искромётная шутка от хейтерков. А у тебя глаза ещё от скобочек не вытекли? [как сейчас модно писать] Ахахах.
Пора вам всем рассказать правду. На самом деле раст это наша идея, чтобы устроить саботаж в нашем конкуренте Фаерфоксе. Для отвлечения от действительно важным задач написанием этого ненужного языка. Мы просто взяли инструкцию 1944 года https://colonelcassad.livejournal.com/4583730.html и внедрили нашим агентов в Мозиллу, остальное оказалось делом техники.
А fuchsia?
Это фикция для отвлечения вашего внимания. Да и на Dart она преимущественно.
Есть такая книжка "Как пасти котов". Мы в Google их скупаем путём пылесосинга рынка, чтобы рынку не досталось, и пасём. Так вот, нашим котам делать нечего. Надеюсь на понимание.
Как там, к слову, мощная система макросов? format для println! все ещё реализовывается в компиляторе, а не в стандартной библиотеке?
>Как там, к слову, мощная система макросов?Как земля.
Напоминаю какое будущее нас ждёт, если драйвера будут писать на Rust
https://kevinlynagh.com/rust-zig/
> With Rust 1.50, a from-scratch debug build of my keyboard firmware takes 70 seconds (release, 90 seconds) and the target/ directory consumes 450MB of disk.В то время когда в системных языках получается где-то так:
> Zig 0.7.1, on the other hand, compiles my firmware from-scratch in release mode in about 5 seconds and its zig-cache/ consumes 1.4MB.
Какая классная история!
Чел честно пишет что он хочет от systems language:1 To write code that was fast; that could take advantage of how computers actually worked and run as fast as the hardware allowed.
2 To write applications that could run in minimal environments like microcontrollers or web assembly where it just isn’t feasible (in time or space) to carry along a garbage collector, language runtime, etc.безопастность даже не упоминается, действительно зачем?
В итоге получим быстро компилающееся, говно с юз-афтер-фри и прочими прелестями которые уже есть в си
Нельзя решить проблемы отсутсвия культуры разработки сменой языка.Я видел как говнокодят мои однокурсники на Visual Basic, то что язык был очень безопасным вообще никак не помогает сделать код безопасным и качественным.
Да, у них не падало в корку приложение, у них оно закрывалось с месаджбоксом об ошибке.И если сравнивать с гнилью, бейсик давал уникально низкий порог входа и безопасность выполнения - в том плане что оно не могло выполнить чужой код, но могло упасть с ошибкой или иметь логические дыры.
В этом плане и питон и пхп близки к бейсику и отчётливо видно что от дырок это ну ваще не спасает, ну просто никак.
Фишка в том, что как только врастет достаточно молодняка с растом они будут на нём писать так же как на пыхе, с таким же результатом, и безопасности не прибавится от слова совсем.
И они будут всем тыкать: "я пешу на бизапасном языке, тут не может быть уязвимастей!!!111 потому я даже моск включать не буду."
> Нельзя решить проблемы отсутсвия культуры разработки сменой языка.Определённый класс проблем - можно. Там, где компилятор диктует эту самую культуру разработки.
> Да, у них не падало в корку приложение, у них оно закрывалось с месаджбоксом об ошибке.
Ну вот вы и сами это подтверждаете. Определённый класс ошибок ушёл.
> И если сравнивать с гнилью, бейсик давал уникально низкий порог входа и безопасность выполнения
Бейсик - не язык для системного программирования, в которое любой встречный обычно не лезет, только люди набившие руку где-то ещё.
> В этом плане и питон и пхп близки к бейсику и отчётливо видно что от дырок это ну ваще не спасает, ну просто никак.
От ЛОГИЧЕСКИХ ОШИБОК вообще ничего не спасёт, кроме формальной верификации.
> Фишка в том, что как только врастет достаточно молодняка с растом они будут на нём писать так же как на пыхе
Вы путаете логические ошибки с ошибками работы с памятью. И по поводу молодняка тоже сильно перебарщиваете. Не будет в системном программировании идиотов. Слишком сложна для них эта сфера. Да и не пустит их туда никто.
Для несистемного программирования есть куча других языков.
Ну вот мы и узнали правду: раст написали пограмисты-вахтёры чтобы не пущать других :)От того что в пхп нет ошибок при работе с памятью - меньше дыр в продуктах на нём написанных не стало.
Я не путаю, я вам говорю что придёт народ с пхп и на вашем божественном расте появится куча говнокода.
Всем плевать что вы там понаписали что раст только для "илиты".И прекратите уже писать про системное программирование, эта влажная фантазия далека от реальности, к счастью.
Ещё раз: мой поинт в том, что заменять С даже на кресты смысла нет, потому что возможность быстро войти хотя бы на уровне чтения намного важнее остального. Попутно практически всё можно решить на С.
И есть огромный пласт языков для бизнес логики.
Для раста нет ни места ни смысла.
Как и для любого нового языка за последние лет 20.Чтобы .net взлетел МС пришлось заживо закопать вижалбейсикб asp, mfc. Они смогли это сделать административным способом.
Вы пытаетесь влезть с гнилью в огромную нишу и получаете естественное сопротивление.
За растом никого не стоит, кроме фонатиков.Даже несчастный ГО имеет строго очерченную нишу в которой он в принципе имеет смысл, и за ним стоит гугель. И ГО не имеет фатальных недостатков в виде мегатонного компелятора работающего часами.
> Для раста нет ни места ни смысла
> За растом никого не стоит, кроме фонатиков.Ну да, поэтому его финансирую Amazon, Google, Facebook, Microsoft, Huawei, Arm, Activition и куча других. Или Линукс и чуваки из kernel team? Они как минимум не против раста и наблюдают с интересом. Но это все какие-то лошки наверное...
Зато Ванька знает точно, взял и сразу вынес вердикт!Или просто Ванька тоже морально устарел? Ванечке не хочется на обочину истории, поэтому он продолжает всех убеждает всех что раст не взлетит?
Бигкорпы часто вливают бабло в 100500 разных тем в надежде что хоть одно взлетит и окупит всё.
И я сомневаюсь что всё перечисленное является спонсорами.Тем кто пилит линукс в целом пофик, пока оно не мешает их работе.
Как там ниже заметили латания С кода хватит ещё и моим детям :)
Вон кобол даже жив, вижал бейсик всё ещё юзается.
> И я сомневаюсь что всё перечисленное является спонсорами.
> Ну вот мы и узнали правду: раст написали пограмисты-вахтёры чтобы не пущать другихНе совсем понятно, как вы пришли к этому логическому умозаключению. Я о пороге вхождения говорил. Системное программирование - не для новичков.
> От того что в пхп нет ошибок при работе с памятью - меньше дыр в продуктах на нём написанных не стало.
Ещё раз (надеюсь, с ТРЕТЬЕГО раз до вас дойдёт). Есть разные классы ошибок: архитектурные, логические, ошибки при работе с памятью, и так далее. Вот Rust только про ошибки работы с памятью, кои составляют подавляющее число от всех остальных. Если хотя бы эта дыра будет закрыта - уже хорошо, будет возможность больше времени уделять другим классам ошибок.
> И прекратите уже писать про системное программирование, эта влажная фантазия далека от реальности, к счастью.
Склонен думать, что вы живёте в информационном вакууме. Очень скоро Rust окажется в составе ядра Линукс. Пока в виде опции. А дальше, когда народ прочувствует прелести работы на этом ЯП, будет вам и must have. MS тоже экспериментирует с Rust. Вот такая вот она, реальность.
> Я не путаю, я вам говорю что придёт народ с пхп и на вашем божественном расте появится куча говнокода.
Не придёт народ с PHP в Rust. Уровень программистов совершенно разный, и разные же области применения.
> мой поинт в том, что заменять С даже на кресты смысла нет, потому что возможность быстро войти хотя бы на уровне чтения намного важнее остального. Попутно практически всё можно решить на С.
Ваш поинт, во-первых, оторван от реальности. На Плюсах написана масса кода, и программисты на Плюсах, а также их работодатели считают иначе, чем вы. Во-вторых, вы, похоже, абсолютно не понимаете, что дают те или иные уровни абстракции в том или ином ЯП высокого уровня. Как я вам уже говорил в этом треде, только в другой ветке, пищу можно есть с помощью рук, но неудобно, знаете ли. Именно по этой причине люди и придумали разные столовые приборы.
> Для раста нет ни места ни смысла.
Гугл, Амазон, Майкрософт, Мозилла и куча других фирм считают иначе. Процесс замены Си-шки на Раст уже пошёл и в среде Open Source потихоньку. Основной цель Rust - минимизация наиболее часто встречающихся ошибок управления памятью. Таковых в области системного программирования на C - порядка 70%. Так что смысл, как видим, есть, да ещё и какой.
> Вы пытаетесь влезть с гнилью в огромную нишу и получаете естественное сопротивление.
Вы меня с кем-то путаете. Я лично не пытаюсь никуда влезть. Я всего лишь популяризацией занимаюсь и просветительством в меру своих возможностей и сил. А кому надо, влезет и вас точно об этом не спросит.
> За растом никого не стоит, кроме фонатиков.
Какое дремучее невежество. Вот вам ссылочка, изучайте: https://foundation.rust-lang.org/members/
> И ГО не имеет фатальных недостатков в виде мегатонного компелятора работающего часами.
Во-первых, у Golang есть другой фатальный недостаток - сборщик мусора, не всегда работающий в тему. Во-вторых, время компиляции согласно последнему опросу растиан хоть и является проблемой, но точно не первого плана, то есть, люди готовы с ней мириться. Ваши попытки сделать из мухи слона не очень удачны, другими словами.
> время компиляции согласно последнему опросу растиан хоть
> и является проблемой, но точно не первого плана, то есть, люди
> готовы с ней мириться.Сборка самой среды Rust связана с огромным жором процессора. Чего не происходит ни с одним программным фреймворком.
Хотя это так себе аргумент — чем плотнее загружается процессор, тем меньше времени уходит на компиляцию. По идее.
>Процесс замены Си-шки на Раст уже пошёл и в среде Open Source потихоньку.перепишите сначала прикладной софт, потом уже лезьте в системный. ФФ переписали уже?
>>Процесс замены Си-шки на Раст уже пошёл и в среде Open Source потихоньку.
> перепишите сначала прикладной софт, потом уже лезьте в системный. ФФ переписали уже?Перепишите сначала классическую литературу, потом уже лезьте в комментирование. Войну и Мир переписали уже?
> Перепишите сначала классическую литературу, потом уже лезьте в комментирование. Войну
> и Мир переписали уже?сочинений на эту тему в свое время понаписал, и не стремился переписывать, и переиначивать, ибо Толстым не родился. И вам "растишкам" сначала надо сочинений понаписать, потом уже подражать Линусу-Толстому.
Важно как работает результат этой компиляции.
Чувак пытается писать вот такой код:fn read_keys(port: #[cfg(feature = "splitapple")]
nrf52840_hal::pac::P1
#[cfg(feature = "keytron")]
nrf52833_hal::pac::P0) -> Packet {}и удивляется, что в языке такое не поддерживается -_-
Ты то тут при чем? Это директория разработчика драйвера и время компиляции. Оно ни как не коррелирует с результирующим модулем на твоем компе (пользователя).
Вот уже давно вижу критику в сторорну Rust'а, что у него 'ужасный' синтаксис. Может кто-нибудь показать что именно в нем не так, а то я ничего плохого в нем не вижу.Указание типа после переменной или функции - так это более наглядно, да и не много в каких языках так.
Generic-типы в угловых скобках - что в этом плохого, да так-же и в c++.
Неймспейсы с двойными двоеточиями - в c++ также.
Или неустраивает что-то другое?
В c++ ужасный синтаксис
Им в основном не нравятся лайфтаймы. Они непонятные и кажется что кавычки несбалансированные.
Можно их утешить, что лайфтаймы соблюдать надо во всяком языке без сборщика мусора. Если ты хороший программист и пишешь программу без багов. А тут как раз компилятор тебя заставляет это делать, а во многих случаях даже за тебя невидимо их подставляет (т.н. rust NLL).
> ты хороший программист и пишешь программу без баговочень жесткое допущение, не надо так с ними))
Так ты и не программист и школу не закончил. Тебе всё нравится.
Рыбак рыбака видит издалека? :) Нехорошо людей по себе судить.
Как ты заметил по ответам, оппеннетовцам не нравится синтаксис, но что конкретно не нравится сформулировать они не могут.
>оппеннетовцам не нравится синтаксисну есть такие которым не нравиться add(a, b), им приятнее a + b, есть и такие которым a.add(b) не лень писать.
пс: a.add(b) - ЖООП :)
Тот, кто концентрируется на синтаксисе, просто ещё не вырос из штанишек начинающего разработчика. (Из них можно не вырасти и до пенсии).Состоявшийся разработчик понимает, что важна семантика. А к любому синтаксису на третьем десятке разных языков программирования привыкаешь легко.
> Тот, кто концентрируется на синтаксисе, просто ещё не вырос из штанишек начинающего
> разработчика. (Из них можно не вырасти и до пенсии).вот это я пытался донести до одного Анонима в прошлых темах :)
> Состоявшийся разработчик понимает, что важна семантика. А к любому синтаксису на третьем
> десятке разных языков программирования привыкаешь легко.ну тут, по разному, кому лень, кому в интерес, кому поставлена задача и т.д. большинство ведь "ленивые", но все это не отменяет факта изучения области формальных языков, и проблем в данной области - достаточно, думаю их надо разрешать, а не городить по ЯП в год.
foo<> vs foo::<> а теперь наблюдаем за слезами и оправданиями
> foo <a> bar() vs foo::<a>::bar() а теперь наблюдаем за слезами и оправданиямиНу да, зачем "влет" отличать оператор сравнения от дженерика сразу при токенизации, когда можно сделать так, чтобы для этого нужно было построить AST? </сарказм>
Ты сначала матчасть компиляторостроения подучи, потом можешь поплакать и пооправдываться.
Что-нибудь кроме слёз и оправданий будет?
> Что-нибудь кроме слёз и оправданий будет?Что-нибудь кроме бессмысленного попукивания будет?
> независимой некоммерческой организации Rust Foundation
> https://foundation.rust-lang.org/members/
> Google Microsoft MozillaЭто как?
А что не так? Организация "некоммерческая", т.е. "не имеющая в качестве основной цели своей деятельности извлечение прибыли." Напр. как благотворительные фонды и тд.
Но у них есть спонсоры. Они им дают деньги на функционирование и наем сотрудников.Точно также Linux Foundation - non-profit consortium. А им платят Microsoft, Oracle, Meta, Google и куча других. https://www.linuxfoundation.org/our-members-are-our-superpow.../
> независимойИменно поэтому все её члены и членки исповедуют строго определённые принципы и красятся во все цвета радуги ради быстрого опознавания на улице?
Какими бы ни были эти принципы, они намного лучше принципов анонимов с Опеннета, которые, судя по всему, заключаются в пропаганде социал-идиотизма и вскидывании правой руки с какахой при виде Rust.
> независимой
> Google Microsoft MozillaЭто такая аксиоматика у них, боров чекер разрешает.
Они называют себя независимыми, и вы называйте, бгг.
Почему на Rust переписываются драйвера, а не начали, например, с systemd? Тогда гораздо больше бы людей оценило мощь раста.
Systemd теперь логично переписывать на Verona Project.
Т.е. ты сам не догадываешься? Да потому что нельзя на нём ничего написать. Она даже с с++ кодом нормально взаимодействовать не умеет.
Т.е. код на крестах не умеет в сишные биндинги? Занятно.
Это ненормально так вызывать. В Карбоне можно прямо вызывать C++ код потому что Карбон это просто TypeScript для C++ плюс с доп проверки на стороне компилятора Карбона.
Что-то ты стрелки перевёл. Чел сказал, что Rust не умеет использовать библиотеки, написанные непосредственно на C++.
> Что-то ты стрелки перевёл. Чел сказал, что Rust не умеет использовать библиотеки, написанные непосредственно на C++.То ли дело С++ код, да?
$ cat hello*
#include "hello.h"
#include <iostream>void hello::printHelloWorld(){
std::cout << "Hello World!" << std::endl;
}
class hello{
public:
void printHelloWorld();
};#include "hello.h"
int main(){
hello h;
h.printHelloWorld();
}
$ clang++ -c hello.cpp && ar rcs libhello.a hello.o
$ clang++ hello_main.cpp libhello.a && ./a.out
Hello World
$ g++ hello_main.cpp libhello.a && ./a.out
...
libhello.a(hello.o): in function `hello::printHelloWorld()':
hello.cpp:(.text+0xe): undefined reference to `std::__1::cout
А вы заметили, появилась новая мантра - "... и предоставляет средства для достижения высокого параллелизма выполнения заданий, ...". Интересно, откуда там высокий параллелизм выпал? Опять растоведы прошли своим излюбленным дао гланды-жопа? Посмотрел https://doc.rust-lang.org/book/ch16-00-concurrency.html - нет, тоже самое что и в остальных языках. В общем опять обезъяньи крики ни о чём.
>и предоставляет средства для достижения высокого параллелизма выполнения заданийДа я и на https://eggs.call-cc.org/5/#category-list могу кивнуть, например.
https://eggs.call-cc.org/5/#hell
На вот это, не тот якорь взял.
Просто там больше, чем setTimeout и setInterval есть, вот и высокая конь-курентность.
Ну, это как сказать, что кровопускание и взятие крови на анализ - то же самое. Обезьяньи крики ни о чём - это комментарии тебя и твоих дружков под каждой новостью о языке. Заодно вы фекалиями кидаетесь и читать не умеете - полный обезьяний набор.
Поздравляю всех front-end разработчиков и программистов без коммерческого опыта с выходном новой версии любимого языка!
игра rust на расте написана..?
Гугл еще немного Carbon подтянет и до свидания, Rust
>Опубликован релиз языка программированияНу вы поняли, пока тут не будет слова "реализация" или "стандарт", смотреть на такой "язвк программирования" смысла не имеет.
Не поняли. В каком году появился C? А в каком году появился стандарт для C?
И толку от стандарта С в контексте ядра?
На С из стандарта никакое ядро не напишеш.Все самое интересное и нужное для написания ядра очень тулчейнозависимое.
Зачем спорить, объедините сразу два языка и назовите его Карбораст. Быстрый, безопасный, самый лучший в мире.
Карбон нормальный язык, зря ты так
У меня другой вопрос: зачем комментировать новость о языке, который тебе не интересен? Это мазохизм, троллинг или умственная отсталость?
Большинство критикунов ничего больше hello world на нём не написали, и пытаются своё неосиляторство оправдать критикой) Давайте свои проекты на расте, ждём ссылки на гитхаб. Простите оракулы )
Так хеллоуворлда достаточно, чтобы увидеть ухищрения на которые надо идти чтобы он не весил мегабайты
https://lifthrasiir.github.io/rustlog/why-is-a-rust-executab...
В конце хеллоуворлд выглядит как-то так
> libc::write(libc::STDOUT_FILENO,s.as_ptr() as *const _, s.len())
И спрашивается зачем такая сложная обертка над Си нужна
И зачем вы пытаетесь заниматься такими неумелыми манипуляциями? Вы точно статью до конца дочитали?
Размер хелло ворда это основной показать качества языка программирования для любого уважающего себя эксперта-программиста с опеннет.Собственно на что ещё обращать внимания если ничего сложнее хелло ворд не пишешь?
Выше я уже написал: я не хочу изучать раст, пожалуйста не лезте с ним в существующие С проекты.
Нам очень важно ваше мнение. Пешите есчо.
unsafe { я не хочу изучать раст }
Вы, наверное, неолуддит и сторонник теорий заговора, вас надо отменить
Мне нужны технологии которые стоят потраченного времени и делают жизнь лучше, раст к таким технологиям не относится от слова совсем.
Не тратьте и не учите.
За 30+ лет на си столько говнокода понаписывали - даже вашим детям будет что исправлять и поддерживать.
> пожалуйста
> не лезте с нимЭто так не работает, они всё равно будут лезть. Единственный вариант - иметь адекватную позицию участников проекта.
И конечно же, адекватной у вас называется именно ваша позиция. Ой, как удобно.
Зачем писать на расте, если я могу писать на хаскеле?
На Хаскеле высокопроизводительный софт не напишешь из-за функциональной парадигмы программирования, которую этот ЯП поддерживает.
А тебе не приходила в голову такая сложная мысль, что не всему коду надо быть производительным?
Ну и пиши свой тормозной код на Хаскеле, кто ж тебе мешает? Пока допишешь, как раз С++ умереть успеет.
Я тебе больше скажу. Большинство фанатов раст ничего больше hello world не писали. А главный фанат фрактал так даже это не осилил.И ещё больше скажу. Ни одни проект на расте так до ума и не довели. Всё в стадии пре пре пре пре альфы и верисии 0.0.0.0.1
Иногда лучше молчать, чем говорить.
Вот и помолчи
Я хочу поблагодарить своих родителей таньку и володю.
гори-гори ясно (5-я точка искперта опеннет)
А воз и ныне там.Ни одного стоящего проекта, ни одной стоящей IDE.
Так забавно смотреть как трепыхаются в бессилии хрюши неосиляторы нормальных языков и элементарных указателей. Тратьте и дальше свою жизнь на ущербное мертвораждённое.
IDE нужны только языкам, специально спроектированным под толпы корпоративных шестерёнок, навроде Java. В них удобно выдавливать из себя длинный, запутанный, но энтерпрайзно-готовый код. Чего-то действительно полезного в IDE не пишут.Но то, что раст не родил IDE - это для него, конечно, показатель - бессмысленный язык не смог родить бессмысленную приблуду, такой уж он бессмысленный.
Действительно. Расту IDE не нужны. Расту даже программисты не нужны. Он сам всё пишет и сразу без ошибок.Не потому ли нет ни одного доведённого до ума стоящего проекта потому что пользоваться языком не возможно без нормальной IDE. Где ты видел серьёзные проект без рефакторинга?
Потому и загнивает всё. Чуть больше 10 файлов в проекте и всё, мозги поплыли.
Ну а лабы делать и недоделанные пре пре пре пре альфы выкидывать и забрасывать - да, тут IDE нафик не нужно
Мантры про большие проекты нивелирются смыслом этих проектов.Можно рефакторить хоть до посинения, а можно писать сразу без надежды на потом. Вконце концов, что-то мне не верится, что тот же емакс, coreutils и busybox пишут в IDE.
В мифические проекты которые сразу пишутся нормально и без рефакторинга мозно верить хоть до посинения. Реальность это не изменит и необходимость контекстного поиска, контекстного рефакторинга не уберёт.> что-то мне не верится, что тот же емакс, coreutils и busybox пишут в IDE.
Я делаю изменения в busybox и дравера в linux kernel и пользуюсь для этого Qt Creator. Ну есть и побольше проекты.
А в чём проблема рефакторить раст? Тебе sed мало, без решарпера ни на что не способен?
> А в чём проблема рефакторить раст?Ты не правильный вопрос задаёшь. Зачем мучаться с растом и его рефакторить если у меня нет проблем с памятью на нормальных языках. И тем более в нормальных языках нет проблем с инструментами для рефакторинга.
> Тебе sed мало
Да мне то всего достаточно. Но видно потому и нет ни одного нормального проекта на расте что они седом рефакторят. Некогда код писать.
> без решарпера ни на что не способен?Ну рас вообще ни на что не способен.
> у меня нет проблем с памятью на нормальных языкахЕсли эти языки со сборщиком мусора или это интерпретируемые языки, то вы странные вопросы задаёте. Rust вам точно не нужен.
Языков без сборщиков мусора с бесплатными абстракциями, такими же, как в Расте, попросту нет (C), или они слишком сложны в изучении (C++).
Ну ведь есть же IDE для Rust. Хотя и написана на другом языке. Вполне себе нормальная IDE, одна из самых популярных: VS code называется. Надо только несколько плагинчиков поставить из центрального репозитария. Мой набор (вдруг кому интересно) следующий:
- Code LLDB;
- crates;
- rust-analyzer;
- Tabnine AI.
Вообще-то полно уже проектов, несмотря на относительную молодость языка.
Вот официальная IDE для Раст - https://rust-analyzer.github.io/manual.htmlЭто LSP для любого редактора кода с поддержкой:
Annotations, Auto Import, Completion With Autoimport, Debug ItemTree, Expand Macro Recursively, Expand and Shrink Selection, File Structure, Find All References, Folding, Format String Completion, Go to Declaration, Go to Definition, Go to Implementation, Go to Type Definition, Highlight Related, Hover, Inlay Hints, Join Lines, Magic Completions, Matching Brace, Memory Usage, Move Item, On Enter, On Typing Assists, Parent Module, Related Tests, Rename, Run, Semantic Syntax Highlighting, Show Syntax Tree, Shuffle Crate Graph, Status, Structural Search and Replace, User Snippet Completions, View Crate Graph, View Hir, Workspace SymbolЭто все реализовано в VSCode, но ни что не мешает такое же получить в любом другом редакторе (в vim напр. реализовано) так как RustAnalyzer поддерживает https://en.wikipedia.org/wiki/Language_Server_Protocol
VSCode и IntelliJ IDEA.
Так забавно смотреть, как трепыхаются в бессилии хрюши-неосиляторы поисковых систем.
Почему компилятору уже десятый как год не могут сделать bootstrap?
Зачем?
Потому что это вендор лок бай дизайн
Хоть я и хейтер раста, но назову два хороших проекта на нём: Ruffle, Rustdesk. Кто больше?
А что-нибудь юзабельное есть? Ну вот вебрендер относительно норм, но он выжирает видеокарту мне пришлось включить софтрендер, а это 2 ядра на ютубе забито (так 1/3 ядра это без ваапи).
> А что-нибудь юзабельное есть?Нет. Ничего из повседневных инструментов.
> но он выжирает видеокарту
Оно всё выжирает на расте.
Вот реальная потребность:
Где безопасный почтовый клиент на rust?
Где безопасная IDE на rust для rust?
Где безопасный текстовый (в частности latex) редактор на rust?
Где безопасный ssh клиент/сервер на раст?
Где безопасный shell на rust?
И желательно не пре пре пре пре пре альфа
На случай, если вас в Гугле забанили, есть другие поисковые системы:https://duckduckgo.com/?q=Useful+projects+on+Rust&ia=web
Вас, воинов против Раста не поймёшь. То вы недовольны тем, что растиане всё переписывают на Rust, то недовольны тем, что не переписывают. Вы уж договоритесь меж собой, чем вы НА САМОМ ДЕЛЕ недовольны.
Они недовольны самим фактом существования раста, что его пришлось создать для исправления косяков си и ручек "настоящих погромистов"
А остальное - просто способ высказать свое недовольство.
Нет это не так.
https://github.com/dani-garcia/vaultwarden я этим каждый день пользуюсь, например.
Ruffle is an emulator for SWF files - в мусоркуRustdesk - A remote desktop software, the open source TeamViewer alternative - Очередная пре пре пре пре пре альфа. До уже существующих аналогов по функционалу как гусенице до луны
А, ну да, теперь примеры уже не такие))
firecracker и bottlerocket от Амазона
Версии 1.1.1 и 1.9.0, работают и приносят амазону неплохой доход))
Зачем нужен Rust, если есть Java?!
Зачем нужна бесполезная java если есть безопасный, быстрый и надёжный ANSI C ?
> Зачем нужен Rust, если есть Java?!Rust не имеет GC и делает статически то, что Java делает динамически.
> без использования сборщика мусора и runtimСтранное утверждение, ибо Rust без async редко кто использует , а с async это runtime.
Рантайм такой же, как если бы ты это вручную на Си написал. Это как виртуальные таблицы в С++, в раст они тоже есть - называются Trait Objects. Это рантайм? Сложно же так сказать.При том - "не используешь - не занимает". И инициализации не требуют ни асинки ни трейт объекты.
> Это рантайм?Вопрос на засыпку: что такое рантайм и компайл-тайм? Можешь изобразить компайл-тайм вычисления с++ constexpr на rust?
Это вообще ни как не относится к вопросу человека. Если вас послушать, то в Си только рантайм, ведь там нет никаких компайл-тайм вычислений как в С++ (шаблоны). Или константных функций как в Раст.Но это не мешает ему производить супербыстрые и суперлегкие по-памяти программы.
В Си нет _неявного_ рантайма, как raii, исключений, проверки границ массива, паник и тп.
Зато есть keyword switch который генерирует таблицу переходов. И много других рантайм keyword'ов как for, if, while.В раст есть keyword async. Это общепринятая в современном программировании конструкция (из-за того что процессоры теперь имеют много ядер), которую воплотили в keyword. Проблема в том что тебе не нравится? Это твоя проблема.
> switch который генерирует таблицу переходовНеявно генерирует? Или генерируется эквивалентный код?
> keyword async
Для работы этого синтаксического сахара нужен неявный(!) рантайм, в виде отдельной (возможной стандартной) библиотеки. И это неявный рантайм может неожиданно запаниковать без явного вызова паники.
Зачем нужен якобы надёжный и безопасный якобы язык программирования раст, если есть действительно надёжный, безопасный и быстрый ANSI C?
Зачем изобретать то, что так ненавидят все нормальные эксперты-программисты с opennet?
Чтобы тролить.
Разработчик на Rust в сетевую инфраструктуру 🏗В Яндексе больше сотни тысяч машин, объединённых в облако, на каждой работают десятки микросервисов. Для фильтрации трафика мы используем подход Host Based Firewall (HBF). Непосредственной фильтрацией занимаются серверные машины, а файрвольные правила им поставляет специальный сервис. Он обязан быть надёжным, производительным и умным, уметь на лету оптимизировать правила, чтобы обработка на машинах занимала как можно меньше процессорных тактов.
Мы ищем человека, готового взяться за глобальную модернизацию HBF-сервера. Приходите к нам, если любите масштабные и сложные задачи на стыке технологий и языков программирования.
Что нужно делать:
• проектировать, разрабатывать и внедрять сервис оптимизации и раздачи сотни миллионов файрвольных правил сотням тысяч потребителей
• реализовывать ядерную часть файрвольной фильтрации на eBPF/XDP
• улучшать производительность одного из фундаментальных сервисов компании за счёт оптимальных алгоритмов и максимального использования тактов процессораМы ждем, что вы:
• пишете на Rust либо готовы быстро вникнуть в него
• не боитесь префиксных и интервальных деревьев, хотите исследовать и реализовывать нетривиальные алгоритмы с учётом особенностей современного железа
• занимались системной разработкой для Linux
> Мы ждем, что вы: • пишете на RustДак вам шашечки или ехать?!
А какой подход предложат эксперты-программисты с опеннет? Расскажите, подробнее, как как нужно компании уровня Яндекс, фаервол проектировать
Компании уровня Яндекс уже ничего не нужно.
Это очевидно для любого опеннет эксперта, но Яндекс почему-то продолжает публиковать объявления
> компании уровня ЯндексА что, есть такие?!
> максимального использования тактов процессораВисеть на i/o со сбросом частоты тактового генератора до 0 - это максимальное использование тактов?
Ага только у них весь софт написан, сюрприз на C++ они даже вебфреймворк на C++ выкатили.
Откуда вы знаете на чём именно написано по в Яндексе?
Что, неужели на питоне?
Бункерный? https://www.opennet.dev/opennews/art.shtml?num=57571
Разверните, пожалуйста, подробнее вашу мысль
Мозг включи, пожалуйста.
Любому опеннет эксперту со включенным мозгом и не в бункере очевидно что если есть 1 новость о публикации Яндексом фреймворка на Си++, значит в Яндексе весь код написан на Си++Есть такое когнитивное искажение "необобщение частных случаев", от которого чувак в бункере с выключенным мозгом, очевидно страдает.
Но ведь это правда, если бы у меня был мозг, я бы не читала маразмы на opennet и уж тем более не отвечала бы на них
Вы там работали?
Тонко!
Зачем нужен Rust, когда есть более современный Carbon?
Чтобы показать как не надо делать новые языки программирования.
> Чтобы показать как не надо делать новые языки программирования.Это про кого из них?
Рад был бы увидеть аналоги на Си или других языках:
1) https://github.com/Qiskit/rustworkx
2) https://github.com/pola-rs/polars
ты даже не можешь рассказать, что оно делает, чего никто до этого не делал.
Навязывают также агрессивно, как и повестку. Видимо одни и те же спонсоры
значит. будешь писать на нем или сдохнешь с голоду