вторник, 13 февраля 2018 г.

Язык программирования Rust

Rust — совершенно новый мультипарадигмальный компилируемый язык программирования общего назначения, спонсируемый Mozilla Research, сочетающий парадигмы функционального и процедурного с объектной системой, основанной на типажах, и с управлением памятью через понятие «владения» (систему аффинных типов, позволяющую обходиться без сборки мусора). После нескольких лет активной разработки (с 2006 года) первая стабильная версия вышла только 15 мая 2015 года, после чего новые версии выходят раз в 6 недельЯзык компилируемый и позиционируется как альтернатива С/С++, что уже само по себе интересно, так как даже претендентов на такую конкуренцию не так уж и много.

Я бы, возможно, и не спешил разбираться с новым (модным?) языком, если бы не ... если бы не два обстоятельства, собственно, и выяснившиеся в таком вот хронологическом порядке:

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

2. Установить и посмотреть Rust оказалось делом простым, 20 минут, а найти, разобраться с основами языка (много общего с C и Go) и написать несколько тестовых программ - ещё на 3-4 часа... И тестирование скорости выполнения приложения на Rust показало, что оно быстрее, чем аналогичные тесты на всех 20-ти языках программирования, с которыми я мог сравнить ... и всего не более 30% уступает по скорости приложению на C, скомпилированному GCC с наивысшим уровнем оптимизации! (и превосходит тот же C код, скомпилированный Clang из LLVM проекта). И это для языка, которому от рождения 1-й стабильной версии меньше чем 3 года!

В связи с этим, начинаю детально разбираться с Rust ... выкладывая черновые результаты этих разборок в темы форума Rust (это относительно инфраструктуры Rust: установка, библиотеки, ...) и код на Rust (это относительно непосредственно написания кода на Rust).

Рекомендую всем, занимающимся областями, покрываемыми Rust, обратить самое пристальное внимание на этот инструментарий!

Комментариев нет: