LINUX.ORG.RU

Эталонное КГ/АМ.

Уже на моменте где он наличие ‘compiler built-in’ приравнивает к рантайму.

facepalm.jpg

WatchCat ★★★★★
()

Автор забыл что недораст призван заменить кресты. А по сравнению с крестами даже пых весьма неплох

upcFrost ★★★★★
()

Не фанат раста, но эта статья прям кладезь натягивания сов на глобусы

ergo ★★★
()
Ответ на: комментарий от WatchCat

А ты далеко зашел, я первый раз выпал в осадок еще когда на шестом байте пошел текст на каком-то туземском.

t184256 ★★★★★
()

Попёрдывания старого сишника из-за того, что раст не си. Только сишник может ставить языку в минус наличие стандартной библиотеки. «У дедов не было и тебе не надо. Ряяя»

ox55ff ★★★★★
()
Ответ на: комментарий от ox55ff

Попёрдывания старого сишника

судя по аватарке на гитхабе, совсем не старый и вообще предположительно студент

Harald ★★★★★
()

На расте писал лишь однажды и больше не брался, текстом насладился от души.

На самом же деле этот пример даже хуже чем кажется, ведь c println! всё не так просто. Заглянув в исходники Rust, вы увидите, что он определён через макрос format_args_nl!, который в свою очередь имеет буквально следующее определение:

То ли дело printf / vsprintf.

разбор форматной строки является не просто частью подключаемой по умолчанию библиотеки, что можно было бы предположить в случае println!, использованного в примере вывода Hello World, а и вовсе частью компилятора Rust. Сказки о нулевом рантайме рушатся уже на этапе написания первой программы на этом удивительном языке!

Риторика 100

Более того, с тем же успехом объяснить базовый пример можно было так, что непосредственно в языке есть конструкция вывода — и не городить огород с макросами.

Самокритика на уровне.

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

Сама природа работы с файлами — ленты.

Вновь мы наблюдаем привязку языка к стандартной библиотеке, которая в таком случае теряет своё значение как библиотека и становится просто-напросто частью языка — вновь рушатся иллюзии о нулевом рантайме

Когда они, наконец, дорушатся и автор все-таки допетрит, что такое нулевой рантайм?

замечу только, что знакомая программистам на Си тернарная операция тут мимикрирует под обычный условный опертор, чем провоцирует ещё более частое её использование.

«Я не виноват, она провокационно оделась», тернарный оператор edition.

объявления верхнего уровня в Rust могут идти в любом порядке, то есть мы можем использовать функцию, определённую позже в коде программы [отчего] даже небольшие программы порой компилируются часами.

Что? Разве что на том конкретном тостере, который крутит этот сайт и не тянет даже https.

говоря о безопасных программах на Rust, знайте, что где-то в глубинах они держатся на unsafe-блоках

О нет, а никто и не заметил? Отменяйте всю остальную фигню с лишними проверками, которые только мешает автору, все зря.

<традиционное неосиляторство владения>

no comments

Особо стоит подчеркнуть, что сборщик мусора встроен в стандартную библиотеку, которая неотделима от самого языка, а потому заявления, что Rust — это якобы язык без сборки мусора, — лживы.

Как в программисты попал мыслитель по ассоциации, не умеющий логически дойти до желаемого вывода даже соврав?

veresov.pro

Настоящую шутку приберег на самый конец.

Креатив прекрасен, самодискредитация растохейтеров играет расту на руку.

А кто такой этот Столяров, это он так разжижает мозги?

t184256 ★★★★★
()
Ответ на: комментарий от t184256

То ли дело printf / vsprintf.

printf/vsprintf или его аналог можно совершенно спокойно написать самостоятельно средствами языка, не имея стандартной библиотеки

Harald ★★★★★
()

Это такой тонкий троллинг Столярова?

AP ★★★★★
()
Ответ на: комментарий от Harald

