The OpenNET Project / Index page

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

Увидел свет язык программирования Rust 1.0

15.05.2015 20:30

Состоялся первый стабильный выпуск развиваемого проектом Mozilla языка программирования Rust, который ознаменовал полную стабилизацию программных интерфейсов всех библиотек и языковых конструкций. Основной причиной подготовки Rust 1.0 является желание стабилизировать язык и сделать его пригодным для использования в реальных проектах. Исходные тексты проекта распространяются под лицензией MIT. Параллельно с Rust совместно с компанией Samsung развивается экспериментальный браузерный движок Servo, написанный на языке Rust и отличающийся поддержкой многопоточного рендеринга web-страниц и распараллеливанием операций с DOM (Document Object Model).

В процессе подготовки ветки Rust 1.0 программные интерфейсы и возможности языка подверглись значительной ревизии, после которой по умолчанию оставлены только полностью готовые к применению возможности, реализация которых не будет изменяться в дальнейшем. Все остальные функции переведены в разряд экспериментальных и вынесены из поставки по умолчанию. Таким образом каждый следующий за Rust 1.0 стабильный выпуск будет полностью обратно совместим с предыдущим и будет гарантировать неизменность API. По мере доведения до готовности, экспериментальные возможности будут стабилизироваться и включаться в основные выпуски. Для использования экспериментальных возможностей следует использовать ночные сборки или явно разрешить данные возможности на этапе сборки, в противном случае обращение ко всем компонентам API, которые признаны нестабильными, будет приводить к выводу ошибки.

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

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

  1. Главная ссылка к новости (http://blog.rust-lang.org/2015...)
  2. OpenNews: Тесты производительности Asm.js и движка Servo
  3. OpenNews: Выпуск языка программирования Rust 0.12, развиваемого проектом Mozilla
  4. OpenNews: Mozilla и Samsung объявили о совместной работе над браузерным движком нового поколения
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/42241-rust
Ключевые слова: rust
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (55) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Ящ (ok), 20:33, 15/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Блин, только о нём подумал и мгновенно появилась новость.
     
     
  • 2.3, A.Stahl (ok), 20:56, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +32 +/
    Эх-х-х, а попробуй подумать о мире во всём мире. Или хотя бы о Луне из сыра.
    А вдруг...
     
     
  • 3.19, Аноним (-), 00:23, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > Или хотя бы о Луне из сыра.

    Таки перестанешь писать комменты и полетишь есть сыр:?

     

  • 1.2, ылдо (?), 20:55, 15/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ещеб новость запилили, что Qt 5.5 beta вышла.
     
     
  • 2.50, Аноним (-), 20:18, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нет, лучше пусть хоть кто-то объяснит - почему его так назвали - Rust.

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

    Как корабль назовешь, так он и полетит.

     

  • 1.5, Аноним (-), 21:05, 15/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну кто поделится списком самых нужных библиотек к нему?
     
     
  • 2.6, Ящ (ok), 21:16, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А ты напиши хоть одну, вот и поучаствуешь.
     
  • 2.22, vn971 (ok), 01:23, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Я лично не люблю эту awesome-* тенденцию, но как минимум посмотреть её можно, раз уж Вы ищете либы на Расте:
    https://github.com/kud1ing/awesome-rust
     
     
  • 3.61, Аноним (-), 09:02, 18/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >Я лично не люблю эту *** тенденцию

    Я диагностирую у этого пациента "Syndromum Moskis" или "Cиндром Моськи.
    В операционную, быстро!

     

  • 1.8, Bizdelnick (?), 21:40, 15/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > что делает возможным создания на Rust библиотек, которые могут выступать в роли прозрачной замены библиотекам для языка Си

    А можно об этом поподробнее?

     
     
  • 2.12, Аноним (-), 23:27, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    http://blog.rust-lang.org/2015/04/24/Rust-Once-Run-Everywhere.html
     
     
  • 3.16, Bizdelnick (?), 23:42, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо за ссылку, раньше как-то проглядел эту возможность. Жаль только, что динамические библиотеки он делать не умеет.
     
     
  • 4.25, Аноним (-), 02:10, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вообще-то, умеет.
     
  • 2.14, ferux (ok), 23:38, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    возможно имелось ввиду, что мало кто захочет юзать в программе без рантайма библиотеки, которые требуют рантайма. Ну и производительность должна быть близка в теории при такой замене. Поэтому можно заменить сишные библиотеки на библиотеки на Rust.
     

  • 1.9, th3m3 (ok), 22:05, 15/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Он идёт как замена C/C++?
     
     
  • 2.10, Аноним (-), 22:09, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • –5 +/
    http://eax.me/cpp-will-never-die/
     
     
  • 3.13, Аноним (-), 23:31, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Мнение афискона, который ни раста ни крестов толком не знает, очень важно для нас.
     
     
  • 4.62, Аноним (-), 09:03, 18/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Знатоки "крестов" мирового уровня в треде. Все в машину!

     
  • 3.17, ferux (ok), 23:47, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ничего так эксперимент: проги C/C++ компилил gcc, а компилятор rust построен на LLVM. Ясное дело, что пока различных оптимизаций в gcc больше чем в LLVM. Тогда причём тут вообще производительность языка?
     
  • 3.18, Аноним (-), 23:51, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Очередной "провидец" :)

    >  net.lang.c › 4/19/84
    > Assembler vs C
    > ...
    > The question is whether or not C is a viable alternative to using assembler.
    >net.lang 1/20/86
    > Structured assembler
    > I think 'C' is a very good language for the average engineer (most of us are average by definition), but is unusable for any application where speed and code size are real critical ... C' programs to make them better, but such a program could never be as fast or as small as a well written Assembler language program
    >

     
     
  • 4.20, Аноним (-), 01:18, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что характерно, провидец по своему прав. Гугель вон по сей день простыни асма наворачивает, чтобы их кодеки работали с приемлимой скоростью. Чисто сишная версия - здорово тормознее получается.
     
     
  • 5.24, Bizdelnick (?), 01:48, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    приемлЕмой
     
     
  • 6.47, Аноним (-), 18:01, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    не флуди
     
  • 5.46, Аноним (-), 16:28, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Что характерно, провидец по своему прав. Гугель вон по сей день простыни

    Угу, и каждый раз, начиная новый проект, все долго и мучительно выбирают - писать на Си или на Ъ-языке?
    Я к тому, что  вопрос "А является ли Си достойной альтернативой асму?" уже давно не стоит ;)
    Наоборот - обычно им же и ограничиваются, когда нужно ускорить часть кода и считая Си для большинства не-ембеддед потребностей слишком низкоуровневым.

    Раньше стандартные диванные аналитикини на форумах писали "нужно быстрее - напиши на асме!" - сейчас "пиши на Си!", а за упоминание асмы сразу заклюют (хотя, конечно будут правы - без четкого знания мат. части особого профита не будет, скорее даже наоборот, но это, как ни странно, относится и к Си)

     
  • 4.28, xeioex (?), 09:31, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    А можно ссылочку на оригинальное сообщение?
     
     
  • 5.42, Аноним (-), 13:26, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > А можно ссылочку на оригинальное сообщение?

    https://groups.google.com/d/msg/net.lang/2k2aWTEVLA8/q4w2_pynsK4J
    https://groups.google.com/d/msg/net.lang/mGZD8PtIiTw/-DKHMeRbD5wJ

     
  • 2.11, Owlet (?), 22:50, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Наконец-то да!
     
  • 2.21, Аноним (-), 01:18, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Он идёт как замена C/C++?

    Он идет как язык для написания аж целой одной сервы.

     
     
  • 3.29, Аноним (-), 10:48, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Написать которую на крестах никто не осилил.
     
  • 3.31, nich (ok), 11:21, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда будем ждать, когда серву допишут.
     
  • 2.23, vn971 (ok), 01:30, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да.
     
  • 2.51, Аноним (-), 21:57, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    скорее как вялая пародия на модулу, аду и эрланг.
    в результате получилась некая помесь java script и php на стероидах и с понтами.
     
     
  • 3.54, Ан (??), 00:22, 17/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Совсем в глаза не видел Rust? Или мб JS с PHP? А то сходства там никакого.
    Ляпнул абы ляпнуть. =/
     
     
  • 4.55, Aleks Revo (ok), 09:54, 17/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Скобочки же! Он увидел скобочки и... БИНГО!
     
  • 4.57, Аноним (-), 23:30, 17/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    там не прямое сравнение, там Уровень ЯП имелся вииду, подзаборный.
     
     
  • 5.63, Ан (??), 14:05, 18/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Так товарищ где аргументы то?
     

  • 1.15, ferux (ok), 23:39, 15/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    должен взлететь
     
     
  • 2.26, Ph0zzy (ok), 07:30, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    просто обязан.
     
     
  • 3.33, nich (ok), 11:25, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > просто обязан.

    Ещё немного, ещё чуть-чуть!

     
  • 2.52, Аноним (-), 22:01, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > должен взлететь

    да не, врятли.
    претензии создателей на масштабируемость и секьюрность.
    откарываешь а внутри, ага, все то-же(что рождает грабли с): кучи, семафоры, указатели.
    в общем - каменный век, не сказать грубее.
    даже не отягощенное самого языка спецификой оно - не имеет смысла в таком виде с таким прицелом. как претенцизозная(но безграмотно сделанная)"игрушка для поиграться" внутри корпорации - наверное, но не более и не надолго.


     

  • 1.27, АнониМ. (?), 07:53, 16/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Рассказывать о языке бесполезно, надо рассказывать о сопутствующих библиотеках. Каким бы классным язык не был успех зависит от набора стандартных библиотек.
     
     
  • 2.41, Аноним (-), 13:16, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Зря минусуете человека, он прав. Только добавлю что не только стандартных библиотек, но и хороших фреймворков/сторонних библиотек.
    Именно так стал заметен/популярен некоторое время назад Руби - изза популярного и многофункционального RubyOnRails, или Питон с его огромным количеством всевозможных библиотек от веб разработки до научных библиотек.  
     
  • 2.44, Аноним (-), 15:11, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Практика показывает, что про большинство стандартных библиотек со временем хочется, чтобы они никогда не появлялись. Напомнить, сколько перлов пришлось вырывать клещами из стандартных библиотек С и Java? Чем меньше стандартная библиотека и чем больше внимания уделяется синтаксису и  доработке компиляторов, тем лучше. А вот сторонних библиотек — уже больше двух тысяч. И большинство написаны ещё до того, как язык стабилизировался.
     
  • 2.56, Аноним (-), 15:10, 17/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Си успешен благодаря libc?
     
     
  • 3.64, fi (ok), 16:57, 18/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    не поверишь! это оно, когда-то в древности писали прямо на syscall-ах! А утилиты подкладывали прямо в исходники в общей каталог - библиотек не было!
     

  • 1.30, Аноним (-), 11:21, 16/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    В нем есть контейнеры и алгоритмы, подобные stl в c++?
     
     
  • 2.35, Аноним (-), 11:35, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Да
     
  • 2.36, Аноним (-), 11:45, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    если вы про вектора, двоичные кучи и прочие хэш-таблицы, то да, есть.

    Кстати, аналог std::map там реализован на B-деревьях

     
     
  • 3.48, Аноним (-), 18:14, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    B-деревья мертвы, сейчас квантовые вычисления малец!
     

  • 1.32, Аноним (-), 11:22, 16/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Было бы неплохо увидеть boost и gcc/icc под него, язык бы определенно взлетел
     
     
  • 2.34, Аноним (-), 11:25, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Было бы неплохо если бы boost и был его стандартной библиотекой
     
  • 2.43, Аноним (-), 15:01, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Ну всё, началось. Всё, чем является boost для C++ — неотъемлемая часть Rust.
     

  • 1.37, YetAnotherOnanym (ok), 12:20, 16/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    > каждый следующий за Rust 1.0 стабильный выпуск будет полностью обратно совместим с предыдущим и будет гарантировать неизменность API

    Так и хочется пристально посмотреть главному разрабу в глаза и спросить "Это точно? Это действительно так? Ты меня не обманываешь? Ты твёрдо обещаешь, что API не будет меняться?"

     
  • 1.49, Аноним (-), 19:57, 16/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Все говорят, что он не взлетит, точнее уже не взлетел.
     
     
  • 2.53, Аноним (-), 23:57, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Все говорят, что он не взлетит, точнее уже не взлетел.

    Уже давно как взлетел
    https://ru.wikipedia.org/wiki/Руст,_Матиас

     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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