The OpenNET Project / Index page

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

Выпуск языка программирования Rust 1.37

17.08.2019 08:26

Опубликован релиз языка системного программирования Rust 1.37, основанного проектом Mozilla. Язык сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime.

Автоматическое управление памятью в Rust избавляет разработчика от манипулирования указателями и защищает от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo, позволяющий получить нужные для программы библиотеки в один клик. Для размещения библиотек поддерживается репозиторий crates.io.

Основные новшества:

  • В компиляторе rustc обеспечена поддержка оптимизации на основе результатов профилирования кода (PGO, Profile-Guided Optimization), позволяющих генерировать более оптимальный код на основе анализа статистики, накопленной в процессе выполнения программы. Для генерации профиля предусмотрен флаг "-C profile-generate", а для использования профиля при сборке - "-C profile-use" (вначале программа собирается с первым флагом, обкатывается и после создания профиля собирается повторно со вторым флагом);
  • При выполнении команды "cargo run", которую удобно использовать для быстрого тестирования консольных приложений, добавлена возможность автоматического выбора исполняемого файла для запуска, в случае если в пакете присутствует несколько исполняемых файлов. Выполняемый по умолчанию файл определяется через директиву default-run в секции [package] с параметрами пакета, которая позволяет обойтись без явного указания имени файла через флаг "--bin" при каждом запуске "cargo run";
  • В пакетный менеджер Cargo интегрирована команда "cargo vendor", ранее поставляемая в виде отдельного пакета. Команда позволяет организовать работу с локальной копией зависимостей - после выполнения "cargo vendor" все исходные тексты зависимостей проекта загружаются с crates.io в локальный каталог, который затем можно использовать для работы без обращения к crates.io (после выполнения команды показывается подсказка по изменению конфигурации для использования каталога при сборках). Указанная возможность уже применяется для организации поставки компилятора rustc с упаковкой всех зависимостей в один архив с релизом;
  • Появилась возможность создания ссылок на варианты перечислений (enum), используя псевдонимы типа (например, в теле функции "fn increment_or_zero(x: ByteOption) можно указывать "ByteOption::None => 0"), конструкции вычисления типов (<MyType<..>>::вариант => N) или обращения Self (в блоках c &self можно указать "Self::Quarter => 25");
  • Добавлена возможность создания неименованных констант в макросах. Вместо определения имени элемента в "const" теперь можно использовать символ "_" для динамического выбора неповторяющегося идентификатора, позволяющего избежать конфликта имён при повторном вызове макроса;
  • Добавлена возможность использования атрибута "#[repr(align(N))" с перечислениями (enums), используя синтаксис, аналогичный определению структуры AlignN<T> с выравниванием и последующему использованию AlignN<MyEnum>;
  • В разряд стабильных переведена новая порция API, в том числе стабилизированы методы BufReader::buffer, BufWriter::buffer, Cell::from_mut, Cell::as_slice_of_cells, DoubleEndedIterator::nth_back, Option::xor, {i,u}{8,16,64,128,size}::reverse_bits, Wrapping::reverse_bits и slice::copy_within.

Дополнительно можно отметить начало тестирования проекта Async-std, предлагающего асинхронный вариант стандартной библиотеки Rust (порт библиотеки std, в котором все интерфейсы предложены в версии с async и готовы для использования с синтаксисом async/await).

  1. Главная ссылка к новости (https://blog.rust-lang.org/201...)
  2. OpenNews: Выпуск операционной системы Redox OS 0.5, написанной на языке Rust
  3. OpenNews: Выпуск языка программирования Rust 1.36
  4. OpenNews: Компилятор Rust добавлен в состав дерева исходных текстов Android
  5. OpenNews: Intel развивает открытую прошивку ModernFW и гипервизор на языке Rust
  6. OpenNews: Проект RustPython развивает реализацию интерпретатора Python на языке Rust
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/51302-rust
Ключевые слова: rust
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (88) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Антон (??), 09:32, 17/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Хорошечно!
     
     
  • 2.7, Аноним (7), 11:13, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Так-то аналогов Раста фактически нет. Хочется zero cost abstraction и скорости плюсов? И чтоб популярный за пределами круга чей-то мамы?
    Ну и кто кроме него?
    А синтаксис вырвиглазный только до того момента, пока не начинаешь его понимать. Сам через это прошел.
     
     
  • 3.9, Аноним (9), 11:16, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Расскажи кстати какой полезный сервис ты написал или даже внедрил на расте?
     
     
  • 4.83, Wilem (?), 23:46, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я например написал около 6-ти инструментов, серьёзно упрощающие работу. Четыре из них для работы с логами. Logmerge - мержит тысячи логов в один файл сохраняя записи в хронологическом порядке и корректно обрабатывая многострочные записи, типа стектрейсов. Изначально тулза была на жаве. Отрабатывала за 25 минут и съедала 2500 мегов памяти. На расте те же данные за 1 минуту и съедает 3 мегабайта памяти.
     
     
     
     
    Часть нити удалена модератором

  • 7.117, анон (?), 21:03, 18/08/2019 [ответить]  
  • –2 +/
    какой в ж.. sed awk в венде? На вас краснглазых мир клином не сошелся!
     
     
  • 8.121, Аноним (121), 22:48, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Этих вполне достаточно Или можно руками собрать http gnuwin32 sourceforge ne... текст свёрнут, показать
     
  • 8.137, Wilem (?), 11:58, 20/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    На знаю что там была за удалённая нить, но вообще сед и авк в винде норм BusyBo... текст свёрнут, показать
     
  • 3.16, user90 (?), 11:35, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    «zero cost abstraction» - это случайно не из методичек по Расту?
    Я вот не знаю, хочется ли мне этого, т. к. не знаю, что это такое ;)

    > А синтаксис вырвиглазный только до того момента, пока не начинаешь его понимать.

    То есть этот момент может не наступить никогда?))

     
     
  • 4.17, Аноним (7), 11:51, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это ещё из методичек по C || C++ :)
    Например, заменяешь цикл расчета суммы до аналогичной функций в одну строку с лямбдой (типа как map/reduce)
    C++/Rust не это потратят столько же мс, сколько и обычный цикл (условные 20 мс). В других языках может потратиться на несколько сотен больше мс (500, к примеру)

    > То есть этот момент может не наступить никогда?))

    У меня наступил почти сразу после нескольких лекций с ютубчика)
    В Расте довольно неплохой синтаксис, пускай и загружен управлением памятью
    Но в тех же плюсах есть моменты и похуже

     
     
  • 5.29, user90 (?), 13:30, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Каждому свое - не думаю, что в Лиспе есть накладки с лямбдами нопример.
     
     
  • 6.33, Другой анан (?), 13:53, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Шта?
     
  • 6.78, Ordu (ok), 22:37, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    В лиспе есть очень интересные накладки Скажем в lisp е нет понятия переменна... большой текст свёрнут, показать
     
     
  • 7.129, Урри (?), 11:16, 19/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Все вами описанное в личпе как раз и является zero cost , так как реализовано е... большой текст свёрнут, показать
     
     
  • 8.134, Ordu (ok), 21:03, 19/08/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    К невыравненным байтам тоже пенальти А в lisp е байт будет занимать четыре а то... большой текст свёрнут, показать
     
  • 7.132, freehck (ok), 15:42, 19/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то сравнивать символ с переменной не корректно Наиболее близким аналогом... большой текст свёрнут, показать
     
     
  • 8.135, Ordu (ok), 21:08, 19/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Может быть Попробуй объяснить человеку далёкому от lisp а эти нюансы Может быт... большой текст свёрнут, показать
     
     
  • 9.136, freehck (ok), 23:26, 19/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Может быть Скажем так, у него и правда есть область применения Тем не мен... текст свёрнут, показать
     
  • 5.65, Совершенно другой аноним (?), 19:17, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не знаю, как в C++, но в C нет никаких zero cost abstractions, по причине отсутствия каких либо абстракций.
     
     
  • 6.77, Аноним (77), 22:07, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В C++ есть. Дырявые. Потому и zero cost.
     
  • 6.79, Ordu (ok), 22:53, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +9 +/
    В C есть абстракции, если ты их не видишь, то это значит, что ты не кодил на ассемблере. Возьмём, скажем, понятие "переменная". В ассемблере такого понятия, по-хорошему, нет. Там есть регистры, есть стек, есть RAM. И ты перекладываешь значения с места на место. Некоторые места в RAM могут иметь вполне определённую семантику, и такие места можно назвать переменными, но подчастую работа с этими переменными сводится к тому, чтобы забрать оттуда значение, что-то с ним сделать, положить обратно. В C же, переменная -- это переменная, она может располагаться на стеке, в куче, в статической памяти, в регистре, иногда это определяется контекстом, но очень часто компилятор за тебя решает, когда и какая переменная будет представляться регистром, а когда ячейкой стека.

    А типы? В асме нет типов, тип значения определяется операцией, которую ты выполняешь. Если add -- это целочисленное сложение 32-х битных целых, то она будет складывать 32-х битные флоаты как целые числа. В C тип определяется типом переменной или другого источника/приёмника откуда ты берёшь или куда ты кладёшь значение. Если ты используешь операцию + для сложения целых, то она сложит целые. Если ты используешь её для сложения float'ов, она сложит флоаты. При этом при необходимости типы аргументов будут приведены до соответствия друг-другу. Особенно эти сишные типы заметны на указателях: для асма нет разницы между целым значением, void* и char*. Ты когда пишешь на асме думаешь об указателях как о целых числах. В C же, указатель с некоторой натяжкой можно назвать целым числом, но в зависимости от типа указателя операция сложения будет выдавать разные значения. (char*)0 + 1 даст 1, а (int*)0 + 1 даст 4.

    В C есть функции -- это тоже абстракции. В ассемблере есть код и есть данные, деление между ними условно -- ты можешь сделать jmp на данные, или прочитать байт кода в регистр. В асме ты можешь создавать функции, но при этом ты можешь сделать call в середину функции, или jmp из одной функции в другую. И, я отмечу, это не всегда глупость, это может быть вполне осмысленным и полезным действием. Скажем, tail call'ы так и делаются -- вместо call func/ret, мы делаем jmp func. Функции с несколькими точками входа тоже не редкость в асме.

    Абстракции есть в любой проблеме, о которой ты в состоянии думать. Если ты не видишь этих абстракций, значит ты недостаточно глубоко копнул.

     
     
  • 7.106, Совершенно другой аноним (?), 14:48, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    gt оверквотинг удален Вообще опыт программирования на ассемблере вполне себе и... большой текст свёрнут, показать
     
     
  • 8.114, Ordu (ok), 20:06, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А на других архитектурах Где-то сопроцессор, где-то нет А знаковые беззнаковые... большой текст свёрнут, показать
     
  • 8.119, Аноним84701 (ok), 21:10, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Оно, ЕМНИП, для всех более-менее популярных человеческих x86 ассемблеров было... большой текст свёрнут, показать
     
  • 2.15, Аноним (15), 11:31, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Вырвиглазный синтаксис даже обсуждать лениво..

    Видимо для тех, кто не осилил?

     
     
  • 3.63, хотел спросить (?), 18:13, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    а он вправду не очень по сравнение с джавой или шарпом

    не то чтобы откровенное говно, но меня на него ни разу не тянет

     
     
  • 4.72, Аноним (72), 21:12, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Он не очень даже по сравнению с С++
     

  • 1.4, Растошизик (?), 11:06, 17/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Уже переписали на Rust?
     
     
  • 2.8, Аноним (7), 11:16, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    https://www.techempower.com/benchmarks/
     
     
  • 3.10, Аноним (9), 11:20, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    И зачем нужна это скорость в синтетике бизнсу? Зачем эта скорость в синтетике пользователям? Спойлер: Пользы нет.
     
     
  • 4.18, Аноним (7), 12:02, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Есть польза
    Например, тесты на моем компе:
    NodeJs Fastify: 15к в секунду
    C++ Pistache: 50-55
    Go FastHttp: 70
    Rust Actix: 80

    И если добавить больше логики, скриптовые языки просто потеряют скорости более чем в два раза, когда как компилируемые могут выжимать максимум из оптимизации, ресурсов сервера и ссд с бд (грубо говоря)

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

     
     
  • 5.19, Аноним (9), 12:43, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Нет пользы. Увеличить скорость на 14% в синтетике и потратить в три раза больше времени на разработку чем на том же го. Время работы программиста дороже машинного времени. Поэтому вменяемый бизнес юзает джаву.
     
     
  • 6.23, Аноним (23), 13:00, 17/08/2019 Скрыто модератором
  • +16 +/
     
     
  • 7.61, proninyaroslav (ok), 17:38, 17/08/2019 Скрыто модератором
  • +2 +/
     
  • 7.133, freehck (ok), 16:41, 19/08/2019 Скрыто модератором
  • +/
     
  • 6.30, Ванга в кедах (?), 13:40, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Через 15 лет таких как ты будут отлваливать роботы, чтобы отомстить за своих друзей, которые зависли и впали в кому из-за дерьмового кода. Скриньте.
     
     
  • 7.39, Аноним (39), 14:15, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Предварительная оптимизация - сущее зло. Пока тестировщик не пожаловался на скорость - пишите подджерживаемый код.

    Ну и желательно не пишите на JS и прочей xyетe с специалистами, которые по роликам на ютюбе учатся

     
     
  • 8.59, EnemyOfDemocracy (?), 17:20, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Предварительная оптимизация поддерживаемый код предварительная оптимизация... текст свёрнут, показать
     
     
  • 9.126, илтя (?), 07:49, 19/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Увы, это не так В двух последних компаниях где я работаю, таких сверхгениев на ... текст свёрнут, показать
     
  • 8.113, Аноним (113), 20:04, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А пок тестировщики сидят на 64-ядерниках разогнаных под жидким азотом все осталь... текст свёрнут, показать
     
  • 6.38, Аноним (7), 14:15, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Я выбирал между Го и Растом фактически
    Го не понравился, и синтаксис какой-то более всратенький
    Так что будущее за Растом

    А Джава в 2020 - это садомазо.

     
     
  • 7.43, Аноним (39), 14:20, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > А Джава в 2020 - это садомазо.

    Почему? Как язык джава очень даже норм: типы статические, функцию в функцию положить можно. Юнит-тестирование божеское. IntelliJ есть. Обвязки для всего, что нужно есть. Андроид есть.

    Я вообще не java-программист, но в 2020 году серьёзно бы рассматривал писать на java/kotlin

     
     
  • 8.58, НяшМяш (ok), 17:03, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В Java куча своих приколов с синтаксисом, поэтому если надо JVM - то проще на ко... текст свёрнут, показать
     
     
  • 9.60, Аноним (60), 17:25, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Прости, пожалуйста, но на какой версии Java ты успел много покодить, чтобы почув... текст свёрнут, показать
     
     
  • 10.62, НяшМяш (ok), 18:07, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Довелось слегка пописать под андроид, когда там была ещё 6 ява Приколы с аноним... текст свёрнут, показать
     
     
  • 11.66, Аноним (60), 19:49, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, уже с выходом 8 Java всё стало заметно повеселее Сейчас в 11 вообще достато... текст свёрнут, показать
     
  • 8.110, NotANumber (?), 18:22, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    сам java простой язык, но одна из проблем в том, что java не компилируется напря... текст свёрнут, показать
     
     
  • 9.125, Forth (ok), 00:23, 19/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    AoT компилятор стабилизирован начиная с JDK 11, оно конечно еще не все умеет, но... текст свёрнут, показать
     
  • 9.130, Аноним (130), 11:28, 19/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Опуская за скобки всякие лицензионные риски батлы можно отметить новую пилимую ... большой текст свёрнут, показать
     
  • 7.73, Аноним (77), 21:17, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Я выбирал между Го и Растом фактически
    > Го не понравился, и синтаксис какой-то более всратенький
    > Так что будущее за Растом

    Я выбирал между экскаватором и подъёмным краном фактически
    Экскаватор не понравился, и сиденье какое-то более всратненькое
    Так что будущее за подъёмным краном

     
  • 6.47, Аноним (7), 14:31, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > в три раза больше времени

    ну и кто сказал, что на го писать быстрее?

     
  • 6.68, Ordu (ok), 20:37, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Откуда цифры В смысле ты пробовал сам, и у тебя на расте получилось в три раза ... большой текст свёрнут, показать
     
     
  • 7.105, Forth (ok), 14:33, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В наших отечественных реалиях главный риск менеджмента разработки - это найти людей. Говнокодеров на Java худо бедно хватает. Хоть выбор какой-то есть на рынке.
    Это наверное наиважнейшая часть той самой предсказуемости.
    С++ разработчики - мало и выбрать не из чего.
    JS - совсем задрали ценник.
    Go - вроде модно, но народу немного и выбор как в советском магазине в провинции в 1990 году.
    И окромя Java разработчиков брать никого не хочется.
     
  • 5.27, leap42 (ok), 13:17, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >> C++ Pistache: 50-55
    >> Go FastHttp: 70
    >> Rust Actix: 80

    Rust хвалится zero cost abstractions, абстракции C++ и Go, выходит, сами тебе доплачивают?

     
     
  • 6.40, Аноним (7), 14:17, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Go - обычный язык со сборщиком мусора
    А на C++ просто нет хороших и удобных веб-фреймворков
     
  • 5.52, anonymous (??), 15:15, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Для серьезных беков учи яву. Или будешь ждать 10 лет пока все поменяется?
     
     
  • 6.54, Аноним (7), 16:10, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Для серьезных беков учи яву

    Что за стереотипное мышление?
    Или хочешь сказать, что "серьезный бек" написать больше ни на чём невозможно?
    Джава отнюдь не панацея.

     
     
  • 7.57, anonymous (??), 17:02, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    В моем понимании "серьезный" - предназначеный для зарабатывания денег. Ява тут только потому, что более предсказуема: по человеческим ресурсам, по экосистеме, по вычислительным ресурсам (предсказуемо жрёт дохера, но при этом относительно стабильно). Язык и виртуальная машина с технической точки зрения твердое 3 с плюсом по пятибальной, но эти технологии в своё время оказались в нужном месте, заняли свою нишу и вылетать оттуда будут долго и постепенно.
     
     
  • 8.108, Антон (??), 17:13, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    как насчет C ... текст свёрнут, показать
     

  • 1.36, донни (?), 14:13, 17/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Язык сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью

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

     
     
  • 2.42, Аноним (7), 14:19, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Раст не Гугл пишет, если что
     
     
  • 3.138, донни (?), 19:39, 20/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Я знаю, если что. Их поделкой (чистым хромом) не пользуюсь, поэтому о его стабильности ничего не скажу.
     

  • 1.37, Аноним (72), 14:14, 17/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Мозилла писали писали браузер. Не получается. Все дело в плохом языке программирования - решила Мозилла. Теперь они пишут пишут язык программирования. Все жду, когда они решат, что все дело в плохих операционных системах, а затем и в плохих архетектурах ПК.
     
     
  • 2.74, Ph0zzy (ok), 21:20, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    так то уже есть:
    * RISC-V
    * Redox
     
  • 2.81, пох. (?), 23:03, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > когда они решат, что все дело в плохих операционных системах, а

    так они уже - но что-то с мазилаОС не взлетело - наверное, из-за плохого языка программирования.

    > затем и в плохих архетектурах ПК.

    ой... не подсказывайте им.

     
     
  • 3.120, имя (?), 22:42, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > что-то с мазилаОС не взлетело

    Взлетело, но уже без Мозилы и на бедном рынке:

    > In market share study results announced in May 2018, KaiOS beat Apple's iOS for second place in India,[15]

     
     
  • 4.122, Аноним (121), 22:50, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну все можно теперь брать процессор RISC-V и.... все. Может это будет единственная ось что сможет что-то предложить на данном проце.
     
  • 2.109, Аноним ещё один (?), 17:28, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    С браузером у них всё получилось. То что в психушке психов жрущих хромое больше чем врачей, вина не мозиллы, а закон природы.
     

  • 1.53, Аноним (53), 15:49, 17/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Саммари секции комментов:
    - Почему вы не любите раст?
    - Сложна. Ну, и как водится, нинужна
     
     
  • 2.56, Хуеплет (?), 16:57, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это здешние комментаторы такие крутые спецы потому что
     
  • 2.89, Аноним (72), 01:36, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Саммари секции комментов:
    - Почему вы не любите брейнфак?
    - Сложна. Ну, и как водится, нинужна

    fixed

     
  • 2.82, Аноним (7), 23:04, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Тебе никто ничего не обязан доказывать.
    Но, пока C++ становится всё сложнее и не фиксит сплошные UB и сегфолты, Раст просто мирно развивается, и с каждым релизом всё вкуснее для переезда на него.

    А что Мозилла? В Firefox уже довольно много кода на Расте. Или Лиса недостаточно продукшн?

     
     
  • 3.88, Аноним (72), 01:34, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Пока Раст мирно развивается, для C++ напишут еще пару миллионов полезных библиотек для всех областей IT от игр до распределенных вычислений
     
     
  • 4.97, Аноним (97), 11:45, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Которые ощутят все прелести unsafe программирования Пишу на C далеко не первы... большой текст свёрнут, показать
     
  • 4.139, burjui (ok), 15:06, 23/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Rust мирно развивается, C++ агрессивно извивается.
     
  • 3.92, Аноним (77), 09:15, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > C++ становится всё сложнее и не фиксит сплошные UB и сегфолты

    Ну становится сложнее он в основном благодарая добавлению фич для разработки без UB и сегфолтов. Я согласен, что чтобы в нём разобраться, надо изрядно упороться, но rust, сделанный по его образу и подобию, уже не сильно лучше (хотя исходная задумка была неплохой).

     
     
  • 4.140, burjui (ok), 15:14, 23/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Не сильно лучше? Ну-ну. У меня в Rust проекте на 6000 строк за все время не было ни одного сегфолта и ни одной утечки памяти. При этом писать такой код намного легче, чем на C++. И Rust сделан совершенно не по образу и подобию C++. Извините, но вы несёте чушь. Фактически Rust - это современный ML без GC и с низкоуровневыми фичами. На C++ он похож только если сильно прищуриться и попрыгать.
     
  • 3.107, Kuromi (ok), 17:02, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не так уж имного там кода на Расте, если честно. Он есть, конечно, но в основном вспомогательный.
     
     
  • 4.123, segesg (?), 23:19, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    webrender весь на расте
     

  • 1.86, Александр (??), 00:32, 18/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ребят, много новых криптовалют делаю на Rust или C++. Посмотрите тему, интересно.
     
     
  • 2.91, th3m3 (ok), 02:40, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Там и на Go шлёпают, и даже на node.js есть блокчейны. Поди кто-то не от мира сего, ещё и на php пилит.
     
     
  • 3.118, анон (?), 21:06, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    я на перле встречал!
     

  • 1.96, Аноним (96), 10:43, 18/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Какие такие, жизненные ситуации могут сложится, чтобы человек начал понимать для чего реально нужна изменяемая и неизменяемая переменная?
     
     
  • 2.100, Wilem (?), 12:09, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это легко - надо почитать доку на ownership.
     
     
  • 3.116, Ordu (ok), 20:40, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мне этого не хватило. Мне пришлось после доков месяца три ходить по граблям, воюя с компилятором и иногда запрашивая помощи у реддита, когда самостоятельно справиться с компилятором мне не удавалось. Мне стало легко лишь тогда, когда я, читая ошибки компилятора, начал понимать как нарушились бы инварианты языка, если компилятор молча проглотил код, вместо ругани.
     
  • 2.115, Ordu (ok), 20:36, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Я знаю две такие жизненные ситуацию: rust и стажировка под присмотром крутого чувака, который знает как надо, внимательно читает весь твой код, и пинает в живот за кажый ошибочный выбор между mut и const. Rust мне кажется менее травматичен, потому что конфликты с компилятором менее травматичны (как психологически, так и физиологически), нежели конфликты с крутым чуваком.
     
  • 2.124, segesg (?), 23:20, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    командная разработка
     

  • 1.141, Vroeger (?), 19:21, 25/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Написание программ исходит из сочинительства.
    Андрей Макаревич был бы отличным программистом.

    Вот море молодых. Айфоны их дороги.
    Мне триста лет, я выполз из тьмы.
    Они "торчат от GO".
    Скриптами "пудрят мозги".
    Они не такие как мы.
    Я не горю желаньем лезть в чужой монастырь.
    Я видел COM на C без прикрас.
    Не стоит прогибаться под изменчивый мир.
    Ну вот и всё!
    Мы пишем на RUST.

    Теперь, всё мы пишем на RUST.

    Один мой друг.
    Он стоил двух.
    И не букинист™.
    Всегда везде "решётку" хвалил.
    Работал он на Гейтса, как C# программист.
    А тот взял да "свалил".
    Ну, что же.
    Спи спокойно. Ведь на C ты "забил".
    И брал свои вершины не раз.
    Не стоит прогибаться под изменчивый мир.
    Ну вот и всё!
    Мы пишем на RUST.

    Теперь, всё мы пишем на RUST.

    Другой, держался русла.
    И течение ловил.
    Подальше от "плюсовых" кодов.
    Он был как все.
    И плыл как все.
    И вот он приплыл.
    Ни ядер. Ни клонов. Ни BoF.
    И жизнь его нагнула в этот "JAVA-кефир".
    Где KOTLIN не поможет за раз.
    Не стоит прогибаться под изменчивый мир.
    Ну вот и всё!
    Мы пишем на RUST.

    Теперь, всё мы пишем на RUST.

    Оппааааанькиииии..........

    Пусть "лажа" возражает, и жена всё "пилит":
    -"Ушёл бы ты давно в COPY-PAST!".
    Не стоит прогибаться под изменчивый мир.
    Ну вот и всё!
    Мы пишем на RUST.

    Ну вот и всё!
    Мы пишем на ⭐RUST⭐.

    Автор исходника: Андрей Макаревич
    Группа: Машина времени
    Песня: Однажды мир прогнётся под нас
    Год: 1997

     
  • 1.142, Vroeger (?), 19:31, 25/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    букинист™->любитель покупать книги по программированию.

    Если вышеизложенный комментарий - не удовлетворяет,
    тогда можно Клонировать текст программы по другому.
    Например в стиле 60-х годов:

    <...... Но снова качает, качает.
    Задира-ветер фонари над головой.
    И снова шагает, шагает.
    Весёлый парень по весенней мостовой.

    Листает, листает, листает.
    Учебник JAVA он листает на ходу.
    Не знает, не знает, не знает.
    Что каждым утром он читает "Лабуду".

    Пройдет много лет и поймет наш студент.
    Что формулы счастья у JAVA уж - Нет.

    Есть в книжках твоих много истин таких.👾
    А формула счастья Давно у Других!>🦀

    Автор исходника: Куклин Л. жив 86 лет
    Композитор: Колкер А.
    Исполняет: Мария Пахоменко.
    Год: 1964

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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