Вообще говоря, printf в C и println! в Rust - это не одно и то же. В расте есть такая шутка как proc-macro, c её помощью ты тоже можешь сам написать println! и компанию.

anonymous-angler ★☆
()
Последнее исправление: anonymous-angler (всего исправлений: 1)
Ответ на: комментарий от anonymous-angler

А в C есть такая штука как пердолинг с вариадическими аргументами и колупание формат-строки 100% в рантайме, с их помощью ты тоже можешь сам написать vsprintf, printf и компанию, в чем твой посыл?

t184256 ★★★★★
()

Натянуто.

  1. Про printf! не знал, интересно послушать комментарии.

  2. Про mut лютый бред. Большинство неизменяемых значений уже давно считаются правильным подходом к написанию программ. Эта система дополняет статическую типизацию и призвана упрощать понимание программ и отлавливать какие-то баги, связанные с опечатками.

  3. Про нулевой рантайм. Этого вроде никто не обещал. Но в целом nostd практически нулевой. В C, кстати, простой цикл копирования байтов компилятор может заменить на memcpy. Есть и другие моменты. Причём в C понятия nostd вообще нет, формально должна присутствовать вся амбальная библиотека.

  4. Апелляции к начинающим программистам считаю неуместными, Rust очень сложный язык и однозначно не подходит начинающим программистам.

  5. Долгое время компиляции - справедливо, но многопроходность тут не при чём, уже много десятков лет никто не компилирует программы в один проход.

  6. Внутри unsafe не отключаются все проверки кода, лишь некоторые. Про то, что «все сбегают в мир полного хаоса» - откровенное враньё, во всех крупных программах на Rust, которые я видел, доля unsafe-блоков очень мала.

  7. Далее нытьё по поводу того, что ownership это сложно. Справедливо, это сложно. Ну и что. Шаблоны в C++ это тоже сложно. Что поделаешь, задача автоматического управления памятью с околонулевым оверхедом пока не имеет другого решения.

  8. Восторги про то, что они нашли «сборщик мусора» в стандартной библиотеке, да не один, а целых два, Rc и Arc, не вызывают ничего, кроме жалости.

  9. «в отличие от макросов языка Лисп, макросы Rust пишутся на ином, отличном от базового языке», а можно написать эту фразу как «аналогично макросам Scheme, макросы Rust пишутся на отличном от базового языке» и уже всё смотрится по-другому. Собственно употребление слова «Лисп» это то ли безграмотность, то ли намеренное введение в заблуждение. Лиспов много.

В общем статейка - бездарная попытка потроллить. Никакой пользы в себе она не несёт, вся пропитана передёргиваниями.

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 2)

Качество статьи конечно же ужасное, но для всяких там хабр сойдёт.

Правда, уверен, автор и его науч считают хабр помойкой.

luke ★★★★★
()
Ответ на: комментарий от Legioner

Он называет нулевым рантаймом zero runtime cost (которого быть не может, и это все враки, потому что в стандартной библиотеке есть XYZ, ога).

t184256 ★★★★★
()

Что касается let/let mut/const, то:

fn foo(x: i32) {
    let a = x + 1; // OK
    let mut b = x + 1; // OK
    const C: i32 = x + 1; // ERROR
}

Это абсолютно логично. const - это то, что может быть будет посчитано во время компиляции. В отличии от двух остальных.

anonymous-angler ★☆
()
Последнее исправление: anonymous-angler (всего исправлений: 1)
Ответ на: комментарий от luke

Пока на хабре не уберут ограничения для аккаунтов с отрицательным рейтингом или возможность минусовать, он и будет оставаться самоцензурируемой помойкой.

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 1)
Ответ на: комментарий от luke

Не сомневайся, авторы таких креативов, по понятным соображениям, считают помойкой любую платформу с возможностью неуправляемого ими комментирования. А остальные, ЧСХ, считают актом свалки мусора постинг самих креативов.

