The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Доступен язык программирования Rust 1.15"
Отправлено Ordu, 04-Фев-17 20:38 
> Если даже у Рэймонда от раста батхёрт

Я чесслово лучше о нём думал. Не знаю даже почему, но почему-то я думал, что он в состоянии учиться. Очевидно, ошибался. Даже удивляюсь теперь, почему я сразу не подумал о том, что в его довольно почтенном возрасте, ЧСВ несомненно зашкаливает, и любые проблемы с новым воспринимаются как проблемы нового, а не проблемы блестящих мозгов носителя этого ЧСВ.
Но я, тем не менее, продолжаю верить, что с Go он справится. Там попроще, нет ничего существенно нового. Не должно быть ничего существенно нового для Рэймонда. Ну, кроме синтаксиса быть может.

> Even things that should be dirt-simple, like string concatenation, are unreasonably difficult.

Ага. Это он ещё не пробовал реализовать какой-нибудь список. Интересно, что он сказал бы, когда, потратив дня два, он бы справился с операцией insert и, утерев со лба пот, задумался бы о том, как можно реализовать remove.

Во всём это баттхёрте C/C++ программистов, меня особенно развлекает их святая убеждённость в том, что они лучше всех знают, какие вещи должны быть dirt-simple. Ну, а как иначе? Они ведь C/C++, элита программистов, они просто боги программирования и ручного управления памятью. Как они могут не знать этого? Но при чтении простыней текста, порождённых баттхёртом, у меня складывается впечатление, что они не от великого знания пришли к выводам о том, что должно быть простым, а гораздо более прямолинейно: простым должно быть то, что просто в C/C++. Забывая при этом, что rust не C/C++ и не ставит перед собою цели быть похожим на них (чего не скрывает, и о чём прямо сходу заявляет своим синтаксисом -- объявления типов переменных/функций явно слизаны с pascal, только что слова function/procedure заменили на краткое fn), но пытается сделать сложные вещи, потенциально приводящие к негативным нелокальным последствиям, сложными локально, на уровне грамматики.

> The language demands a huge amount of fussy, obscure ritual before you can get anything done.

Да-да, именно такие заявления меня и наводят на мысль о том, что такие личности пытаясь написать что-то на расте, не понимают, что делают. Не понимают зачем они делают то, что делают. Поэтому все эти телодвижения превращаются для них в загадочный, неприятный и сложный ритуал.
Ну, реально. Зачем rust заставляет нас засовывать элементы создаваемого нами списка в Rc, если в сишечке и без этого работает? Но если мы глянем в гайдлайны для написания ядерного кода linux, там почему-то тоже настоятельно рекомендуется использовать ref_count для элементов списков. Странное совпадение, да?
Наводит на еретическую мысль, что язык без gc -- кусок шита. Хотя нет, о чём это я...
Что список уродская структура, которой не место в репертуаре грамотного программиста. Опять что-то не то...
Что rust абсолютно прав в своих притязаниях, и конечно же, надо упаковывать элементы списка в Rc.

С другой стороны, если честно, я не очень понимаю, о чём говорит Рэймонд. Не вижу больших проблем конкатенировать строки. Я вот специально заглянул в официальную книжку по расту, и там действительно есть пример:
let mut s = "Hello".to_string(); // mut s: String
println!("{}", s);

s.push_str(", world.");
println!("{}", s);

Может он под строками понимает слайсы &str? Это похоже на правду -- похоже на того рода глупость, которую можно ожидать от C программиста, который четыре дня поигрался с rust'ом. Ну и да, слайсы сложнее конкатенировать, вероятно, ещё и ужасный unsafe придётся использовать.
Но если бы Рэймод был бы не только писателем, но и читателем, он бы прочитал в той же книге о том, что если хочется работать с mutable строками, то следует использовать String, а не &str. String инкапсулирует в себе все эти сложности и небезопасности, выставляя наружу полностью safe API. И прежде чем погружаться в изучение этих сложностей и небезопасностей, стоит хотя бы примерно освоить rust на задачках попроще. Но ЧСВ не позволяет -- если уж брать какую-нибудь учебную задачу для освоения языка, так надо сразу irc-сервер, да ещё и со всеми возможными сложностями и небезопасностями, вплоть до конкатенирования строк на стеке, контролируя каждую сгенерённую rust'ом машинную инструкцию. Честолюбивый план, но не для всех. Некоторым не дано с ним справиться. И не все готовы с этим смириться.

> Значит язык ещё очень сырой и не скоро будет готов для продакшена.

Если я угадал с тем, на какие грабли наступил Рэймонд, то сырой не язык, а Рэймонд.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру