LINUX.ORG.RU

Вышел Rust 1.3

 ,


2

7

17 сентября вышел очередной стабильный релиз Rust 1.3 — языка программирования общего назначения, разрабатываемого Mozilla совместно с сообществом. Данный релиз в целом сохраняет обратную совместимость с Rust 1.0, вышедшим в мае этого года.

Основные изменения:

  • В стандартную библиотеку добавлен модуль Duration, предоставляющий API для работы с промежутками времени.
  • Документация пополнилась книгой The Rustonomicon, посвященной низкоуровневому программированию на Rust.
  • Изменен механизм вывода lifetime по-умолчанию.
  • Дальнейшее повышение производительности стандартной библиотеки и компилятора.
  • Реализована предварительная поддержка Windows XP в компиляторе.

Одновременно была выпущена бета-версия Rust 1.4, в которой разработчики планируют реализовать полноценную поддержку MS Visual C++ как среды сборки, что позволит использовать Rust под Windows без инструментария GNU.

>>> Официальный сайт

>>> Примечания к выпуску

>>> Ссылка на скачивание

>>> Официальная документация

>>> Подробности



Проверено: Pinkbyte ()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от DarkEld3r

Тянуться к шифту лишний раз нет смысла

Лучше пускай те кто читают API к документации лишний раз тянутся )))))

Всё, я не вижу смысла вести дальше дискуссию

I60R ★★
()
Ответ на: комментарий от quantum-troll

println!(concat!

Какой экспрессивный язык.

anonymous
()
Ответ на: комментарий от ozkriff

Нет. потому что всё продумано. По сравнению с этим языком даже Ocaml с его неочевидными конструкциями и двусмысленным let кажется вполне читабельным. В том же D шаблоны не очень простые, но читаются всё равно на порядок лучше.

Vudod ★★★★★
()
Ответ на: комментарий от Vudod

Нет. потому что всё продумано

Нет. Потому что все сложности вынесены в рантайм.

tailgunner ★★★★★
()
Ответ на: комментарий от unt1tled

Тут все знают, что это ты 39 раз проголосовал с разных аккаунтов.

Злой ты. Нет, я честно один раз отметил ржавчину, плюсы, луа и питон)

Кстати, уже 50 человек)

ozkriff
()
Ответ на: комментарий от I60R

Даже NullPointerException у меня не вызывал таких диссонансов как to_string().

А ничего, что NullPointerException из менеджед языков не имеет, по сути, никакого отношения к расстрелу памяти из нативных языков, о которых я говорил?

Ну не надо так драматизировать.

Не надо подменять понятия.

Я свалил в кучу то, что нужно понять чтобы начать работать со строками.

Да ладно? И to_lowercase для этого непременно нужен?

Я отказываюсь к такому привыкать.

Значит язык не для тебя, такое бывает, всем угодить невозможно.

В реальной жизни с такими проблемами сталкиваешься редко.

Значит у нас разные реальные жизни. Не люблю к такому апеллировать, но мне кажется, что у тебя маловато опыта. Или он сильно другой. В любом случае, нежелание смотреть на вещи шире - это плохо.

Давай! System.out.println(«Hello» + " World!");. Только без форматирования, с конкатенацией.

Во первых, условия у тебя бредовые. С таким же успехом, я могу сказать давай напиши на шарпе что-нибудь хоть немного сложное только без GC. И потом буду в результат тыкать с криками, что код на С++ выглядит проще и красивее. В языке разные средства для того и есть, чтобы было удобнее.

Во вторых, то что пример искусственный, надеюсь, ты и сам понимаешь. Так что ответом будет:

println!("Hello World!");
А в более сложных примерах форматирование как раз красивее, удобнее и и понятнее будет смотреться.

Логика из разряда «напишу криво, и плевать что нужно больше телодвижений чтобы разобраться в коде, зато всё по правилам, всё так как мне привычно )))»

Ну то есть аргументов у тебя нет, только эмоции?

В Rust нет перегрузки операторов, да и вообще функция не может вернуть какой-то левый тип — мимо

В очередной раз ты демонстрируешь незнание языка. Перегрузка операторов есть. Или что ты вкладываешь в это понятие?

Ну и приходит тебе в функцию &SomeTrait - какой тип и как реализовал методы ты понятия не имеешь. Точно так же как и в других языках.

Про возврат левого типа - это вообще о чём?

