Попёрдывания старого сишника из-за того, что раст не си. Только сишник может ставить языку в минус наличие стандартной библиотеки. «У дедов не было и тебе не надо. Ряяя»
На расте писал лишь однажды и больше не брался, текстом насладился от души.
На самом же деле этот пример даже хуже чем кажется, ведь c println! всё не так просто. Заглянув в исходники Rust, вы увидите, что он определён через макрос format_args_nl!, который в свою очередь имеет буквально следующее определение:
То ли дело printf / vsprintf.
разбор форматной строки является не просто частью подключаемой по умолчанию библиотеки, что можно было бы предположить в случае println!, использованного в примере вывода Hello World, а и вовсе частью компилятора Rust. Сказки о нулевом рантайме рушатся уже на этапе написания первой программы на этом удивительном языке!
Риторика 100
Более того, с тем же успехом объяснить базовый пример можно было так, что непосредственно в языке есть конструкция вывода — и не городить огород с макросами.
Самокритика на уровне.
Сама природа подобных переменных или значений при этом — ячейки оперативной памяти, и работа программы заключается в их изменении.
Сама природа работы с файлами — ленты.
Вновь мы наблюдаем привязку языка к стандартной библиотеке, которая в таком случае теряет своё значение как библиотека и становится просто-напросто частью языка — вновь рушатся иллюзии о нулевом рантайме
Когда они, наконец, дорушатся и автор все-таки допетрит, что такое нулевой рантайм?
замечу только, что знакомая программистам на Си тернарная операция тут мимикрирует под обычный условный опертор, чем провоцирует ещё более частое её использование.
«Я не виноват, она провокационно оделась», тернарный оператор edition.
объявления верхнего уровня в Rust могут идти в любом порядке, то есть мы можем использовать функцию, определённую позже в коде программы [отчего] даже небольшие программы порой компилируются часами.
Что? Разве что на том конкретном тостере, который крутит этот сайт и не тянет даже https.
говоря о безопасных программах на Rust, знайте, что где-то в глубинах они держатся на unsafe-блоках
О нет, а никто и не заметил? Отменяйте всю остальную фигню с лишними проверками, которые только мешает автору, все зря.
<традиционное неосиляторство владения>
no comments
Особо стоит подчеркнуть, что сборщик мусора встроен в стандартную библиотеку, которая неотделима от самого языка, а потому заявления, что Rust — это якобы язык без сборки мусора, — лживы.
Как в программисты попал мыслитель по ассоциации, не умеющий логически дойти до желаемого вывода даже соврав?
veresov.pro
Настоящую шутку приберег на самый конец.
Креатив прекрасен, самодискредитация растохейтеров играет расту на руку.
А кто такой этот Столяров, это он так разжижает мозги?
Вообще говоря, printf в C и println! в Rust - это не одно и то же. В расте есть такая шутка как proc-macro, c её помощью ты тоже можешь сам написать println! и компанию.
А в C есть такая штука как пердолинг с вариадическими аргументами и колупание формат-строки 100% в рантайме, с их помощью ты тоже можешь сам написать vsprintf, printf и компанию, в чем твой посыл?
Про printf! не знал, интересно послушать комментарии.
Про mut лютый бред. Большинство неизменяемых значений уже давно считаются правильным подходом к написанию программ. Эта система дополняет статическую типизацию и призвана упрощать понимание программ и отлавливать какие-то баги, связанные с опечатками.
Про нулевой рантайм. Этого вроде никто не обещал. Но в целом nostd практически нулевой. В C, кстати, простой цикл копирования байтов компилятор может заменить на memcpy. Есть и другие моменты. Причём в C понятия nostd вообще нет, формально должна присутствовать вся амбальная библиотека.
Апелляции к начинающим программистам считаю неуместными, Rust очень сложный язык и однозначно не подходит начинающим программистам.
Долгое время компиляции - справедливо, но многопроходность тут не при чём, уже много десятков лет никто не компилирует программы в один проход.
Внутри unsafe не отключаются все проверки кода, лишь некоторые. Про то, что «все сбегают в мир полного хаоса» - откровенное враньё, во всех крупных программах на Rust, которые я видел, доля unsafe-блоков очень мала.
Далее нытьё по поводу того, что ownership это сложно. Справедливо, это сложно. Ну и что. Шаблоны в C++ это тоже сложно. Что поделаешь, задача автоматического управления памятью с околонулевым оверхедом пока не имеет другого решения.
Восторги про то, что они нашли «сборщик мусора» в стандартной библиотеке, да не один, а целых два, Rc и Arc, не вызывают ничего, кроме жалости.
«в отличие от макросов языка Лисп, макросы Rust пишутся на ином, отличном от базового языке», а можно написать эту фразу как «аналогично макросам Scheme, макросы Rust пишутся на отличном от базового языке» и уже всё смотрится по-другому. Собственно употребление слова «Лисп» это то ли безграмотность, то ли намеренное введение в заблуждение. Лиспов много.
В общем статейка - бездарная попытка потроллить. Никакой пользы в себе она не несёт, вся пропитана передёргиваниями.
Пока на хабре не уберут ограничения для аккаунтов с отрицательным рейтингом или возможность минусовать, он и будет оставаться самоцензурируемой помойкой.
Не сомневайся, авторы таких креативов, по понятным соображениям, считают помойкой любую платформу с возможностью неуправляемого ими комментирования. А остальные, ЧСХ, считают актом свалки мусора постинг самих креативов.
Может этому студенту зачёт какой поставят за статью? Недавно читал на хабре, как его(хабр) перед сессиями, заваливают «статьями» студенты, которым потом ставят за это зачёты, дают дополнительные баллы и т.д.
Ты не прав насчет не несет пользы. Мне до сих пор было лениво читать про раст - за каким-то лядом переизобретенный синтаксис, непонятное владение, куча хайпа. Человек написал статью, где ровно на это и накинулся. Условно говоря, ниасилил за меня, теперь, прочитав его рыдания, мне лучше понятен замысел создателей языка и, возможно, я его таки потыкаю. Отрицание, которое вызывали у меня официальные доки по языку, сменилось отрицанием статьи «критика». Есть польза
Да этот баклан -O не включил в godbolt и насрал пол статьи про про громоздкий ассемблерный код. И не нужно, это же ученик самого Столярова. В итоге выхлоп - развесистое разоврачивание всей библиотеки коллекций по всем функциям. 🤣 Его ничего не смутило, потому что это соответствует его ожиданиям что все должно быть сломано.
Обычная поверхностная истерика, когда сначала решили обосрать незнакомое, а потом начали копать в сторону подтверждения своих предубеждений.
Вообще всю статью можно сократить до одного предложения: я пишу код, который может взорваться при поледующих редакциях, а компилятор бьет мне по рукам за потенциально опасные конструкции.
Лол и как это должно работать? Специальным замедлением компиляции на «плохом коде». Очевидно, что компилятор и так работает так быстро как может. К слову, с тех пор как в раст добавили инкрементальную компиляцию он и так работает норм, если ты, конечно, не правишь каждый раз вообще все файлы с кодом.