Организация Rust Foundation объявила о начале публичного обсуждения нового чернового варианта правил использования товарных знаков, связанных с языком программирования Rust и пакетным менеджером Cargo. В новом варианте учтены замечания и критика, высказанные в прошлом году при первой попытке принятия правил в отношении товарных знаков Rust. Утверждается, что правила, которые намерены утвердить до конца года, нацелены прежде всего на защиту интересов сообщества и целости языка программирования Rust, а также на пресечение злоупотреблений и попыток представить сторонние разработки как часть основного проекта...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=62190
Вполне нормально, кстати.
>> Убран запрет использования слов "rust" и "cargo" в именах пакетов. Префиксы "rust-" и "cargo-" больше не рассматриваются как зарезервированные за проектом Rust.GO смотрит на неудачников с презрением. Уже норма "go-штота-там" репу назвать.
Да и здесь видел "го пилить реактос".
>> Разрешено изменение цвета логотипа проекта.Учитесь )))
https://go.dev/blog/go-brandА Go Mascot только ленивый не перекрашивал/перерисовывал.
кажись они у яндэкса логотип спёрли
На маскот в Rust не распространяется никаких ограничений, он не товарная марка.
> правил использования товарных знаков RustКогда коту делать нечего он кутикулы полирует.
Стабилизировать API/ABI? Причесать синтаксис? Нет, что вы...
Заниматься картинками и писать пространные COC куда проще. Даже людей специально искать не придется - любая домохозяйка сможет.
Rust как был, так и остается переростом формы над содержанием.
> Стабилизировать API/ABI?Сразу видно человека, который ни разу не писал софта на rust.
> Сразу видно человека, который ни разу не писал софта на rust.Всегда казалось очевидным, что никто в здравом уме никакой серьезный продакшн на Rust писать не будет. А на переписывание su и sudo или просто поупражняться в стол, простите, у меня нет времени.
Ну и изучать вырвиглазное кракозябрие синтаксиса Rust можно либо за большие деньги, либо будучи альтернативно одаренным. Какой хорошей и правильной не была бы концепция, реализация все портит. К сожалению, все те бонусы которые дает Rust не перекрывают его недостатки.
Очень рад, что вам Rust не интересен. Людей с таким отношением к делу будет меньше в сообществе - оно здоровее будет.
Вот у плюсов нет стабильного ABI, и распространению как-то не помешало.
А по поводу синтаксиса:> impl<'a, T: 'a, P: FnMut(&T) -> bool> Split<'a, T, P> {
> pub(super) fn new(slice: &'a [T], pred: P) -> Self {
> Self { v: slice, pred, finished: false }
> }
> ...
> }Попробуй придумать вариант синтаксиса более приятней БЕЗ ПОТЕРИ СИМАНТИКИ
Вот придумал версию а-ля Pascal/Ada> generic
> a is lifetime;
> T is type with lifetime a;
> P is mutation function(ref of T) return bool;
> implementation Split<lifetime a, T, P> begin
> public(super) function new(slice: ref<lifetime a> of slice of T; pred: P) return Self;
> begin
> return Self { v: slice, pred, finished: false }
> end;
> end;для не знающих раст наверное стало понятней (и то не факт), а вот для повседнева стало нагромождённей и многословней для печати
Чем "многословность" плоха? Особенно если учесть что слов несильно и больше, а слова сегодня дописывают IDE, плюс большую часть времени программист обдумывает задачу, а написание кода на скорость - это довольно бредово.
До выхода Rust C++ был самым стрёмным языком по количеству нагромождений, но Rust - это следующий уровень. И это притом что код на C++ можно зачастую переписать более просто для восприятия, то Rust чисто концептуально не даст этого сделать.
>>Чем "многословность" плоха?WriteOnly
Как бы IDE не автодополняла, при чтении она не поможет, и словесный спам никто в здравом уме разбирать не станет.
Приведенная пародия на язык программирования,это тот случай, когда на макроассемблере и читаемее и короче.
> многословней для печатиМногословность печати минимум 20 лет как решает intellisense и автокомплит.
Вместо этого Rust скатывается в скобочки, кавычки, апострофы и стрелочки. Предложил бы автору добавить значки из unicode - код станет значительно веселей. Флажки, смайлики, цветочки и всякое такое.
Сокращение fn - вообще за гранью добра и зла. Почему не f или _? Наверное потому, что f и _ уже зарезервированные ключевые слова. А правильно, в стиле Rust, было бы:
> (fn) -> new(...) -> (Self) {
> -> Self {}
> }
>Как всем известно, скобочки и стрелочки лишними не бывают.
Если честно, искренне не понимаю, зачем было добавлять столько ненужных, мусорных знаков препинания. Без синтаксического мусора лексер написать не осилили?
> Попробуй придумать вариант синтаксиса более приятней БЕЗ ПОТЕРИ СИМАНТИКИКак минимум стоило бы убрать все лишние знаки препинания, звездочки, скобочки и остальной мусор:
> impl<'a, T 'a, P FnMut(&T)bool> Split<'a, T, P> {
> pub super func new(slice &'a [T], pred P) Self {
> Self { v: slice, pred: pred, finished: false }
> }
> ...
> }Почему параметры шаблона повторяются многократно?
> impl Split<'a, T 'a, P func(&T)bool> {
> pub super func new(slice &'a [T], pred P) Self {
> Self { v: slice, pred: pred, finished: false }
> }
> ...
> }Явное указание времени жизни - какой-то отдельный Rust-оманский ад. Получается, ссылка на массив T, а следовательно и сам массив не может неявно увеличивать время жизни самих вложенных T? Или объект Slice не ссылается явно на массив через `v' увеличивая время его жизни? Какую проблему решает здесь введение 'a? Почему вот такой код не должен работать:
> impl Split<T, P func(&T)bool> {
> pub super func new(slice &[T], pred P) Self {
> Self { v: slice, pred: pred, finished: false }
> }
> ...
> }Что значит mutable function в Rust? Что код функции будет меняться, патчится на лету (запись в секцию .text или что)? Или аргумент переданный в new(pred) в будущем каким-то образом изменится и повлияет на значение Split.pred? Или mutable относится к данным, передаваемым в функцию? Обыграли модификатор const, чтоб не как у всех, но сделали это максимально неубедительно.
> Вот у плюсов нет стабильного ABI, и распространению как-то не помешало.Откуда взялась эта мантра и зачем её распространять? Ищите и обрящете.
System V Application Binary Interface
AMD64 Architecture Processor SupplementChapter 9
Conventions9.1 C++
For the C++ ABI we will use the IA-64 C++ ABI and instantiate it appropriately.
The current draft of that ABI is available at:
http://www.codesourcery.com/cxx-abi/
> Стабилизировать API/ABI?Есть ABI платформы. API уже более десятилетия стабилен.
> Причесать синтаксис?
Что с ним не так?
> Что с ним не так?Добавить наконец properties, что б не писать костыли.
Улучшить совместимость с Си в плане структур, чтоб в проект на с++ не вставлять файлы на си, из за деревянного синтаксиса в с++. А то для контроллеров низкоуровневый код не реализуем на с++ без извращений.А в остальном сейчас всё хорошо.
Самое главное в ЯП - это правила использования товарных знаков
И суровые наказания за нарушение правил, которое
> оценивается с использованием субъективных критериевТак победим-с
Они там CoC.md актуализировали в соотвествие с новыми правилами?