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
Тип: Программы
Ключевые слова: rust
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (86) Ajax | 1 уровень | Линейный | Раскрыть всё | RSS
  • 1.1, Антон (??), 09:32, 17/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Хорошечно!
     
     
  • 2.7, Аноним (7), 11:13, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +11 +/
    Так-то аналогов Раста фактически нет. Хочется 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 [ответить]  
  • –1 +/
    какой в ж.. 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 [^] [^^] [^^^] [ответить]  
  • +/
    Не знаю, как в 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 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Саммари секции комментов:
    - Почему вы не любите раст?
    - Сложна. Ну, и как водится, нинужна
     
     
  • 2.56, Хуеплет (?), 16:57, 17/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это здешние комментаторы такие крутые спецы потому что
     
  • 2.89, Аноним (72), 01:36, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Саммари секции комментов:
    - Почему вы не любите брейнфак?
    - Сложна. Ну, и как водится, нинужна

    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 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Которые ощутят все прелести 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 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Мне этого не хватило. Мне пришлось после доков месяца три ходить по граблям, воюя с компилятором и иногда запрашивая помощи у реддита, когда самостоятельно справиться с компилятором мне не удавалось. Мне стало легко лишь тогда, когда я, читая ошибки компилятора, начал понимать как нарушились бы инварианты языка, если компилятор молча проглотил код, вместо ругани.
     
  • 2.115, Ordu (ok), 20:36, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Я знаю две такие жизненные ситуацию: rust и стажировка под присмотром крутого чувака, который знает как надо, внимательно читает весь твой код, и пинает в живот за кажый ошибочный выбор между mut и const. Rust мне кажется менее травматичен, потому что конфликты с компилятором менее травматичны (как психологически, так и физиологически), нежели конфликты с крутым чуваком.
     
  • 2.124, segesg (?), 23:20, 18/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    командная разработка
     

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



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

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