Состоялся (https://blog.rust-lang.org/2018/06/21/Rust-1.27.html) релиз языка системного программирования Rust 1.27 (http://www.rust-lang.org), развиваемого проектом Mozilla. Язык сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime.
Автоматическое управление памятью в Rust избавляет разработчика от манипулирования указателями и защищает от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo (http://blog.rust-lang.org/2014/11/20/Cargo.html), позволяющий получить нужные для программы библиотеки в один клик. Для размещения библиотек поддерживается репозиторий crates.io (https://crates.io/).
В подготовке нового выпуска принял участие 131 разработчик. Основные новшества (https://github.com/rust-lang/rust/blob/master/RELEASES.md#ve...:
- Добавлена (https://github.com/rust-lang/rust/pull/49664/) поддержка параллельной обработки данных c использованием инструкций SIMD (https://ru.wikipedia.org/wiki/SIMD). В разряд стабильных переведены модули std::arch::x86 (https://doc.rust-lang.org/std/arch/x86/index.html) и std::arch::x86_64 (https://doc.rust-lang.org/std/arch/x86_64/index.html) (std::arch::arm пока остаётся экспериментальным), предоставляющие доступ к процессорным инструкциям SIMD, для определения поддержки которых предложены макрос "is_x86_feature_detected", атрибут '#[target_feature(enable="")]' и проверочная конструкция '#[cfg(target_feature = "...")]'. К инструкциям можно обращаться напрямую, без выноса логики их задействования на плечи компилятора. Например, можно подготовить несколько вариантов обработчиков функции, один из которых использует AVX2, а другой применяется на системах без поддержки SIMD:fn foo() {
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
{
if is_x86_feature_detected!("avx2") {
return unsafe { foo_avx2() };
}
}
foo_fallback();
}
В настоящее время для вызова SIMD в std::arch предлагаются только низкоуровневые примитивы, но в будущих выпусках ожидается появление высокоуровневого интерфейса std::simd, который пока не прошёл стадию стабилизации. Кроме того, уже развиваются библиотеки для упрощения упрощения применения SIMD, например доступен модуль faster (https://github.com/AdamNiederer/faster), а в модуль regex добавлен код для использования SIMD для ускорения обработки данных;- Предложен (https://github.com/rust-lang/rust/pull/49968/) новый синтаксис для создания объектов trait - "dyn Trait", который синтаксически эквивалентен старому Trait, но унифицирован с учётом нового выражения "impl Trait" (т.е. чтобы не создавать путаницу c impl предлагается явно писать "dyn"). Например, вместо "&Trait" теперь рекомендовано писать "&dyn Trait", вместо "&mut Trait" - "&mut dyn Trait", а вместо "Box‹Trait›" - "Box‹dyn Trait›". Поддержка старого синтаксиса оставлена для обеспечения совместимости но не рекомендована к использованию;
- Обеспечена (https://github.com/rust-lang/rust/pull/48925/) возможность применения атрибута "#[must_use]" к функциям, а не только к типам. Указание данного атрибута приведёт к выводу предупреждения, если выданное функцией значение в дальнейшем не используется в программе. В стандартной библиотеке данный атрибут уже выставлен (https://github.com/rust-lang/rust/blob/master/RELEASES.md#ve... для функций std::str::replace, Clone::clone, Iterator::collect и ToOwned::to_owned. Например, использование "#[must_use]" помогает выявить ошибки (https://github.com/rust-lang/rust/pull/50177/) вида выполнения функции без присвоения результата;
- Стабилизированы атрибуты над базовыми параметрами, такими как типы. Например: "fn foo‹#[lifetime_attr] 'a" и "#[type_attr] T: 'a›() {}";
- В разряд стабильных переведена (https://github.com/rust-lang/rust/blob/master/RELEASES.md#ve... новая порция API, в том числе DoubleEndedIterator::rfind/rfold/try_rfold, Duration::from_micros/from_nanos/subsec_micros/subsec_millis,
HashMap::remove_entry, Iterator::try_fold/try_for_each,
NonNull::cast, Option::filter, String::replace_range,
Take::set_limit, process::id и slice::rsplit_mut/rsplit/swap_with_slice;
- В базовый состав (core) из std перенесены многие методы для работы с типами [u8], f32 и f64;
- В пакетный менеджер cargo добавлен флаг "--target-dir" для изменения целевого каталога. Также добавлен код для автоматического определения тестов, примеров и исполняемых файлов в проекте без их явного упоминания в настройках. В cargo-metadata включены поля authors, categories, keywords, readme и repository. Обеспечено кэширование информации от компилятора (для отключения можно указать CARGO_CACHE_RUSTC_INFO=0);
- Добавлена возможность поиска в разделе документации на сайте doc.rust-lang.org;- Добавлена поддержка новой целевой платформы "armv5te-unknown-linux-musl".
URL: https://blog.rust-lang.org/2018/06/21/Rust-1.27.html
Новость: https://www.opennet.dev/opennews/art.shtml?num=48821
Rust не панацея. Помню писали, вот перепишем движок Firefox на Rust и не будет уязвимостей. И что, новые Firefox перевели на Stylo, но как исправляли по 10 критических уязвимостей в каждом релизе, так и исправляют. Видимо кроме безопасного языка ещё нужен ещё и безопасный подход.
Stylo - движок CSS. Всего лишь малая часть от самого движка Servo, который еще в разработке.
> избавляет от проблем с текущей памятью
> ухх безопасный язык не спасает от уязвимостей; ухх какая неожиданность
> Видимо ВМЕСТО безопасного языка нужен безопасный подход.fixed
какая разница, если уязвимости прямо в процесоорах
"как исправляли по 10 критических уязвимостей в каждом релизе, так и исправляют"Так хотя бы исправляют.
На LOR'е предсказывали, что Rust победит в скором времени все сзяки программирвоания и останется только один Rust, а остальные ЯП будут не нужны.
> сзяки программирвоанияВот что бывает, когда не высыпаешься. Не повторяйте моих ошибок!
Всё ты правильно написал. Сзяки победят и потом сами сдохнут. А другие языки как развивались (ну кроме Лиспа, Хаскеля и Эрланга), так и продолжат развиваться.
оставаясь вечно недоразвитыми
Лисп же уже достиг совершенства, а программисты на Лиспе -- блаженства. Поэтому-то они и не пишут код. На кой чёрт блаженным программировать?
Предлагаю всё форкнуть и переписать на "сзяки".Человеческие языки тоже).
> На LOR'е предсказывали, что Rust победит в скором времени все сзяки программирвоания
> и останется только один Rust, а остальные ЯП будут не нужны.ЛОРу-то и поделом. Не жалко.
Go растёт как на дрожжах. Везде Go-Go-Go, большие проекты, малые проекты.
А выбора то и нет для тех, кто не хочет си, си++, джава, скриптовые, функциональные и некрофильные типа паскаля.
А раст как был в полутора проектах, так и остаётся пока.
Rust хорошая альтернатива C\C++.
Golang же отличная замена для всяких nodejs.
Не вижу особой связи нодежс и голанга.
На голанге можно взять и навалять практически любое приложение в виде самодостаточного бинарника, который взлетит на линуксе, винде, макос. А на нодежс ? Наворотить гору всякого треша чтобы запустить ?
> Не вижу особой связи нодежс и голанга.
> На голанге можно взять и навалять практически любое приложение в виде самодостаточного
> бинарника, который взлетит на линуксе, винде, макос. А на нодежс ?Как туго нынче с головой у анонимма, а. Бинарники у него кроссплатформенные, а нода не кроссплатформенная.
Go кросплатформенный. Бинарник под платформу самодостаточен. И если тот же питон под тот же линукс имеется штатно, то нода не очень.
Склепать самодостаточное Python-приложение, особенно с numpy, Matplotlib и прочим - тот ещё геморрой с 0,75-1,1 Гб размером дистра и 5-10 минутами сборки костылями, а потом ещё вручную сжимать самые жирные либы, потому что в PyInstaller это автоматом не работает, а в cx_freeze поламали.
Так о том и речь. Что интерпретаторы и всякие комбайны типа ноды имеют откровенные недостатки.
Поделись сакральными откровениями, что не может нода в Linux и может в винде и наоборот?
А это из каких закоулков сумрачного сознания извлечено было?
Как хорошо было с паскалем/delphi, жаль не потянули вовремя linux.
Несмотря на многословность и "недоразвитость" с т.з. многих, в виде Delphi позволял решать прикладные задачи с невысокими трудозатратами (по сравнению с c++), и при этом создавать вполне рабочие и удобные приложения с полноценными пользовательскими интерфейсами не сильно жрущими ресурсы.
А может туго с головой у того, кто заменяет "самодостаточное" на "кроссплатформенное", а потом героически опровергает полученную чушь?
ну че как маленький?! "самодостаточная" обертка для ноды называется electron.
И даже "кроссплатформенная" - линукс и виндовс. Целых две платформы, это ж много.
C/C++ будут всегда. Почему? Никто не будет миллионы строк Linux переписывать на Rust.
А солдат не может два мешка брюквы съесть.
Go - примитивен. На нем, конечно, можно создавать прогдукты приличной сложности, но сам по себе язык примитивнее, чем, например, C++, из-за чего приходится писать много кода, там, где можно было бы обойтись одним шаблоном.А Rust оказался таким сложным, в что в него без PhD не въедешь. Создатели раста боятся признать, что барьер въезда в язык очень высок. Народ его щупает, но очень осторожно. Раст уже на самом деле лет пять уже существует, но распостранённость у него можно сказать никакая.
> ...Создатели раста боятся признать, что барьер въезда в язык очень высок...Вроде не боятся, но судя по "отзывам" школьное образование стало сильно хуже в последние годы, видать поколение телефончиков/приставок немного разбазарило ресурсы в детсве...
Нету там рокетсайнса если читать официальные доки и книгу раста.
> На LOR'е предсказывали, что Rust победит в скором времени все сзяки программирвоания
> и останется только один Rust, а остальные ЯП будут не нужны.И не будет больше ни книг, ни кино, ни театра, ни радио. Одно сплошное телевидение. (С) "Москва слезам не верит". :)))
Так и есть. Один сплошной Ю-туб.
>> На LOR'е предсказывали, что Rust победит в скором времени все сзяки программирвоания
>> и останется только один Rust, а остальные ЯП будут не нужны.
> И не будет больше ни книг, ни кино, ни театра, ни радио.
> Одно сплошное телевидение. (С) "Москва слезам не верит". :)))Книг почти нет, театр по сути умирает, если сходить на "недорогие спектакли", складывается впечатление что лучше бы и не было...
Когда-то в Пентагоне то же самое предсказывали для Ады. Где теперь та Ада?
Ада в Пентагоне.
Если бы у ады была более либеральная лицензия, то Rust был бы не нужен.
> предсказывали, что Rust победит в скором времени все сзяки программирвоанияКогда ядро перепишут, тогда и приходите
Зачем переписывать. Запилят транслятор.
> Автоматическое управление памятью в Rust избавляет разработчика ...Сколько можно, новинка что-ли? Было в джаве, питон, D, шарпе, много где.
Это же как детский велосипед с дополнительными колёсиками, не дают упасть, но снижает манёвренность и скорость. И вызывает насмешки тех, кто научился ездить без таких костылей.
Покажите в перечисленных языках этот "детский велосипед" "без использования сборщика мусора и runtime." А то я подозреваю, что после первой же встречи с borrow checker вы кроме как на костылях ходить не сможете.
Так и запишем - Borrow checker ломает программистам ноги.
Полно soft real time приложений на Java. Высоконагруженные биллинги, трейдинги, диспетчеризации и т.д.
Ой да ладна. Оно "софт реалтаймовое" только потому-что не оффлайновое. Сидишь и по 40 секунд ждешь пока выстрелит.
Не стоит фантазировать на тот счет, что задержка именно из-за скорости языка, тем более компилируемого в машинные инструкции.
Как правило тормозят ввод-вывод и база.
> Сколько можно, новинка что-ли? Было в джаве, питон, D, шарпе, много где.Ну, когда управление памятью базируется на auto/unique_ptr, то это вроде действительно новинка. Ну, и автоуправление памятью часто очень сильно помогает со сложной алгоритмикой. Подозреваю, что не только с читаемостью, но даже и со скоростью становится лучше, т.к. компилятор может делать высокоуровневые оптимизации, недоступные в ручном управлении в стиле С++.
> Ну, когда управление памятью базируется на auto/unique_ptr, то это вроде действительно
> новинка.Блин, товарищи подсказывают, что нет - это т.н. "линейные типы", реализованные в языке Clean (аналог Хаскеля, только значительно быстрее).
>> Автоматическое управление памятью в Rust избавляет разработчика ...
> Сколько можно, новинка что-ли? Было в джаве, питон, D, шарпе, много где.Только там в рантайме, а тут - во время компилирования.
Благо, мощность железа (как и сложность ПО) со времен изобретения плюсов (тем более - си) увеличилась много-много-многократно и можно таки попытаться использовать эти мощности не только для отъедания во время выполнения программы (т.е. проверок в рантайме) но и для более вдумчивого анализа при компиляции.
>> Автоматическое управление памятью в Rust избавляет разработчика ...
> Сколько можно, новинка что-ли? Было в джаве, питон, D, шарпе, много где.на таком уровне не было. Разве что в хаскеле, но там свои заморочки.
Вот лет через 5 добавят async-функции -- тогда заживем
Уже подвозят потихоньку – https://github.com/rust-lang/rust/pull/51580
"x86", "avx2" - это всё должны быть константы, а не строки.
В разрабах раста, видимо, много любителей криптографии.
Какое-то такое ощущение синтаксис оставляет.
Стандартный алголо-подобный синтаксис.
Имеется в виду совершенно неочевидное нагромождение разнородных скобок и неочевидное нагромождение спецсимволов и т.п. Когда имеешь опыт программирования на нескольких языках, смотришь в код раст и не понимаешь, что именно он делает. Это, как мне кажется, не очень хорошо.
Примерно как те самые годные скрипты на перле :)
Когда автор через месяц не может их прочитать.
Если глянуть на розеттакоде, то примеры на расте выглядят ужасненько.
Пробовал некоторое время назад поставить раст, но дальше хелло ворлда дело не зашло.
Если на перле есть всё на CPAN. На питоне ответ на вопрос нагугливается за 1-5 минут. На гоу - чуть дольше и потом возможно придётся полдня поковыряться, поразбираться, изучить код чужой либы.
То на расте просто нет ничего.
Очевидная же смесь OCaml и C++. Какие же вы языки программирования знаете, если вас удивляет синтаксис Rust? Дальше сиподобных ничего не видели?
Из того, на чём существенные объёмы писались - бейсик, паскаль, перл, питон, го.
> Из того, на чём существенные объёмы писались - бейсик, паскаль, перл, питон,
> го.А где LISP, FORTRAN, COBOL, Цэ и т.д.?
Согласен насчет синтаксиса. Зачем было создавать такой барьер для освоения?
Вероятно, когда у основных разрабов пропадет интерес, то приутихнут и все остальные.
Такое ощущение, что раст создавался скорее для прочесывания своего ЧСВ, чем для реального применения.
Нормальный синтаксис, непривычный для новичков только. У опытных уже особых претензий к нему не возникает. Единственный серьезный недостаток - плохая читаемость сигнатур функций с обобщенными типами. Но это, во-первых, поправимо, а во-вторых - в сигнатуре компактно содержится большое количество информации о типах функции, так что тут +/-. Если читать функции в IDE с подстветкой имен, то вообще проблемы нет.
> Имеется в виду совершенно неочевидное нагромождение разнородных скобок и неочевидное нагромождение
> спецсимволов и т.п. Когда имеешь опыт программирования на нескольких языках, смотришь
> в код раст и не понимаешь, что именно он делает. Это,
> как мне кажется, не очень хорошо.
> Примерно как те самые годные скрипты на перле :)
> Когда автор через месяц не может их прочитать.Дело в том, что синтаксис Rust'а непривычен, но он вполне очевиден. То есть, когда вы привыкните к обобщенным типам и к указанию переменных типа в угловых скобках, к заимствованиям и лайфтаймам, к использованию типажей, то у вас никаких серьезных сомнений не возникнет, глядя на свой или чужой код. Уже имеющим опыт разработки на Rust такой синтаксис никак не затрудняет понимание происходящего в коде.
Мне жаль людей, искалеченных ордами языков с C-подобным синтаксисом. У Rust синтаксис непривычен потому, что он вдохновлён языками семейства ML, которые, вообще-то, существуют уже десятки лет. Нужно расширять кругозор, а то вы прямо как дед, который не любит сенсорные телефоны только потому, что всю жизнь нажимал кнопки и дёргал рычаги.
Не надо оверинженеринг сравнивать с маразматическим дедом.
Никто не будет оплачивать любителей криптографических языков, оплачивают решение задач.
> Никто не будет оплачивать любителей криптографических языков, оплачивают решение задач.Ну тогда какая разница, привычен синтаксис Rust или нет? Или разработчики настолько отупели, что не могут осилить другой синтаксис, даже если язык гораздо лучше решает поставленные задачи? К тому же, упоминать криптографию в отношении Rust вообще должно быть стыдно, учитывая сравнительную читабельность жутко популярного C++.
> использование "#[must_use]" помогает выявить такие ошибки, как выполнение функции без присвоения результата;Поясните, кто знает. Раньше НЕ использование результата не void ф-и не считалось ошибкой в расте?
Странно как-то. Было ощущение, что такие вещи там изначально должны были обрабатываться с предупреждением, если вообще допускаться.
> Странно как-то. Было ощущение, что такие вещи там изначально должны были обрабатываться
> с предупреждением, если вообще допускаться.Зависит от ситуации.
> Раньше НЕ использование результата не void ф-и не считалось ошибкой в расте?Не считалось. Были специальные типы (например, Result) неиспользование которого считается ошибкой, но вот так, чтобы для -- нет.
> такие вещи там изначально должны были обрабатываться с предупреждением, если вообще допускаться.
Почему же? Rust -- не функциональный язык, во всяком случае не чисто функциональный. Side-эффекты там используются во все поля и, соответственно, вызов функции ради её side-эффектов -- это нормальная ситуация для него. Если чисто для примера, то можно придумать функцию replace, которая меняет в строке 'a' на 'b', и возвращает количество произведённых замен. Если мне надо просто поменять, но количество не важно, то зачем я буду городить какой-то огород вокруг возвращаемого значения, убеждая компилятор, что оно используется?
В новости приведены примеры, когда это полезно -- replace (который создаёт копию строки), clone (создающий копию объекта), collect (собирающий все элементы из итератора в массив), to_owned (которая берёт слайс &str, создаёт его копию в куче и возвращает "умный указатель" на него, типа String) -- это всё примеры функций _без_ side-эффектов, где действительно нет никакого смысла вызывать функцию, игнорируя результат.
Точка с запятой в расте является аналогом "|> ignore" в ML языках.
> Точка с запятой в расте является аналогом "|> ignore" в ML языках.Кстати, в ML языках тоже есть точка с запятой. Даже в Х-ле (в линейном синтаксисе):
do { putStr "Hello "; putStrLn "World!" }
> foo_fallbackкогда я вижу такой синтаксис, внутри меня рождается гнев
название функции - это не синтаксис. А логика работы такая: на архитектурах, отличных от x86, просто возвращаем foo_fallback. На архитектурах x86 проверяем в рантайме, есть ли поддержка avx2, и если есть, то вызывается быстрая реализация.Если есть идеи, как лучше реализовать такую логику - шли RFC и пулл реквесты.
> Если есть идеи, как лучше реализовать такую логику - шли RFC и
> пулл реквесты.При инсталяции в ос ложить нужный вариант, а не прверять в рантайме.
Так тоже можно, но безопасней все-таки проверять в рантайме и иметь в наличии базовый вариант всегда
Какие принципиальные преимущества Rust, перед, няпример, Go или Python? Есть смысл переходить? Есть смысл нячинять с няго?
ADT, безопасность, отсутствие garbage collector'а (а по сравнению с питоном и GIL). http://yager.io/programming/go.html
Go и Rust не конкуренты, они лучшие каждый в своей сфере.
> Какие принципиальные преимущества Rust, перед, няпример, Go или Python? Есть смысл переходить?
> Есть смысл нячинять с няго?если ты ня-гентушница, которая хочет разумением своим сразить коллег/однокашников, то раст обязателен. Если это для себя, то начать лучше с питона.
Rust имеет низкоуровневый контроль над памятью, как в C и C++, не стоит его сравнивать с Python и Go.
С него не стоит начинать, я бы порекомендовал перед Rust ознакомиться с любым типизованным функциональным языком (OCaml, F#, Haskell, Scala).Если же все-таки сравнивать, то:
1) По сравнению с Go он имеет строгую и выразительную типизацию. В целом более выразительный, продуманный а так же более быстрый язык. Он более заточен под конкурентность, потому как система типов Rust исключает многие ошибки конкурентного программирования.
2) По сравнению с Питоном он имеет опять же типизацию, производительность.
(OCaml, F#, Haskell, Scala)И куда с ними, и rust до кучи, идти, если работу искать ?
> (OCaml, F#, Haskell, Scala)
> И куда с ними, и rust до кучи, идти, если работу искать
> ?Зачем идти? Открывай своё дело.
Если тебе работу не найти, то лучше заняться изучением азов, и лучше не с дивана, а через какие-нибудь курсы, которые дают бумажки об успешном завершении этих курсов.
Взяли и снесли ветку, а изначальный д-бильный камент не в тему, оставили.
> (OCaml, F#, Haskell, Scala)
> И куда с ними, и rust до кучи, идти, если работу искать
> ?На Scala вакансий в последние лет 5 как грязи
Посмотрел вакансии в своём городе. Вообще нет.
В Москве не особо много. Ну, в сравнении с реально популярными языками.
Впрочем, окамла, раста и хаскеля нет и в Мск :)
> 1) По сравнению с Go он имеет строгую и выразительную типизацию. В
> целом более выразительный, продуманный а так же более быстрый язык.Не быстрый этот язык! Не быстрый !!! А быстрый скомпилированный код. Сам же язык - ужасен!
И, тем не менее, по опросам на всяких программистских ресурсах, раст людям нравится.
Возможно тем, кто пишет на си/си++, мозги морщить примерно в той же степени, при том раст даёт некие профиты.
И не представляю, как может нравиться раст тем, кто си не осилили и пошёл по пути более простых языков.
> С него не стоит начинать, я бы порекомендовал перед Rust ознакомиться с
> любым типизованным функциональным языком (OCaml, F#, Haskell, Scala).В данном случае проще всего SML - 40 страниц текста "Введение в Стандартный ML".
Это еще хорошо, что в тред не набежали адепты Оберона с проповедями "нет языка, кроме семейства паскалеподобных и Вирт - пророк наш!"...
В Pascal кстати вроде тоже все нормально было с безопасностью памяти.. Странно что не стали его развивать...
FreePascal, PascalABC.NET, Delphi XE
из стареньких GNU Pascal HP Pascalа так конечно да - не развивают.
> В Pascal кстати вроде тоже все нормально было с безопасностью памятиНастало время интересных историй
Вообще-то Go это Оберон с сишным синтаксисом.
Лично у меня от одного только вида синтаксиса сабжа уже глаза вытекают)) Понятно конечно, почему оно так, только это не может быть уважительной причиной.
есть мнение что все программисты раста слепы от рождения
Rust уже сейчас замороченней С++, даже если код с нагромождением шаблонов и макросов.О какой "безопасности" может идти речь, если код просто не читаем?
Та же песня что со Скалой со свободным DSL - сначала охреневаешь от возможностей, потом сталкиваешься с тем, что код write only - каждый "свободно" пишет собственными заклинаниями, чтение кода без "навигации по символам" невозможно.
Видимо, поэтому и проектов на расте полторы штуки.
> Rust уже сейчас замороченней С++, даже если код с нагромождением шаблонов и
> макросов.Покажи мне Rust-код, в котором использовалась бы хоть одна нетривиальная концепция, которая не была бы фундаментальной для самого языка, которой небыло бы описания в примитивнейшей книге по языку, которую может осилить любой, кто хоть сколько-нибудь в своей жизни программировал.
Rust выглядит сложным для тех, кто его не знает, из-за непривычного синтаксиса. Но внутри он сильно проще, чем C++.
> Rust уже сейчас замороченней С++, даже если код с нагромождением шаблонов и макросов.Да ты я смотрю на плюсах только хелоуворды мастер писать?
Вы плюсов мало видели что бы так заявлять.
пора делать форк - "Rust с синтаксисом GO"...
Лучше тогда раст с синтаксисом питона, но вместо отступов скобки {}.
c++ c сокращенными именами для указателей и предупреждениями на использование raw poiters....
Кто там хотел всё "форкнуть и переписать на раст"? Вот,есть повод!
Скачал "Книгу" 2-я версия. rust-1.26.2 не смог собрать -- требует новый mdbook, который в свою очередь имеется в версии 1.27.0. Новую версию раста пока качать нехочу.Как, каким образом они вообще хотят вытеснять C++ с рынка? О конкуренте Go я вообще молчу.
> Как, каким образом они вообще хотят вытеснять C++ с рынка?Вы о каком рынке? Манагеры МоФоКо скомандовали своим подневольным програмерам, те под козырёк и пиоят-переходят.
Дух опенсорса же, откуда тут рынку-то какому-то быть??
Андрей вы рассуждаете как конченный совок. Создатели Раста работают над компилятором как энтузиасты. Им это нравится. Тут вопрос не в деньгах как таковых, я не говорю что их не донатят. Я о другом. Мозилла Фаундейшн не может командовать программистами. Насилия и запугиваний программистов там нет. На Западе у людей менталитет другой. не надо по себе мерять других людей.
> Андрей вы рассуждаете как конченный совок. Создатели Раста работают над компилятором какЯ задел ваши "тонкие струны"? Отлично.
> энтузиасты. Им это нравится. Тут вопрос не в деньгах как таковых,
> я не говорю что их не донатят. Я о другом. Мозилла
> Фаундейшн не может командовать программистами. Насилия и запугиваний программистов там
> нет.И штата программистов на зарплатах там нет? И руководящего ими манагемента??
И пукают оне розами, и летают с цветка на цветок?777
>На Западе у людей менталитет другой. не надо по себе
> мерять других людей.Расскажи мне больше!11