t184256 ★★★★★
()

Ибо мастдай!!!

Ща почитаю.

praseodim ★★★★★
()

Может этому студенту зачёт какой поставят за статью? Недавно читал на хабре, как его(хабр) перед сессиями, заваливают «статьями» студенты, которым потом ставят за это зачёты, дают дополнительные баллы и т.д.

th3m3 ★★★★★
()
Ответ на: комментарий от Legioner

Ты не прав насчет не несет пользы. Мне до сих пор было лениво читать про раст - за каким-то лядом переизобретенный синтаксис, непонятное владение, куча хайпа. Человек написал статью, где ровно на это и накинулся. Условно говоря, ниасилил за меня, теперь, прочитав его рыдания, мне лучше понятен замысел создателей языка и, возможно, я его таки потыкаю. Отрицание, которое вызывали у меня официальные доки по языку, сменилось отрицанием статьи «критика». Есть польза

bl00dy
()
Ответ на: комментарий от anonymous-angler

Чот бредит он, а стыдно за него почему-то мне ):

это потому что бред русскоязычный, а разместил он его в зоне .com:(

crypt ★★★★★
()
Ответ на: комментарий от Harald

Ничего плохого, если в рамках борьбы за истинно верный компутер сайенс

В итоге, ресурсы заваливают некачественным контентом, потом студенты ещё написывают редакторам, чтобы быстрее промодерировали статьи 🤦‍♂️

th3m3 ★★★★★
()

Чет орнул с фразы

Прежде всего он ставит своей задачей наказание за написание недостойного (по мнению его создателей) кода, а не поощрение за написание хорошего кода

«Помогитеб миня обижает коспилятор! Говорит, что мой неработающий кодб говно, плак плак»

Что вообще такое «поощрение за написание хорошего кода»? Компилятор за тебя алгоримы напишет? ЗП поднимет?

Aswed ★★★★★
()
Последнее исправление: Aswed (всего исправлений: 1)
Ответ на: комментарий от Aswed

Что вообще такое «поощрение за написание хорошего кода»? Компилятор за тебя алгоримы напишет? ЗП поднимет?

например, быстрая, этого хорошего кода, компиляция

Harald ★★★★★
()
Ответ на: комментарий от Legioner

Да этот баклан -O не включил в godbolt и насрал пол статьи про про громоздкий ассемблерный код. И не нужно, это же ученик самого Столярова. В итоге выхлоп - развесистое разоврачивание всей библиотеки коллекций по всем функциям. 🤣 Его ничего не смутило, потому что это соответствует его ожиданиям что все должно быть сломано.

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

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 3)

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

Aswed ★★★★★
()
Ответ на: комментарий от Aswed

компилятор бьет мне по рукам

«Это возмутительно! Завтра снова пойду.»

Nervous ★★★★★
()
Ответ на: комментарий от Harald

Лол и как это должно работать? Специальным замедлением компиляции на «плохом коде». Очевидно, что компилятор и так работает так быстро как может. К слову, с тех пор как в раст добавили инкрементальную компиляцию он и так работает норм, если ты, конечно, не правишь каждый раз вообще все файлы с кодом.

Aswed ★★★★★
()

Уровень придирок в статье выставляет не в лучшем свете качество обучения у Столярова.

А это я только несколько абзацев прочитал.

theNamelessOne ★★★★★
()

Долгожданная статья

@Reset, долго ждал?

vertexua ★★★★★
()
Ответ на: комментарий от Harald

Попёрдывания старого сишника

совсем не старый и вообще предположительно студент

Ну тогда всё совсем печально — парень не умеет думать головой и просто транслирует попёрдывания старого преподавателя:

Я учусь на программиста в МГУ, под научным руководством А.В. Столярова

theNamelessOne ★★★★★
()
Ответ на: комментарий от vertexua

Ахаха, не надо спойлерить, я хочу сам этим насладиться.

theNamelessOne ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.