DarkEld3r ★★★★★
()
Последнее исправление: DarkEld3r (всего исправлений: 2)
Ответ на: комментарий от I60R

В любом случае, нежелание смотреть на вещи шире - это плохо.

Ну то есть ты признаёшь, что про «Нужно to_string() вызывать» ты фигню сказал?

Да и никаких лишних сущностей - всё тот же println!.

DarkEld3r ★★★★★
()
Ответ на: комментарий от I60R

Лучше пускай те кто читают API к документации лишний раз тянутся )))))

Лишний раз? Хватит ровно одного раза, который, если по уму, произойдёт ещё при чтение «букваря».

DarkEld3r ★★★★★
()
Ответ на: комментарий от Vudod

В том же D шаблоны не очень простые, но читаются всё равно на порядок лучше.

Во первых, они разные. Во вторых, не сказал бы что сильно лучше.

DarkEld3r ★★★★★
()
Ответ на: комментарий от WatchCat

Под перегрузкой операторов я имел в виду перегрузку методов, извиняюсь.
Да, знаю, можно через трейты

I60R ★★
()
Ответ на: комментарий от I60R

И чем это лучше макроса? Какое вообще отношение имеет оператор сложения чисел к конкатенации? Почему не оператор | или || как в SQL? Не говоря уже о том, что сложение подразумевает выделение новой строки в куче, а в записи «Hello» + " world" этого выделения не видно. Поэтому для системного языка такая запись неприемлема, поскольку скрывает побочные эффекты.

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 1)
Ответ на: комментарий от DarkEld3r

Перегрузка операторов есть. Или что ты вкладываешь в это понятие?

Перешрузку функций. Было поздно, печатал на автомате, сделал ошибку. Извиняюсь

I60R ★★
()
Ответ на: комментарий от Legioner

И чем это лучше макроса?

Меньше символов в коде —> легче читается. Легче код форматируется.

Какое вообще отношение имеет оператор сложения чисел к конкатенации?

Плюс это не только оператор сложения чисел, это оператор сложения вообще. Для строк сложение = конкатенация, логично, не? Ну если не, то можно другой оператор ввести, хотя я был бы против.

Почему не оператор | или || как в SQL?

Громоздко и можно спутать с OR.

сложение подразумевает выделение новой строки в куче, а в записи «Hello» + " world" этого выделения не видно

В Java все знают, что при конкатенации создаётся StringBuilder. Программист видит конкатенацию и видит там StringBuilder. Это не нужно каждый раз указывать.
Внезапно, сделал RustExpand на каком-то исходнике из Servo — там сколько всего открылось, что по сравнению с этим строки — мелочь.
Да и смысл заниматься садомазохизмом, если Racer позволяет всё что неявно — развернуть?

I60R ★★
()
Ответ на: комментарий от I60R

а вот что делает to_string() — нужно искать в документации.

И одного раза хватит «на всю жизнь». Опять же, если ты не знаешь, что такое String, то в документацию всё равно придётся заглянуть.

DarkEld3r ★★★★★
()
Ответ на: комментарий от BruteForce

c++?

Троллишь или как? На С++ можно, прилагая определённые усилия, писать «безопасно». На расте можно, при желании, выстрелить в ногу. Разницу видишь?

DarkEld3r ★★★★★
()
Ответ на: комментарий от BruteForce

Писать std::unique_ptr<Type> kek вместо Type *kek это сильно большие усилия?

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

Я, если что, на С++ и пишу и не считаю его ужасным языком, как некоторые. Но разница есть.

DarkEld3r ★★★★★
()
Ответ на: комментарий от BruteForce

Ну а в чём проблема? Платить нужно за труды людей, построена она на опенсорс движке IDEA. Плагины питона можно декомпильнуть, если так нужно. Что за сопли?

menangen ★★★★★
()
Ответ на: комментарий от BruteForce

И? Монетизировать СПО в нашей стране в сто раз сложней, нежели проприетарное. Процесс зарабатывания отлажен, никому не сдалось это СПО.

menangen ★★★★★
()
Ответ на: комментарий от Manhunt

Автоматический вывод лайфтамов на сегодняшний день весьма слаб, если не сказать убог. ...

Как по мне, оно и не должно быть слишком хитрым.

Явное указание указание лайфтамов в прикладном коде неизбежно будет встречаться.

Да, само собой. Только вот мне почти всегда в прикладном коде встречается чего-то не сложнее &'a T, а не вон то вот страшное.

ozkriff
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.