[Перевод] Анонс Rust 1.0

Сегодня мы с гордостью представляем релиз Rust версии 1.0, нового языка программирования для создания более надёжных и эффективных систем. Раст объединяет в себе низкоуровневый контроль над производительностью с удобством и гарантиями безопасности языков высокого уровня. Лучше того, он при этом не требует сборщика мусора или среду выполнения, так что библиотеками на Расте можно безболезненно заменять библиотеки на C (англ.). Если вы хотите поэкспериментировать с Растом, лучше всего начать с раздела «Getting Started» книги Rust Book (если вы предпочитаете читать с электронных книг, Паскаль Хертлиф (Pascal Hertleif) поддерживает неофициальные версии этой книги в электронном виде).Что отличает Раст от других языков, так это его система типов, основанная на улучшенном и кодифицированном своде лучших практик, отработанных поколениями программистов на C и C++. Так что Расту есть что предложить как опытным системных программистам, так и новичкам: опытные разработчики оценят сэкономленное на отладке время, а новичкам придётся по вкусу возможность писать низкоуровневый код, не беспокоясь о мелких ошибках, которые приводят к необъяснимым падениям их программ.Что значит для Раста релиз 1.0? Текущая версия Раста — результат множества итераций и экспериментов. Такой процесс разработки прекрасно нам послужил: Раст сейчас намного проще и мощнее, чем мы изначально представляли. Но из-за всех этих экспериментов поддерживать проекты, написанные на Расте, было очень сложно, так как язык и стандартная библиотека постоянно менялись.Релиз версии 1.0 означает, что этому беспорядку пришёл конец. Этот релиз — официальное начало нашему пути к поддержанию стабильности (англ.). Начиная с этого момента изменения, ломающие совместимость, будут за пределами стабильной версии (за исключением некоторых вещей, вроде багов в компиляторе).

Учитывая сказанное, релиз 1.0 не означает, что язык Раст «завершён». У нас в запасе множество улучшений. На самом деле, ночные сборки уже содержат улучшения в скорости компиляции (а их будет ещё больше) и включают новые API и фичи языка, такие, как std: fs и ассоциированные константы.

Чтобы быть уверенными, что улучшения в компиляторе и языке входят в экосистему как можно более полно и быстро, мы решили использовать train-based модель релизов. Это означает, что мы будем выпускать регулярные релизы каждые шесть недель, как это делают команды Firefox и Chrome. Чтобы начать этот процесс, мы также выпускаем бета-релиз Раста 1.1 — одновременно со стабильным релизом 1.0.

Cargo и crates.io Создание настоящего проекта — это не только написание кода, это ещё и управление зависимостями. Cargo — пакетный менеджер и система сборки Раста — создан, чтобы облегчить эту задачу. С использованием Cargo скачивание и установка новых библиотек проста настолько же, насколько просто добавить новую строчку в файл манифеста.Конечно, чтобы использовать зависимость, её нужно сначала найти. Здесь появляется crates.io — центральный репозиторий пакетов Раста. С его помощью очень просто и искать чужие пакеты, и публиковать свои.

С момента анонсирования cargo и crates.io ­— месяцев шесть назад — число пакетов стабильно растёт. Однако сейчас мы в самом начале пути, так что есть ещё много замечательных пакетов, которые нужно написать. Если вам интересно создавать новые библиотеки, которые потрясут мир Раста — сейчас самое время!

Открытые и исходники, и управление Раст был open-source проектом с самого начала. Последние несколько лет мы постоянно искали способы сделать наше руководство более открытым и управляемым сообществом. С тех пор, как мы ввели процесс RFC, чуть больше года назад, все основные решения по поводу Раста записываются и обсуждаются открыто. Недавно мы приняли новую модель управления, которая состоит в разделении на подкоманды, каждая из которых будет отвечать за RFC в своей определённой области. Если вы хотите помочь определить будущее Раста, мы будем рады любому вашему участию: загружайте библиотеки на crates.io, комментируйте RFC, или пишите сам код Раста.Мы бы хотели выразить особую благодарность следующим людям, каждый из которых привнёс свой вклад с момента нашего предыдущего релиза (полный список контрибуторов здесь):

