Что отличает Раст от других языков, так это его система типов, основанная на улучшенном и кодифицированном своде лучших практик, отработанных поколениями программистов на 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 <aturon@mozilla.com>
- Abhishek Chanda <abhishek@cloudscaling.com>
- Adolfo Ochagavía <aochagavia92@gmail.com>
- Alex Burka <durka42+github@gmail.com>
- Alex Crichton <alex@alexcrichton.com>
- Alex Quach <alex@clinkle.com>
- Alexander Polakov <plhk@sdf.org>
- Andrea Canciani <ranma42@gmail.com>
- Andreas Martens <andreasm@fastmail.fm>
- Andreas Tolfsen <ato@mozilla.com>
- Andrei Oprea <andrei.br92@gmail.com>
- Andrew Paseltiner <apaseltiner@gmail.com>
- Andrew Seidl <dev@aas.io>
- Andrew Straw <strawman@astraw.com>
- Andrzej Janik <vosen@vosen.pl>
- Aram Visser <aramvisser@gmail.com>
- Ariel Ben-Yehuda <arielb1@mail.tau.ac.il>
- Augusto Hack <hack.augusto@gmail.com>
- Avdi Grimm <avdi@avdi.org>
- Barosl Lee <vcs@barosl.com>
- Ben Ashford <ben@bcash.org>
- Ben Gesoff <ben.gesoff@gmail.com>
- Björn Steinbrink <bsteinbr@gmail.com>
- Brad King <brad.king@kitware.com>
- Brendan Graetz <github@bguiz.com>
- Brett Cannon <brettcannon@users.noreply.github.com>
- Brian Anderson <banderson@mozilla.com>
- Brian Campbell <lambda@continuation.org>
- Carlos Galarza <carloslfu@gmail.com>
- Carol (Nichols || Goulding) <carol.nichols@gmail.com>
- Carol Nichols <carol.nichols@gmail.com>
- Chris Morgan <me@chrismorgan.info>
- Chris Wong <lambda.fairy@gmail.com>
- Christopher Chambers <chris.chambers@peanutcode.com>
- Clark Gaebel <cg.wowus.cg@gmail.com>
- Cole Reynolds <cpjreynolds@gmail.com>
- Colin Walters <walters@verbum.org>
- Conrad Kleinespel <conradk@conradk.com>
- Corey Farwell <coreyf@rwell.org>
- Dan Callahan <dan.callahan@gmail.com>
- Dave Huseby <dhuseby@mozilla.com>
- David Reid <dreid@dreid.org>
- Diggory Hardy <github@dhardy.name>
- Dominic van Berkel <dominic@baudvine.net>
- Dominick Allen <dominick.allen1989@gmail.com>
- Don Petersen <don@donpetersen.net>
- Dzmitry Malyshau <kvarkus@gmail.com>
- Earl St Sauver <estsauver@gmail.com>
- Eduard Burtescu <edy.burt@gmail.com>
- Erick Tryzelaar <erick.tryzelaar@gmail.com>
- Felix S. Klock II <pnkfelix@pnkfx.org>
- Florian Hahn <flo@fhahn.com>
- Florian Hartwig <florian.j.hartwig@gmail.com>
- Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
- FuGangqiang <fu_gangqiang@163.com>
- Garming Sam <garming_sam@outlook.com>
- Geoffrey Thomas <geofft@ldpreload.com>
- Geoffry Song <goffrie@gmail.com>
- Gleb Kozyrev <gleb@gkoz.com>
- Graydon Hoare <graydon@mozilla.com>
- Guillaume Gomez <guillaume1.gomez@gmail.com>
- Hajime Morrita <omo@dodgson.org>
- Hech <tryctor@gmail.com>
- Heejong Ahn <heejongahn@gmail.com>
- Hika Hibariya <hibariya@gmail.com>
- Huon Wilson <dbau.pp+github@gmail.com>
- Igor Strebezhev <xamgore@ya.ru>
- Isaac Ge <acgtyrant@gmail.com>
- J Bailey <jj2baile@uwaterloo.ca>
- Jake Goulding <jake.goulding@gmail.com>
- James Miller <bladeon@gmail.com>
- James Perry <james.austin.perry@gmail.com>
- Jan Andersson <jan.andersson@gmail.com>
- Jan Bujak <j@exia.io>
- Jan-Erik Rediger <janerik@fnordig.de>
- Jannis Redmann <mail@jannisr.de>
- Jason Yeo <jasonyeo88@gmail.com>
- Johann <git@johann-hofmann.com>
- Johann Hofmann <git@johann-hofmann.com>
- Johannes Oertel <johannes.oertel@uni-due.de>
- John Gallagher <jgallagher@bignerdranch.com>
- John Van Enk <vanenkj@gmail.com>
- Jonathan S <gereeter+code@gmail.com>
- Jordan Humphreys <mrsweaters@users.noreply.github.com>
- Joseph Crail <jbcrail@gmail.com>
- Josh Triplett <josh@joshtriplett.org>
- Kang Seonghoon <kang.seonghoon@mearie.org>
- Keegan McAllister <kmcallister@mozilla.com>
- Kelvin Ly <kelvin.ly1618@gmail.com>
- Kevin Ballard <kevin@sb.org>
- Kevin Butler <haqkrs@gmail.com>
- Kevin Mehall <km@kevinmehall.net>
- Krzysztof Drewniak <krzysdrewniak@gmail.com>
- Lee Aronson <lee@libertad.ucsd.edu>
- Lee Jeffery <leejeffery@gmail.com>
- Liam Monahan <liam@monahan.io>
- Liigo Zhuang <com.liigo@gmail.com>
- Luke Gallagher <luke@hypergeometric.net>
- Luqman Aden <me@luqman.ca>
- Manish Goregaokar <manishsmail@gmail.com>
- Manuel Hoffmann <manuel@polythematik.de>
- Marin Atanasov Nikolov <dnaeon@gmail.com>
- Mark Mossberg <mark.mossberg@gmail.com>
- Marvin Löbel <loebel.marvin@gmail.com>
- Mathieu Rochette <mathieu@rochette.cc>
- Mathijs van de Nes <git@mathijs.vd-nes.nl>
- Matt Brubeck <mbrubeck@limpet.net>
- Michael Alexander <beefsack@gmail.com>
- Michael Macias <zaeleus@gmail.com>
- Michael Park <mcypark@gmail.com>
- Michael Rosenberg <42micro@gmail.com>
- Michael Sproul <micsproul@gmail.com>
- Michael Woerister <michaelwoerister@gmail>
- Michael Wu <mwu@mozilla.com>
- Michał Czardybon <mczard@poczta.onet.pl>
- Mickaël Salaün <mic@digikod.net>
- Mike Boutin <mike.boutin@gmail.com>
- Mike Sampson <mike@sambodata.com>
- Ms2ger <ms2ger@gmail.com>
- Nelo Onyiah <nelo.onyiah@gmail.com>
- Nicholas <npmazzuca@gmail.com>
- Nicholas Mazzuca <npmazzuca@gmail.com>
- Nick Cameron <ncameron@mozilla.com>
- Nick Hamann <nick@wabbo.org>
- Nick Platt <platt.nicholas@gmail.com>
- Niko Matsakis <niko@alum.mit.edu>
- Oak <White-Oak@users.noreply.github.com>
- Oliver Schneider <github6541940@oli-obk.de>
- P1start <rewi-github@whanau.org>
- Pascal Hertleif <killercup@gmail.com>
- Paul Banks <banks@banksdesigns.co.uk>
- Paul Faria <paul_faria@ultimatesoftware.com>
- Paul Quint <DrKwint@gmail.com>
- Pete Hunt <petehunt@users.noreply.github.com>
- Peter Marheine <peter@taricorp.net>
- Phil Dawes <phil@phildawes.net>
- Philip Munksgaard <pmunksgaard@gmail.com>
- Piotr Czarnecki <pioczarn@gmail.com>
- Piotr Szotkowski <chastell@chastell.net>
- Poga Po <poga.bahamut@gmail.com>
- Przemysław Wesołek <jest@go.art.pl>
- Ralph Giles <giles@mozilla.com>
- Raphael Speyer <rspeyer@gmail.com>
- Remi Rampin <remirampin@gmail.com>
- Ricardo Martins <ricardo@scarybox.net>
- Richo Healey <richo@psych0tik.net>
- Rob Young <rob.young@digital.cabinet-office.gov.uk>
- Robin Kruppe <robin.kruppe@gmail.com>
- Robin Stocker <robin@nibor.org>
- Rory O’Kane <rory@roryokane.com>
- Ruud van Asseldonk <dev@veniogames.com>
- Ryan Prichard <ryan.prichard@gmail.com>
- Scott Olson <scott@scott-olson.org>
- Sean Bowe <ewillbefull@gmail.com>
- Sean McArthur <sean.monstar@gmail.com>
- Sean Patrick Santos <SeanPatrickSantos@gmail.com>
- Seo Sanghyeon <sanxiyn@gmail.com>
- Shmuale Mark <shm.mark@gmail.com>
- Simon Kern <simon.kern@rwth-aachen.de>
- Simon Sapin <simon@exyr.org>
- Simonas Kazlauskas <git@kazlauskas.me>
- Sindre Johansen <sindre@sindrejohansen.no>
- Skyler <skyler.lipthay@gmail.com>
- Steve Klabnik <steve@steveklabnik.com>
- Steven Allen <steven@stebalien.com>
- Swaroop C H <swaroop@swaroopch.com>
- Sébastien Marie <semarie@users.noreply.github.com>
- Tamir Duberstein <tamird@gmail.com>
- Tero Hänninen <tejohann@kapsi.fi>
- Theo Belaire <theo.belaire@gmail.com>
- Theo Belaire <tyr.god.of.war.42@gmail.com>
- Thiago Carvalho <thiago.carvalho@westwing.de>
- Thomas Jespersen <laumann.thomas@gmail.com>
- Tibor Benke <ihrwein@gmail.com>
- Tim Cuthbertson <tim@gfxmonk.net>
- Tincan <tincann@users.noreply.github.com>
- Ting-Yu Lin <aethanyc@gmail.com>
- Tobias Bucher <tobiasbucher5991@gmail.com>
- Toni Cárdenas <toni@tcardenas.me>
- Tshepang Lekhonkhobe <tshepang@gmail.com>
- Ulrik Sverdrup <root@localhost>
- Vadim Chugunov <vadimcn@gmail.com>
- Vadim Petrochenkov <vadim.petrochenkov@gmail.com>
- Valerii Hiora <valerii.hiora@gmail.com>
- Wangshan Lu <wisagan@gmail.com>
- Wei-Ming Yang <rick68@users.noreply.github.com>
- Will <will@glozer.net>
- Will Hipschman <whipsch@gmail.com>
- Wojciech Ogrodowczyk <github@haikuco.de>
- Xue Fuqiao <xfq.free@gmail.com>
- Xuefeng Wu <xfwu@thoughtworks.com>
- York Xiang <bombless@126.com>
- Young Wu <doomsplayer@gmail.com>
- bcoopers <coopersmithbrian@gmail.com>
- critiqjo <john.ch.fr@gmail.com>
- diwic <diwic@users.noreply.github.com>
- fenduru <fenduru@users.noreply.github.com>
- gareins <ozbolt.menegatti@gmail.com>
- github-monoculture <eocene@gmx.com>
- inrustwetrust <inrustwetrust@users.noreply.github.com>
- jooert <jooert@users.noreply.github.com>
- kgv <mail@kgv.name>
- klutzy <klutzytheklutzy@gmail.com>
- kwantam <kwantam@gmail.com>
- leunggamciu <gamciuleung@gmail.com>
- mdinger <mdinger.bugzilla@gmail.com>
- nwin <nwin@users.noreply.github.com>
- pez <james.austin.perry@gmail.com>
- robertfoss <dev@robertfoss.se>
- rundrop1 <rundrop1@zoho.com>
- sinkuu <sinkuupump@gmail.com>
- tynopex <tynopex@users.noreply.github.com>
- Łukasz Niemier <lukasz@niemier.pl>
- らいどっと <ryogo.yoshimura@gmail.com>
This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
Комментариев нет:
Отправить комментарий