The OpenNET Project / Index page

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

26.10.2018 11:05  Релиз языка программирования Rust 1.30

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

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

В подготовке нового выпуска приняли участие 178 разработчиков. Основные новшества:

  • Добавлена поддержка двух новых видов процедурных макросов: макросы похожие на атрибуты и макросы похожие на функции. Атрибутоподобные макросы напоминают ранее доступные произвольные макросы на базе механизма "derive", но кроме генерации кода только для атрибута "#[derive]" позволяют создавать собственные произвольные атрибуты, а также не ограничены работой только со структурами и перечислениями (enums). Макросы похожие на функции дают возможность определить макрос в форме вызова функции (например, "let sql = sql!(SELECT * FROM posts WHERE id=1);").
  • Добавлена возможность выноса макроса в текущую область видимости (scope) по аналогии функциями при помощи ключевого слова "use", без использования специальной аннотации "#[macro_use]";
  • Стабилизирован пакет (crate) proc_macro, предоставляющий API для упрощения создания макросов. В proc_macro также значительно расширен API для обработки ошибок, который уже задействован в пакетах подобных syn и quote;
  • Началась работа по упрощению системы создания модулей. Добавлена возможность использования ключевого слова "crate" в пути для отсылки к корню иерархии модулей, например, "crate::foo" ссылается на модуль "foo", размещённый в "src/lib.rs". При использовании внешних пакетов отныне не требуется указание префикса "::", например, вместо "json = ::serde_json::from_str(foo);" теперь можно писать "let json = serde_json::from_str(foo);". Логика разбора пути "a::b::c" выглядит следующим образом: если "a" является именем пакета, то в этом пакете осуществляется поиск "b::c"; если в "a" указано ключевое слово "crate", то поиск "b::c" осуществляется относительно корня иерархии модулей; иначе "a::b::c" извлекается из текущей позиции в иерархии модулей;
  • Добавлена возможность использования ключевых слов в качестве идентификаторов. Например, для создания локальной переменной с именем "for" можно указать "let r#for = true;", а для создания функции с именем "for" - "fn r#for() {". При вызове подобной функции следует использовать признак raw-идентификатора - "r#for();";
  • Добавлен атрибут "#[panic_handler]", предоставляющий возможность определения функции для обработки сбоев (panic) в Rust runtime. Подобное может оказаться полезным для сборки приложения без стандартной библиотеки, используя режим no_std;
  • Реализована возможность определения в макросах видимости ключевых слов, таких как "pub", используя спецификатор "vis";
  • Стабилизированы атрибуты для инструментов Rust, таких как rustfmt и clippy. Например, "#[rustfmt::skip]" может применяться отключения форматирования следующего элемента;
  • В разряд стабильных переведена новая порция API, в том числе Ipv4Addr::{BROADCAST, LOCALHOST, UNSPECIFIED}, Ipv6Addr::{BROADCAST, LOCALHOST, UNSPECIFIED}, Iterator::find_map;
  • Из-за неверной трактовки в функциях "trim_*" понятий "лево" и "право" для RTL-языков, данные функции переименованы: trim_left в trim_start, trim_right в trim_end, trim_left_matches в trim_start_matches, trim_right_matches в trim_end_matches;
  • В пакетный менеджер Cargo добавлен индикатор прогресса выполнения операций.


  1. Главная ссылка к новости (https://blog.rust-lang.org/201...)
  2. OpenNews: Mozilla и Xiph развивают реализацию видеокодека AV1 на языке Rust
  3. OpenNews: Выпуск интегрированной среды разработки Eclipse "Photon" с поддержкой языка Rust
  4. OpenNews: Выпуск libOS, unikernel на языке Rust для запуска приложений поверх гипервизора
  5. OpenNews: В Firefox добавлен CSS-движок Stylo, написанный на языке Rust
  6. OpenNews: Третий выпуск операционной системы Redox OS, написанной на языке Rust
Лицензия: CC-BY
Тип: Программы
Ключевые слова: rust
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.7, Аноним (7), 12:00, 26/10/2018 [ответить] [показать ветку] [···]     [к модератору]
  • +/
    А я думал ХРУСТ сильнее испохабить уже невозможно, ан нет Они начали на полном... весь текст скрыт [показать]
     
     
  • 2.73, Аноним (73), 17:35, 26/10/2018 [^] [ответить]    [к модератору]  
  • +/
    У вас FFI с библиотекой, имя символа в которой такое же, как какое-то ключевое слово в языке, что будете делать?
     
     
  • 3.75, Аноним (75), 18:10, 26/10/2018 [^] [ответить]    [к модератору]  
  • –2 +/
    >У вас FFI с библиотекой, имя символа в которой такое же, как какое-то ключевое слово в языке, что будете делать?

    - Мама, что такое Name mangling???

     
     
  • 4.76, имя (?), 18:22, 26/10/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Name mangling? В си? Да вы эстет!
     
  • 4.147, Аноним (147), 08:02, 30/10/2018 [^] [ответить]    [к модератору]  
  • +/
    Причём здесь манглинг, дебик. Как ты напишешь в принципе в языке Функцию или любой другой символ, чьё имя есть ключевое слово? Никак. Напиши в сях переменную с именем register.
     
  • 1.9, Аноним (7), 12:14, 26/10/2018 [ответить] [показать ветку] [···]     [к модератору]  
  • –13 +/
    Как можно неверно трактовать понятие Лево Разработчки языка страдают аутизм... весь текст скрыт [показать]
     
     
  • 2.11, Аноним (11), 12:31, 26/10/2018 [^] [ответить]    [к модератору]  
  • +9 +/
    Скорее всего это про языки с письмом справа налево
     
     
  • 3.13, Аноним (7), 12:42, 26/10/2018 [^] [ответить]     [к модератору]  
  • –3 +/
    У Арабов ЛЕВО это не ЛЕВО А если человек двуязычный Как только он начинает пи... весь текст скрыт [показать]
     
     
  • 4.17, Аноним (17), 13:04, 26/10/2018 [^] [ответить]    [к модератору]  
  • +7 +/
    > Разгадка то проста. Программисты мозиллы жопоруки, но тупы. Или тупы но жопоруки,

    И только анонимы опеннета в шляпах, плащах и со шпагами …
    Причем, каждый второй аноним - правая рука Линуса (или левая рука Горшечника), каждый третий - тайный консультант и вдохновитель Кнута и Шнайера.

     
     
  • 5.40, Аноним (7), 14:09, 26/10/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    >Из-за неверной трактовки в функциях "trim_*" понятий "лево"

    Я знаю где лево. Это делает меня умнее всех программистов мозиллы.
    А вам есть чем похвастаться?

     
     
  • 6.46, Аноним (17), 14:58, 26/10/2018 [^] [ответить]    [к модератору]  
  • +9 +/
    >>Из-за неверной трактовки в функциях "trim_*" понятий "лево"
    > Я знаю где лево.

    И? Вместо простых и понятных "start/end" будем продолжать использовать зависящих от отобажения/языка left/right? Т.е. встроим в trim_left и trim_right еще и распозновалку выводимого языка, до кучи.
    > Это делает меня умнее всех программистов мозиллы.

    Нет, всезнание и всеумение делает анонима опеннета анонимом опеннета.

    > А вам есть чем похвастаться?

    А я сумел в английский:
    > For (readers/users of) RTL languages, trim_right is hinting that it will be
    > trimming the prefix, but this is of course not the case (and similarly for
    > _left).

     
     
  • 7.48, Аноним (7), 15:22, 26/10/2018 [^] [ответить]     [к модератору]  
  • –2 +/
    Вы в мозилле работаете ЛЕВО и ПРАВО от языка не зависят А вот start end от яз... весь текст скрыт [показать]
     
     
  • 8.50, Аноним (17), 15:40, 26/10/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Для анонимов поясняю лево право в отображаемом выводе и представление байтиков ... весь текст скрыт [показать]
     
     
  • 9.54, Аноним (7), 15:57, 26/10/2018 [^] [ответить]     [к модератору]  
  • –2 +/
    Нет не нужна Вася ты понимаешь что строка мажет содержать и арабский и ASCII и ... весь текст скрыт [показать]
     
     
  • 10.57, Аноним (17), 16:06, 26/10/2018 [^] [ответить]     [к модератору]  
  • +3 +/
    Поздравляю, ты наконец начал понимать Не должен Он вообще там нафиг не нужен ... весь текст скрыт [показать]
     
  • 10.86, ig0r (??), 20:10, 26/10/2018 [^] [ответить]     [к модератору]  
  • +/
    Дело в том что начало строки всегда начало, но в зависимости от языка строки кот... весь текст скрыт [показать]
     
  • 8.87, Sw00p aka Jerom (?), 21:46, 26/10/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    >>А вот start/end от языка зависят.

    старт и энд вообще-то - палка о двух концах. логичнее лэфт, райт использовать

     
  • 4.26, Ordu (ok), 13:39, 26/10/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    Лево у них лево Для них нулевой символ строки слева У них всё то же самое, но ... весь текст скрыт [показать]
     
     
     
     
     
    Часть нити удалена модератором

  • 8.49, Ordu (ok), 15:39, 26/10/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    Зачем Если кто-то пользуется дурацкими моделями, почему я должен Есть меньшие ... весь текст скрыт [показать]
     
     
  • 9.80, Илья (??), 19:06, 26/10/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    Вам что, помандеть негде?
     
     
  • 10.82, КГБ СССР (?), 19:17, 26/10/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    > Вам что, помандеть негде?

    В самом деле: форум, как и парламент, не место для дискуссий!

     
  • 9.90, Sw00p aka Jerom (?), 22:15, 26/10/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    слева и справа - природные однозначные понятия меньшие или большие адреса о ко... весь текст скрыт [показать]
     
     
  • 10.103, Ordu (ok), 06:59, 27/10/2018 [^] [ответить]    [к модератору]  
  • +/
    > слева и справа - природные однозначные понятия.

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

     
     
  • 11.106, Sw00p akaJerom (?), 11:10, 27/10/2018 [^] [ответить]     [к модератору]  
  • +/
    натуральный ряд чисел тоже искуственное понятие пс даже в теории о больше-мень... весь текст скрыт [показать]
     
     
  • 12.107, Sw00p akaJerom (?), 11:13, 27/10/2018 [^] [ответить]    [к модератору]  
  • +/
    *сс
     
  • 12.108, Ordu (ok), 12:45, 27/10/2018 [^] [ответить]     [к модератору]  
  • +/
    Конечно же Число -- это абстракция Чисел не существовало пока люди не придумал... весь текст скрыт [показать]
     
     
  • 13.110, Sw00p akaJerom (?), 15:03, 27/10/2018 [^] [ответить]    [к модератору]  
  • +/
    > Ты троллишь что ле?

    Ну тогда докажи почему 1<2 истина.


     
     
  • 14.112, Ordu (ok), 16:45, 27/10/2018 [^] [ответить]    [к модератору]  
  • +/
    По определению. Я может своё математическое образование и забыл за 15 прошедших лет, но не настолько же.
     
     
  • 15.120, Sw00p akaJerom (?), 17:48, 27/10/2018 [^] [ответить]    [к модератору]  
  • +/
    > По определению. Я может своё математическое образование и забыл за 15 прошедших
    > лет, но не настолько же.

    на досуге - Готлоб Фреге, Рене Декарт

     
  • 13.111, Sw00p akaJerom (?), 15:05, 27/10/2018 [^] [ответить]    [к модератору]  
  • +/
    >> Чисел не существовало пока люди не придумали их.

    Того чего не существует - не придумаешь.

    пс: придумай мне тут новую геометрическую фигуру.


     
     
  • 14.113, Ordu (ok), 16:49, 27/10/2018 [^] [ответить]     [к модератору]  
  • +/
    Да ладно Всё ровно наоборот, ты не сможешь придумать то, что существует Смотри... весь текст скрыт [показать]
     
     
  • 15.116, Sw00p akaJerom (?), 17:37, 27/10/2018 [^] [ответить]     [к модератору]  
  • +/
    gt оверквотинг удален Такс начнём по-порядку, про квадрат было ожидаемо так... весь текст скрыт [показать]
     
  • 14.114, Ordu (ok), 16:51, 27/10/2018 [^] [ответить]     [к модератору]  
  • +/
    Я не буду придумывать, я приведу чужие придумки, ок Тебе двух хватит 1 Бутылк... весь текст скрыт [показать]
     
     
  • 15.117, Sw00p akaJerom (?), 17:39, 27/10/2018 [^] [ответить]     [к модератору]  
  • +/
    ясно, не придумал... весь текст скрыт [показать]
     
  • 14.115, Ordu (ok), 16:59, 27/10/2018 [^] [ответить]     [к модератору]  
  • +/
    Хотя если подумать чуть глубже, то выходит как в первом моём комменте любая гео... весь текст скрыт [показать]
     
     
  • 15.118, Sw00p akaJerom (?), 17:43, 27/10/2018 [^] [ответить]     [к модератору]  
  • +/
    какими свойствами обладает твоё понятие точка , опиши и я скажу - видел или нет... весь текст скрыт [показать]
     
     
  • 16.122, Ordu (ok), 18:08, 27/10/2018 [^] [ответить]     [к модератору]  
  • +/
    Как неловко признавать свою неправоту, да Будем теперь крутиться ужом на сковор... весь текст скрыт [показать]
     
     
  • 17.128, Sw00p aka Jerom (?), 00:05, 28/10/2018 [^] [ответить]     [к модератору]  
  • +/
    Открой Основания Геометрии Гильберта и узнай что есть геометрическая точка аг... весь текст скрыт [показать]
     
  • 15.119, Sw00p akaJerom (?), 17:46, 27/10/2018 [^] [ответить]     [к модератору]  
  • +/
    самое интересное пропустил , а будет ли существовать то, у чего размер равен н... весь текст скрыт [показать]
     
     
  • 16.124, Ordu (ok), 18:24, 27/10/2018 [^] [ответить]     [к модератору]  
  • +/
    Если не будет существовать, то ты слил в споре геометрическая точка придумана ч... весь текст скрыт [показать]
     
     
  • 17.129, Sw00p aka Jerom (?), 00:08, 28/10/2018 [^] [ответить]     [к модератору]  
  • +/
    Читай Гильбертово определение точки не говори никогда никогда а типа фотон... весь текст скрыт [показать]
     
  • 15.121, Sw00p akaJerom (?), 18:03, 27/10/2018 [^] [ответить]     [к модератору]  
  • +/
    Декарт ясно сказал, мыслю - значить существую Поправлю его, всё что мыслимо то... весь текст скрыт [показать]
     
     
  • 16.123, Ordu (ok), 18:13, 27/10/2018 [^] [ответить]     [к модератору]  
  • +/
    Если ты правишь Декарта, то тогда научись сначала пользоваться языком как следуе... весь текст скрыт [показать]
     
     
  • 17.130, Sw00p aka Jerom (?), 00:20, 28/10/2018 [^] [ответить]     [к модератору]  
  • +/
    выйди сначала из порочного круга, Все критяне лжецы, сказал критянен Не идея ... весь текст скрыт [показать]
     
     
  • 18.132, Ordu (ok), 11:11, 28/10/2018 [^] [ответить]    [к модератору]  
  • +/
    >>>Идея непрерывного объекта
    > Если спрошу, что есть непрерывность - думаю ответа не последует

    И как всегда ошибаешься

     
  • 18.143, anonymous (??), 00:20, 30/10/2018 [^] [ответить]     [к модератору]  
  • +/
    Ну что за глупость Понятие пространство-время не заменило эфир Это понятие _из... весь текст скрыт [показать]
     
     
  • 19.144, Sw00p aka Jerom (?), 01:11, 30/10/2018 [^] [ответить]    [к модератору]  
  • +/
    > Ну что за глупость!

    Вот с такого утверждения начинает дискуссию всякий глупец.

    > Понятие пространство-время не заменило эфир!

    Вам в школе проходили про понятия эфира? Думаю нет, как и моему деду в начале 20 века.

    > Это понятие _изменилось_.

    Понятие чего? и что изменилось? в моём утверждении - заменилось. Если вы понятия не имеете, что есть эфир, как можно его изменить или заменить?

    >>В теориях "до Эйнштейна" пространство и время не зависили ни от чего

    Эфир со временем никто не связывал, чтобы они были зависимы.

    > в теориях Эйнштейна пространство и время зависят друг от друга и от объектов "внутри них".

    У Эйнштейна нет понятия пространства и понятие времени, есть одно понятие пространства-времени, которое и есть понятие эфира.

    > И эти теории подтверждаются экспериментами.

    Экспериментами какими? До сих пор экспериментально не доказано было существование гравитационных волн (стоит заметить якобы в конце прошлого года было зафиксированы гравитационные волны), о каких экспериментах доказывающих пространства-времени может идти речь?

    > А теории использующие эфир не подтвердились экспериментами, поэтому и были отброшены.

    Уверен, что ни про эфир, и не про какие-то попытки экспериментов вы не в курсе.

     
     
  • 20.151, Анонимный Алкоголик (??), 08:06, 31/10/2018 [^] [ответить]    [к модератору]  
  • +/
    >>>В теориях "до Эйнштейна" пространство и время не зависили ни от чего
    > Эфир со временем никто не связывал, чтобы они были зависимы.

    Ну как не связывал... В доэйнштейновской классике Эфир, как и всё прочее, существовал во времени и пространстве. Так с ними и связывался...

     
  • 21.160, Sw00p aka Jerom (?), 23:05, 31/10/2018 [^] [ответить]    [к модератору]  
  • +/
    > Ну как не связывал...

    не вижу примера связи времени с эфиром...

     
  • 10.133, None (??), 14:39, 28/10/2018 [^] [ответить]    [к модератору]  
  • +/
    Юноша не застал холивары на тему, на карте распределения памяти адрес 0 размещать сверху или снизу...
     
     
  • 11.136, Sw00p aka Jerom (?), 17:22, 28/10/2018 [^] [ответить]    [к модератору]  
  • +/
    вы у нас тут застали холивар о "палке о двух концах"
     
  • 9.92, Аноним (-), 22:58, 26/10/2018 [^] [ответить]     [к модератору]  
  • +/
    Почему же, с точки зрения железа лучше всего если софт работает так как оно реал... весь текст скрыт [показать]
     
     
  • 10.98, Sw00p aka Jerom (?), 00:16, 27/10/2018 [^] [ответить]    [к модератору]  
  • +/
    >>Но вот захочешь ты быстрый алгоритм написать

    "быстрота алгоритма" определяется Колмогоровской сложностью, а не железом.

     
  • 5.47, Moomintroll (ok), 14:59, 26/10/2018 [^] [ответить]     [к модератору]  
  • +/
    Вы здесь перепутали всё с точностью до наоборот Как Вы и прочие высказавшиеся ... весь текст скрыт [показать]
     
     
  • 6.52, Ordu (ok), 15:44, 26/10/2018 [^] [ответить]     [к модератору]  
  • +/
    А, да вы правы Это у нас нулевой байт слева, у них он справа А это совершенно ... весь текст скрыт [показать]
     
     
  • 7.81, Аноним (81), 19:08, 26/10/2018 [^] [ответить]    [к модератору]  
  • +/
    Щас найдёлся еще один, который начнёт утверждать что все на самом деле не правы, и вероятно кто-то считает нулевой символ концом строки.
     
  • 7.152, Анонимный Алкоголик (??), 08:25, 31/10/2018 [^] [ответить]    [к модератору]  
  • +/
    > А, да вы правы. Это у нас нулевой байт слева, у них
    > он справа.

    Да нет. Нулевой байт и у них и у нас справа. Только у нас нулевой байт равен нулю, а у них имеет нулевое смещение... >:-)
    >:-)
    >:-)

     
     
  • 8.153, Ordu (ok), 12:49, 31/10/2018 [^] [ответить]    [к модератору]  
  • +/
    >> А, да вы правы. Это у нас нулевой байт слева, у них
    >> он справа.
    > Да нет. Нулевой байт и у них и у нас справа. Только
    > у нас нулевой байт равен нулю, а у них имеет нулевое
    > смещение... >:-)

    Я никогда не думал, что люди настолько не в состоянии отличать реальность от иллюзий. Это бывает непросто, но не в столь тривиальных случаях. Приятно осознавать себя одарённым, ЧСВ летит в небеса.

     
  • 5.88, Sw00p aka Jerom (?), 21:51, 26/10/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    выше написал - все споры ведут к палке о двух концах!!!
     
  • 4.78, Илья (??), 18:59, 26/10/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Старт у строки там где символ с индексом 0 Конец у строки - там индекс будет ... весь текст скрыт [показать]
     
     
  • 5.91, Sw00p aka Jerom (?), 22:21, 26/10/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    нарисуйте на бумаге ряд ячеек, и поставьте в начальной стартовой ячейке индекс... весь текст скрыт [показать]
     
  • 3.102, Аноним (102), 06:18, 27/10/2018 [^] [ответить]    [к модератору]  
  • +/
    > Скорее всего это про языки с письмом справа налево

    А что, есть взаимосвязь между порядком символов в строке и порядком их отображения на экране?

     
  • 2.16, Аноним (17), 13:03, 26/10/2018 [^] [ответить]     [к модератору]  
  • +3 +/
    Нет, но есть подозрение, что анонимы не умеют в аглицкий https github com rus... весь текст скрыт [показать]
     
     ....нить скрыта, показать (57)

  • 1.18, Ordu (ok), 13:09, 26/10/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    > Добавлена поддержка двух новых видов процедурных макросов

    Наконец-то они вынесли это из nighly. Ряд проектов теперь сможет перейти на stable rust.

     
     
  • 2.63, Аноним (7), 16:29, 26/10/2018 [^] [ответить]    [к модератору]  
  • +4 +/
    > Ряд проектов

    Оба?

     
     
  • 3.69, Ordu (ok), 16:49, 26/10/2018 [^] [ответить]     [к модератору]  
  • +3 +/
    Я сталкивался с этим, действительно в двух проектах Но они позволяют определять... весь текст скрыт [показать]
     
  • 2.93, Аноним (-), 23:03, 26/10/2018 [^] [ответить]     [к модератору]  
  • +/
    Судя по всему теперь у плюсов появился наконец достойный конкурент В нечитаемом... весь текст скрыт [показать]
     
     
  • 3.104, Ordu (ok), 07:05, 27/10/2018 [^] [ответить]     [к модератору]  
  • +/
    Я не очень понимаю о каком нечитаемом коде в rust е говорят люди От тебя я слыш... весь текст скрыт [показать]
     
     
  • 4.141, Илья (??), 08:58, 29/10/2018 [^] [ответить]     [к модератору]  
  • +/
    https github com antoyo relm blob 7e1baa6a62b2db5917720a1d871ade6d21486ad0 exa... весь текст скрыт [показать]
     
     
  • 5.142, Ordu (ok), 10:32, 29/10/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Не обращаясь к документации -- это искусственное ограничение в случае rust а, ... весь текст скрыт [показать]
     
     
  • 6.145, Илья (??), 07:54, 30/10/2018 [^] [ответить]     [к модератору]  
  • +/
    Ну так как, нашли Нет его, опредления этой структуры на уровне обчычного кода ... весь текст скрыт [показать]
     
     
  • 7.148, Ordu (ok), 09:15, 30/10/2018 [^] [ответить]     [к модератору]  
  • +/
    И не искал Я представляю о чём речь macroexpand Используй macroexpand, Luke, ... весь текст скрыт [показать]
     
     
  • 8.149, Илья (??), 23:41, 30/10/2018 [^] [ответить]    [к модератору]  
  • +/
    > macroexpand

    Где же вы раньше были. пойду читать, что за зверь такой

     
     
  • 9.150, Ordu (ok), 07:22, 31/10/2018 [^] [ответить]    [к модератору]  
  • +/
    >> macroexpand
    > Где же вы раньше были. пойду читать, что за зверь такой

    Функция в lisp'е. Она есть в emacs'е и её можно использовать не только с lisp'овым объектом. Хотя, если честно, я не пробовал использовать её с rust-mode, может она там и нереализована? Ну, мне не приходилось сталкиваться в rust'е с реально зубодробительными макросами, типа макросов, реализующих CLOS или типа того. Всё что я видел -- это вроде "давайте сгенерим impl MyCoolTrait для типа, через кодогенерацию, чтобы его не надо было бы писать для каждого типа вручную". Эти вещи легко читаются глазами в сорцах.

     
  • 5.154, freecoder (?), 18:23, 31/10/2018 [^] [ответить]    [к модератору]  
  • +/
    Да, это хороший пример, как использование атрибута может запутать, так как частично код генерируется в процедурном макросе. Однако мне потребовалось 5 минут, чтобы на Гитхабе отыскать то место, где создается структура. При этом я в своей жизни только один раз сам писал процедурный макрос и чтение кода особого труда мне не составило.
     
     ....нить скрыта, показать (11)

  • 1.25, Аноним (25), 13:37, 26/10/2018 [ответить] [показать ветку] [···]     [к модератору]  
  • +3 +/
    Но зачем Чем это отличется от my_for , например, если в коде это всеравно буде... весь текст скрыт [показать]
     
     
  • 2.35, trolleybus (?), 14:03, 26/10/2018 [^] [ответить]     [к модератору]  
  • +5 +/
    Для интеграции с другими языками с тем же Си, например То есть, к примеру, на... весь текст скрыт [показать]
     
     
  • 3.44, Аноним (7), 14:23, 26/10/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Другие языки уже лет сорок используют или Code import C c match Code или... весь текст скрыт [показать]
     
  • 2.68, zekefast (?), 16:48, 26/10/2018 [^] [ответить]     [к модератору]  
  • +4 +/
    Затем, что с новым инструментом cargo fix не сможет добавлять везде префикс my_ ... весь текст скрыт [показать]
     
  • 2.155, freecoder (?), 18:56, 31/10/2018 [^] [ответить]    [к модератору]  
  • +/
    Ответ был дан в блогпосте, анонсирующем выпуск:

    "Пока не так много случаев, когда вам это пригодится. Но однажды вы попытаетесь использовать пакет для Rust 2015 в проекте для Rust 2018 или наоборот, тогда набор ключевых слов у них будет разным."
    https://habr.com/post/428073/

     
  • 1.51, Аноним (7), 15:42, 26/10/2018 [ответить] [показать ветку] [···]     [к модератору]  
  • –6 +/
    Знаете почему в GOLANG при компиляции нет индикатора прогресса А в го компилят... весь текст скрыт [показать]
     
     
  • 2.53, Аноним (17), 15:57, 26/10/2018 [^] [ответить]    [к модератору]  
  • +6 +/
    >>В пакетный менеджер Cargo добавлен индикатор прогресса выполнения операций.
    > Знаете почему в GOLANG при компиляции нет индикатора прогресса?
    > А в го компилятор собирает средний проект менее секунды. Стандартную библиотеку - 5 секунд.
    > https://i.imgur.com/qfli0f7.png

    Если бы еще достигалось не экономией на оптимизации результата и не сливало ржавчине по времени выполнения и потребления памяти, то разработчики го (к которым несомненно относятся и некоторые консультирующие их анонимы опеннета!) могли бы гордиться:

    https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/rust-go.htm
    [code]
    regex-redux
    source secs mem gz cpu cpu load
    Rust
    2.44 194,804 765 3.87 85% 41% 20% 16%
    Go
    28.69 407,444 802 60.43 46% 51% 68% 46%
    binary-trees
    source secs mem gz cpu cpu load
    Rust
    4.14 175,692 721 15.18 90% 90% 91% 100%
    Go
    28.90 471,068 654 110.50 96% 95% 95% 97%
    ...
    pidigits
    source secs mem gz cpu cpu load
    Rust
    1.74 4,520 1366 1.74 1% 3% 0% 99%
    Go
    2.04 8,976 603 2.04 1% 0% 100% 0%

    [/code]
    Но чего нет, того нет.

     
     
  • 3.60, Аноним (7), 16:13, 26/10/2018 [^] [ответить]    [к модератору]  
  • –5 +/
    Синтетические тесты это хорошо.
    Но потребление памяти и быстродействие я бы предпочел сравнить на реальных проектах.
    К сожалению не знаю никого кто бы использовал Раст в продакшене.
    А вы?
     
     
  • 4.64, Аноним (17), 16:31, 26/10/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    Юлеж это хорошо Можно сравнить время загрузки или запуска браузера или доступа ... весь текст скрыт [показать]
     
     
  • 5.135, Junior frontend developer (?), 15:55, 28/10/2018 [^] [ответить]    [к модератору]  
  • +/
    Никто не будет писать ОС на урезанном куске языка в 2018
     
  • 3.137, Аноним (137), 01:42, 29/10/2018 [^] [ответить]     [к модератору]  
  • +/
    Go пока сливает по тестам даже Java если внимательно посмотреть на тайминги , н... весь текст скрыт [показать]
     
  • 2.74, Аноним (74), 17:44, 26/10/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    FreePascal смеется над golang по времени сборки проекта.
     
     
  • 3.138, Аноним (137), 01:44, 29/10/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    а зеленые треды там есть? без них микросервисы не сильно попишешь.
     
  • 3.139, mma (?), 05:15, 29/10/2018 [^] [ответить]    [к модератору]  
  • +/
    Паскаль собирает быстро, для институтских поделок сойдет да и ладно:) Для всего остального есть C/Cpp/C#/Java.
     
  • 2.79, Алексей (??), 19:02, 26/10/2018 [^] [ответить]     [к модератору]  
  • +3 +/
    Ну очевидно для этого пришлось чем-то пожертвовать Создатели Go пожертвовали ит... весь текст скрыт [показать]
     
  • 2.156, freecoder (?), 19:02, 31/10/2018 [^] [ответить]    [к модератору]  
  • +/
    За два года компиляцию в Rust уже не раз ускоряли. Так что не все так плохо.
     
  • 1.66, zekefast (?), 16:43, 26/10/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Для этого всего лишь стоит прочитать оригинальную новость в блоге Rust. При миграции между изданиями языка возможно, что в одном из следующих изданий будет добавлено слово, которое испльзуется уже в проекте как идентификатор. Что бы избежать конфликта с переименованием и сохранить семантику проекта необходимо будет просто добавить везде r#.

    Данная возможность является подготовкой к Rust 2018 Edition.

     
     
  • 2.67, Аноним (7), 16:47, 26/10/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    >Rust 2018 Edition.

    История с Python2/3 никого ничему не научила.

     
     
  • 3.71, Ан (??), 17:02, 26/10/2018 [^] [ответить]    [к модератору]  
  • +/
    Ну почему же. В Rust 2018 насколько знаю просто в проекте будет прописана версия.
    И Компилятор может использовать как до 2018 библиотеку, так и 2018 библиотеку.
    Такого разрыва быть не должно.
     
     
  • 4.83, Аноним (81), 19:19, 26/10/2018 [^] [ответить]    [к модератору]  
  • +/
    Звучит интересно. Я никогда не понимал все эти "extern crate..."
     
  • 1.70, iZEN (ok), 16:59, 26/10/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    Дополнительная прокладка к режиму компиляции Firefox и Tunderbird.
     
     
  • 2.95, Аноним (-), 23:09, 26/10/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Ну чо, изя, будет у тебя штук 5 компилеров, дюжина интерпретаторов, 20 гигатонн ... весь текст скрыт [показать]
     
     
  • 3.105, iZEN (ok), 10:57, 27/10/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Перед взлётом можно сделать pkg autorevove pkg autoremove Updating datab... весь текст скрыт [показать]
     
  • 1.84, Аноним (84), 20:09, 26/10/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    на Haiku OS пойдёт?
     
  • 1.85, Аноним (85), 20:09, 26/10/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Макросы — зло.
     
     
  • 2.89, Sw00p aka Jerom (?), 21:51, 26/10/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    макросы для машин, а не для человека
     
     
  • 3.96, Аноним (-), 23:10, 26/10/2018 [^] [ответить]    [к модератору]  
  • +/
    > макросы для машин, а не для человека

    Судя по синтаксису - для боевых человекоподобных роботов.

     
     
  • 4.97, Аноним (97), 23:27, 26/10/2018 [^] [ответить]    [к модератору]  
  • +/
    >> макросы для машин, а не для человека
    >
    > Судя по синтаксису - для боевых человекоподобных роботов.

    Судя по синтаксису - для боевых паукоподобных роботов.

     
  • 1.99, kiwinix (?), 00:49, 27/10/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Вот подскажите пожалуйста. Если учить php, то чтоб взяли программистом, нужно знать MySQL, html, css, js.. и какой-то фреймворк.

    А в случае с растом, какие еще будут зависимости на собеседовании?

     
     
  • 2.100, Аноним (100), 01:37, 27/10/2018 [^] [ответить]    [к модератору]  
  • +11 +/
    > А в случае с растом, какие еще будут зависимости на собеседовании?

    Спросят, почему решил устраиваться именно в Мозиллу.

     
  • 2.101, Аноним (101), 04:01, 27/10/2018 [^] [ответить]    [к модератору]  
  • +/
    > А в случае с растом, какие еще будут зависимости на собеседовании?

    MySQL, html, css, js.. и какой-то фреймворк.

     
  • 2.126, Аноним (126), 22:09, 27/10/2018 [^] [ответить]    [к модератору]  
  • +/
    Надо не учить, а жить этим.
     
  • 2.157, freecoder (?), 19:06, 31/10/2018 [^] [ответить]    [к модератору]  
  • +/
    TCP/IP стек и блокчейны.
     
  • 1.109, Аноним (109), 14:41, 27/10/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    очередной убийца с++ скатился
     
     
  • 2.125, th3m3 (ok), 21:35, 27/10/2018 [^] [ответить]    [к модератору]  
  • +/
    Аргументы?
     
  • 1.127, java developer (?), 22:16, 27/10/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Аргументы что не скатился?
     
     
  • 2.158, freecoder (?), 19:10, 31/10/2018 [^] [ответить]    [к модератору]  
  • +/
    А что значит "скотился"?
     
  • 1.131, Илья (??), 10:07, 28/10/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    А есть кто-нибудь, кто шарит в этой библиотеке?
    http://relm.ml/relm-intro
     
     
  • 2.134, Аноним (97), 15:09, 28/10/2018 [^] [ответить]    [к модератору]  
  • +/
    > А есть кто-нибудь, кто шарит в этой библиотеке?
    > http://relm.ml/relm-intro

    Есть. Но я их не знаю.

     
     
  • 3.140, Илья (??), 08:20, 29/10/2018 [^] [ответить]    [к модератору]  
  • +/
    Ваше чувство юмора просто зашкаливает.
     
  • 1.159, Аноним (159), 20:21, 31/10/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Может кто из растаманов пояснить нафига это "Добавлена возможность использования ключевых слов в качестве идентификаторов."?
     

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


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