LINUX.ORG.RU
ФорумTalks

Языку Rust 5 лет

 ,


1

5

Сегодня исполнилось 5 лет языку программирования Rust с начала выпуска версии 1.0 в 2015 году. С чем я и поздравляю комьюнити!

Достижения за эти 5 лет можно увидеть по ссылке: https://blog.rust-lang.org/2020/05/15/five-years-of-rust.html

★★★★★

А почему с версии 1.0 надо рождение считать? До версии 1.0 Rust не публиковали? Вот например в случае с Julia, были версии типа 0.6, 0.8…

С какой версии тогда считать рождение С++?

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

Наверно потому, что стабилизировали и пообещали не ломать совместимость, кроме случаев обнаружения багов. Что и сделали.

Для C++ - это 1985-й, когда была выпущена «The C++ Programming Language».

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

Сначала пускай раст нормально начнёт работать на всех популярных платформах, потом пускай его портируют на микроконтроллеры и прочие утюги, а там уже можно будет и C будет выкидывать. Но да, за пять лет прогресс у проекта, конечно, довольно большой.

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

потом пускай его портируют на микроконтроллеры и прочие утюги

Зачем? На ARM и RISC-V уже портировали, а остальное можно выкинуть.

hateyoufeel ★★★★★
()

Такой маленький, а уже нинужно.

stasolog
()
Ответ на: комментарий от hateyoufeel

На арм-то может и портировали, но далеко не на все платформы: https://forge.rust-lang.org/release/platform-support.html . В продакшене (это не у себя дома или в pet-проекте), как я понимаю, можно ограниченно использовать платформы из tier2 максимум. А этого явно мало.

Ну и я надеюсь что вы сейчас троллите. Потому что именно так себя и ведут фанатики: «нинужно, выкинуть, кококо».

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

почему ограниченно? компилировать под все платформы из tier 2 и из tier 2.5 можно, другое дело что на большинстве из этих платформ не запустишь rustc и cargo, но надо ли оно?

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

Но это просто таргеты, всякие удобные библиотеки, которые написаны под различные платформы никто не отменял, скажем на ios я могу скомпилировать, но с использование uikit у меня возникнут сложности, но опять же, нодо ли оно, если есть swift для этого?

Int64 ★★★
()

На самом деле печальный юбилей. За 5 лет ни заметных продуктов, ни вакансий так и не появилось. Это провал для самого раскрученного ЯП со времен появления жабы.

bread
()
Ответ на: комментарий от Int64

почему ограниченно?

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

DawnCaster ★★
()
Последнее исправление: DawnCaster (всего исправлений: 3)
Ответ на: комментарий от red75prim

УМВР - это вообще не аргумент, должны же понимать. Сами разрабы пишут, что какие-то гарантии работоспособности есть только для tier1.

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

Это значит, что если УМВПР, то надо будет наконец собраться и сделать PR с тестами.

red75prim ★★★
()

Что ж, накатим, а потом пора бы и закапывать.

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

Знал бы ты, сколько багов в бэкендах gcc к отличным от x86 и arm платформам люди находят.

hateyoufeel ★★★★★
()

Парады в честь сего события уже были?

DllMain
()
Ответ на: комментарий от red75prim

Для C++ - это 1985-й, когда была выпущена «The C++ Programming Language».

Киллер-фича в C++ появилась только в 1990г., без нее просто немыслим тот язык, который в последние 20 лет называется C++. Угадайте, как она называется. Если в Rust тоже планируется такая революционная фича, то ОК, пусть будет 1985г.

На счет совместимости… Если почитать release notes к cfront1.0 ( http://www.softwarepreservation.org/projects/c_plus_plus/cfront/release_1.0/doc/ReleaseNotes-Lifeboat.pdf ), становится ясно, что есть как минимум одна несовместимость: необходимость явно помечать перегружаемые методы как overloaded. Т.е. в общем случае, и если использовать только фичи языка до 1985г. включительно, нельзя взять компилятор, реализующий стандарт 1998г. и собрать им код для cfron1.0, и наоборот тоже неполучится.

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

Не совсем 1990-й: в «The Annotated C++ Reference Manual» темплэйты рассматривались как будущее расширение.

В Расте планируется добавление generic associated type constructors. Масштаб фичи поменьше, но возможностей добавит. И уже есть две редакции Раста: 2015-й и 2018-й.

red75prim ★★★
()
Последнее исправление: red75prim (всего исправлений: 2)

Одно из достижений, что ни одна новость про этот язык без многостраничных срачей на ЛОРе не обходится.

Хотя конечно тут дело не столько в языке как таковом, а сколько в местных хейтерах.

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

Сначала пускай раст нормально начнёт работать на всех популярных платформах,

И на каких он не работает?

Ну я знаю что под Элбрус его ещё пока нет, но называть Эльбрус популярной платформой оно несколько не соответствует действительности.

А так вот тебе список таргетов: aarch64 arm armebv7r armv5te armv7 armv7a armv7r asmjs i586 i686 mips mips64 mips64el mipsel nvptx64 powerpc powerpc64 powerpc64le riscv32i riscv32imac riscv32imc riscv64gc riscv64imac s390x sparc64 sparcv9 thumbv6m thumbv7em thumbv7m thumbv7neon thumbv8m.base thumbv8m.main wasm32 x86_64

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

А почему с версии 1.0 надо рождение считать? До версии 1.0 Rust не публиковали? Вот например в случае с Julia, были версии типа 0.6, 0.8…

Да, кстати. Жулию сделали публичной довольно давно, а 1.0 только джва года назад (ну и быстро время летит). А манифест написали ещё давнее. С тех пор многое поменялось.

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

Для C++ - это 1985-й, когда была выпущена «The C++ Programming Language».

Это Стауструпа чтоле? Я её вроде бы даже читал. По ночам.

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

А почему с версии 1.0 надо рождение считать?

Т.е. ты как корейцы предпочитаешь считать возраст с момента зачатия, а не с фактического дня рождения?

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

Т.е. ты как корейцы предпочитаешь считать возраст с момента зачатия, а не с фактического дня рождения?

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

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

у людей момент зачатия тоже +/- определяют. Т.к. на развитие плода и на момент рождения влияет много факторов. Опять же с поиском папы у людей не всегда всё бывает однозначно.

В то же время у Rust всё однозначно и его «папы» задокументированны.

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

Не знал про корейцев… Думаю, что должен быть единый критерий определения возраста языка. Например, когда когда становится доступной широкой аудитории компилятор или интерпретатор, пусть даже за деньги. Если первая версия rust появилась в 2010г., то отсчитывать возраст от 2015г как-то странно. В википедии ещё приписка: стабильная версия: 2015г. Но извините, что такое «стабильная версия». Вот в C++ был auto_ptr, а к C++11 его deprecate’нули. ABI не прописан в стандарте, и в том же GCC менялся в версии 3.4, а было это где-то в серединне 2000х. Про overload в C++ 1985 г.в. я уже упомянул.

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

Не совсем 1990-й: в «The Annotated C++ Reference Manual» темплэйты рассматривались как будущее расширение.

Тогда тем более. А первая реализация STL вроде в 1992г.

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

Но извините, что такое «стабильная версия».

Разве это не очевидно? Когда автор(ы) языка считают, что он готов к широкому применению. Бьярн книгу написал, core team выпустила Rust 1.0.

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