Aaron Gallagher <_@habnab.it> Aaron Turon Abhishek Chanda Adolfo Ochagavía Alex Burka Alex Crichton Alex Quach Alexander Polakov Andrea Canciani Andreas Martens Andreas Tolfsen Andrei Oprea Andrew Paseltiner Andrew Seidl Andrew Straw Andrzej Janik Aram Visser Ariel Ben-Yehuda Augusto Hack Avdi Grimm Barosl Lee Ben Ashford Ben Gesoff Björn Steinbrink Brad King Brendan Graetz Brett Cannon Brian Anderson Brian Campbell Carlos Galarza Carol (Nichols || Goulding) Carol Nichols Chris Morgan Chris Wong Christopher Chambers Clark Gaebel Cole Reynolds Colin Walters Conrad Kleinespel Corey Farwell Dan Callahan Dave Huseby David Reid Diggory Hardy Dominic van Berkel Dominick Allen Don Petersen Dzmitry Malyshau Earl St Sauver Eduard Burtescu Erick Tryzelaar Felix S. Klock II Florian Hahn Florian Hartwig Franziska Hinkelmann FuGangqiang Garming Sam Geoffrey Thomas Geoffry Song Gleb Kozyrev Graydon Hoare Guillaume Gomez Hajime Morrita Hech Heejong Ahn Hika Hibariya Huon Wilson Igor Strebezhev Isaac Ge J Bailey Jake Goulding James Miller James Perry Jan Andersson Jan Bujak Jan-Erik Rediger Jannis Redmann Jason Yeo Johann Johann Hofmann Johannes Oertel John Gallagher John Van Enk Jonathan S Jordan Humphreys Joseph Crail Josh Triplett Kang Seonghoon Keegan McAllister Kelvin Ly Kevin Ballard Kevin Butler Kevin Mehall Krzysztof Drewniak Lee Aronson Lee Jeffery Liam Monahan Liigo Zhuang Luke Gallagher Luqman Aden Manish Goregaokar Manuel Hoffmann Marin Atanasov Nikolov Mark Mossberg Marvin Löbel Mathieu Rochette Mathijs van de Nes Matt Brubeck Michael Alexander Michael Macias Michael Park Michael Rosenberg <42micro@gmail.com> Michael Sproul Michael Woerister Michael Wu Michał Czardybon Mickaël Salaün Mike Boutin Mike Sampson Ms2ger Nelo Onyiah Nicholas Nicholas Mazzuca Nick Cameron Nick Hamann Nick Platt Niko Matsakis Oak Oliver Schneider P1start Pascal Hertleif Paul Banks Paul Faria Paul Quint Pete Hunt Peter Marheine Phil Dawes Philip Munksgaard Piotr Czarnecki Piotr Szotkowski Poga Po Przemysław Wesołek Ralph Giles Raphael Speyer Remi Rampin Ricardo Martins Richo Healey Rob Young Robin Kruppe Robin Stocker Rory O«Kane Ruud van Asseldonk Ryan Prichard Scott Olson Sean Bowe Sean McArthur Sean Patrick Santos Seo Sanghyeon Shmuale Mark Simon Kern Simon Sapin Simonas Kazlauskas Sindre Johansen Skyler Steve Klabnik Steven Allen Swaroop C H Sébastien Marie Tamir Duberstein Tero Hänninen Theo Belaire Theo Belaire Thiago Carvalho Thomas Jespersen Tibor Benke Tim Cuthbertson Tincan Ting-Yu Lin Tobias Bucher Toni Cárdenas Tshepang Lekhonkhobe Ulrik Sverdrup Vadim Chugunov Vadim Petrochenkov Valerii Hiora Wangshan Lu Wei-Ming Yang Will Will Hipschman Wojciech Ogrodowczyk Xue Fuqiao Xuefeng Wu York Xiang Young Wu bcoopers critiqjo diwic fenduru gareins github-monoculture inrustwetrust jooert kgv klutzy kwantam leunggamciu mdinger nwin pez robertfoss rundrop1 sinkuu tynopex Łukasz Niemier らいどっと

© Habrahabr.ru