Язык программирования Rust стал любимцем разработчиков

21.08.2018      23002

Аналитическая компания RedMonk опубликовала рейтинг языков программирования за третий квартал 2018 года: Rust занял в нем 23 место. 

В 2013 году компания Mozilla совместно с Samsung сообщила о разработке нового механизма веб-браузера Servo. Он создавался специально для многоядерных процессоров мобильных устройств, способен разбивать задачи на параллельные потоки и многократно уменьшать время загрузки веб-страниц. Servo полностью написан на языке программирования Rust, который Mozilla разработала сама для написания мобильных приложений.

О языке

Rust – процедурный язык программирования, поддерживающий различные стили написания кода. Разработчик Грэйдон Хор начал создавать язык в 2006 году, и спустя три года к проекту подключилась Mozilla. В 2010 году Rust презентовали на конференции Mozilla Summit. В этом же году разработку перевели на компилятор, написанный на Rust. Компилятор использовал универсальную систему анализа и трансформации программ LLVM в качестве базы данных.

Первая стабильная версия языка вышла в 2015 году. После релиза альфа-версии Rust подвергся правкам – внутри компилятора оставили только готовые возможности, которые не будут изменяться. Все остальное перенесли в экспериментальный раздел.

В основе языка Грэйдон Хор заложил такие понятия как:

  • Безопасность. Rust содержит ряд ограничений для программиста, которые включены по умолчанию. Для их отключения в блоках и функциях требуется метка «unsafe».
  • Скорость. Язык сопоставим по скорости с другим языком программирования C++, что дает явный ряд преимуществ для программиста.
  • Параллелизм. Система может выполнять несколько вычислений одновременно, вместе с этим они могут взаимодействовать друг с другом.
  • Краткость. Первые ключевые слова в Rust укладывались в пять символов. Но позднее это ограничение сняли.
     

Пример одного из первых кодов на Rust

 

Однако Rust не лишен и минусов, самые яркие из них:

  • Избыточность кода.
  • Отсутствие литературы для изучения языка.
  • Четкость во внесении параметров компиляции. Это не всегда устраивает опытных программистов, так как в других языках подобных правил нет.

Впрочем, язык регулярно модернизируется и дополняется: его обновления выходят раз в 6 недель.

Сравнение Rust с C++

Создатели Rust считают его наследником C++, который возник в начале 1980-х годов, когда разработчик придумал несколько усовершенствований к языку С. Поэтому стоит сравнить молодой и все еще изменяющийся язык с проверенным временем.

  • Обращение к удаленной памяти. В C++ из-за удаления переменной может возникнуть целый ряд проблем. Подобные осложнения невозможны в Rust, так как в нем нет команд для удаления памяти. Компилятор наследника сообщит, что написанный код содержит ошибку, а компилятор С++ выведет результат без удаленных значений, даже не сообщив о проблеме.
  • Точка с запятой. Добавив в код лишнюю точку с запятой, вы вызовете ошибку в С++, тогда как в Rust тело цикла заключается в фигурные скобки.
  • Небезопасный код. В Rust есть метка «unsafe», которая изолирует основной код от небезопасного. В будущем, при просмотре кода это позволяет сузить поиск уязвимостей.

Именно на C++ был реализован Firefox: этот капризный язык требовал повышенного внимания к деталям. В противном случае ошибки оборачивались серьезными уязвимостями. Rust был призван справиться с этой проблемой.

Перспективы

В рейтинге RedMonk за третий квартал 2018 года язык программирования от Mozilla стабильно занимает 23 место. Эксперты полагают, что улучшение позиций ему не грозит. Несмотря на это, в августе 2018 года создатели выпустили обновленный Rust 1.28.

После релиза Rust в 2015 году, по данным площадки Stack Overflow, с ним хотели ознакомиться 74% разработчиков. Однако уже в 2016 году он переместился на первое место: 79% пользователей назвали Rust любимым языком программирования и изъявили желание продолжить работу с ним. Первое место по этому параметру Rust занял и в 2018 году. 

Stack Overflow — популярная система вопросов и ответов о программировании, разработанная в 2008 году.

Рейтинг любимых языков программирования по версии Stack Overflow-2018

 

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


Автор:
Обозреватель


Комментарии
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. s22 19 21.08.18 17:01 Сейчас в теме
Rust тяжел для написания кода, так как нужно делать много телодвижений с типами и владениями.
Области Rust и Python на мой взгляд вообще не пересекаются
Kochergov; +1 1 Ответить
5. herfis 498 22.08.18 10:59 Сейчас в теме
(1)
Области Rust и Python на мой взгляд вообще не пересекаются

Так вроде его с Python никто и не сравнивал...
Из моих наблюдений краем глаза, Rust это даже не столько альтернатива C++, сколько C.
Мозилла его давно и успешно пилит специально для написания больших и сложных, но низкоуровневых штук. Таких как движок браузера. Или, скажем, ОС.
На универсальное применение он и не замахивается. Но в узких кругах его популярность растет.
Среди универсальных языков растет популярность Golang.
Kochergov; +1 Ответить
9. s22 19 22.08.18 18:22 Сейчас в теме
(5)
Так вроде его с Python никто и не сравнивал...
Они оба есть в списке.
11. herfis 498 23.08.18 09:52 Сейчас в теме
(9)
Они оба есть в списке.

А! Ну, это такое. Результаты опросов на Stack Overflow.
При этом, если посмотреть в оригинальный источник, то сабжевая диаграмма взята из категории "Loved". А в категории "Wanted" лидирует как раз Python.
И приписка: Python is the most wanted language for the second year in a row, meaning that it is the language that developers who do not yet use it most often say they want to learn.
26. emakei 07.12.18 15:26 Сейчас в теме
(1) Как-то я смотрел выступление евангелиста от C++ о новых возможностях и вообще будущем языка. Дядя серъёзный, людей много, говорил на английском. Показывал интересный пример, о том как же нам описать на C++ состояние памяти какого-нибудь устройства (пример с какими-то контроллерами приводил). И сказал такую вещь, что нужно давать компилятору больше сведений (т.е. писать больше кода или использовать больше ключевых слов) для того, чтобы он мог лучше оптимизировать программу. Так что писать кода столько, сколько нужно компилятору, чтобы программа не падала не такая уж плохая идея. Что скажите?
cleaner_it; +1 Ответить
27. herfis 498 07.12.18 19:02 Сейчас в теме
(26) А что тут говорить? Это же очевидные вещи. Либо ты пишешь очень лаконичный код с динамической нестрогой типизацией но большинство плюх ловишь уже в рантайме со всеми вытекающими и имеешь проблемы с компиляцией в машинный код, либо мучаешься со строгой статической типизацией но получаешь кучу проверок во время компиляции, богатые возможности по оптимизации компилятором и для более глубокого анализа кода.
Для одних задач важнее первое, для других - второе.
Ессно есть куча промежуточных вариантов ибо все хотят быть здоровыми, богатыми и красивыми.
Тот же js сначала в одну крайность ударился, потом спохватились что не так уж это и круто получилось и чуть назад сдали.
cleaner_it; +1 Ответить
2. nytlenc 22.08.18 04:29 Сейчас в теме
стал любимцем разработчиков

занял в нем 23 место.

Не смешите мои тапочки ))))

Любимец разработчиков на 23-ем месте )))

Новость из серии:
Вася Пупкин стал чемпионом мира по легкой атлетике... Он финишировал 23-им
3. salbey 77 22.08.18 10:16 Сейчас в теме
(2) Вася Пупкин стал любимцем болельщиков на чемпионате мира по легкой атлетике, финишировав 23-им.
cleaner_it; wowik; neikist; user828972; zarucheisky; Kochergov; Hamsik; +7 Ответить
4. pahich 727 22.08.18 10:34 Сейчас в теме
(3) Красиво финишировал! ))
salbey; CyberCerber; user828972; Kochergov; Hamsik; +5 Ответить
6. 🅵🅾️🆇 522 22.08.18 13:07 Сейчас в теме
> Рейтинг любимых языков программирования по версии Stack Overflow-2018
> HTML, SQL, Bash/Shell
Почему в этом списке нет 1С?)

PS:
планирую вкатиться в Dart+Flutter
8. neikist 22.08.18 15:02 Сейчас в теме
(6) с прицелом на fuchsia? Вроде на нее еще можно будет писать на свифте, том же расте, го, и еще на чем то.
10. 🅵🅾️🆇 522 23.08.18 09:41 Сейчас в теме
(8)
Свифт - сразу и категорически нет.
Ну и надо оговориться, что Я умею в питоняку, жс и сишарп.
Флаттер закроет последнюю потребность - мобильную разработку (да, Я знаю про xamarin, но удобство разработки и результат совершенно не те)
А kivy это даже не смешно)


1) Отладка на флаттере просто 10 из 10
2) Писать сразу под ведро и огрызок
3) Прицел на новую ось, которая к тому же вытеснит ведро
4) Dart который делает деньги гуглу, к томуже так схожий с js
12. neikist 23.08.18 09:53 Сейчас в теме
(10) Насчет киви конечно полностью согласен, ради интереса почитал - все уныло. А вот категоричность в отношении свифта лично мне не очень понятна. Сам я его не изучал - но судя по тому что слышал и видел краем уха язык неплох. А js... Не понимаю я этого помешательства на js. А точно делает деньги? По моему реально применяется сейчас только go из языков от гугла массово. Про дарт слышал в паре подкастов, да статей пару читал - даже компания что на нем пишет для веба говорит что почти никто не использует.
13. herfis 498 23.08.18 09:56 Сейчас в теме
(12)
Не понимаю я этого помешательства на js.

В смысле? Это единственный язык браузерного клиента де-факто. Даже если писать на другом языке, который в него транслируется, все равно знать его будет отнюдь не лишним.
🅵🅾️🆇; +1 Ответить
15. neikist 23.08.18 12:24 Сейчас в теме
(13) Не, я не понимаю попытки делать что на него похожее и пихать его куда не лень (начиная от мобилок и бекенда и заканчивая микроконтроллерами)
17. herfis 498 23.08.18 12:46 Сейчас в теме
(15)
Не, я не понимаю попытки делать что на него похожее и пихать его куда не лень (начиная от мобилок и бекенда и заканчивая микроконтроллерами

И это говорит одинэсник :)
Идея предельно понятная - расширить зону поражения для имеющейся армии джаваскриптеров. Понятно, что бэкендеры смотрят на node.js как другие программисты на одинэсников :) Но часть задач это вполне позволит решить, причем за недорого. Там же как? Главное, чтобы стартап хоть как-то взлетел, а там уже можно прототип выбросить и все заново переписать.
18. neikist 23.08.18 13:15 Сейчас в теме
(17) Угу, 1сник считающий что пихать 1с всюду и решать на нем те задачи для которых 1с не подходит - очень плохо. Например та же мобильная платформа 1с просто убога.

Не, я еще понимаю смысл в php, python, js на бекенде. Дешево, производительно (в плане скорости разработки, особенно относительно небольших систем, тех же микросервисов), можно масштабировать железо - и пользователь об этом даже не узнает. А вот выполнять тормозной код на железе пользователя, на клиенте, имхо, то еще зло.
14. 🅵🅾️🆇 522 23.08.18 10:03 Сейчас в теме
(12)
А ничего, что дарт это то на чем работает Google Ads?)
Дарт у них сейчас это сервер и веб приложения. Добавь флаттер и это уже шустрое мобильное приложение.
Единственный недостаток тут - небольшое комьюнити.
Также справедливости ради: Я работаю в redmadrobot и даже у нас его никто не использует, сейчас только начинают тестить его аналог - react native.

Swift - это сугубо огрызочное. Какой в этом вообще смысл, если вы уже его не знаете и не собираетесь писать только под огрызок?
16. neikist 23.08.18 12:29 Сейчас в теме
(14)
шустрое мобильное приложение

Серьезно? На интерпретируемом языке? Не, ну может на телефонах от 15-20к рублей оно и будет шевелиться более менее, но почему то подозреваю что на телефонах в диапазоне 7-12к рублей будет дико тормозить и жрать память как не в себя. Тут в одном подкасте недавно слышал что даже из за того что в андроиде отрисовка компонентов посредством JNI вызовов происходит - в дешевом сегменте от тормозов избавиться судя по всему не выйдет. А уж про надстройку из JS над JAVA в вашем react native и говорить нечего. Возможно и можно написать на этом что то более менее живое, но по факту в 95% случаев я на своем телефоне их отличаю от нативных.
19. neikist 23.08.18 13:42 Сейчас в теме
(16) О, прошу прощения, почитал подробней про дарт - все таки компилируемый, странно что википедия врет.

Ознакомился еще чуть подрбнее - да он же просто няшка! Почему он так слабо популярен? (хотя конечно я пока очень поверхностно прошел.)
cleaner_it; +1 Ответить
20. 🅵🅾️🆇 522 23.08.18 14:12 Сейчас в теме
(19)
Именно, что он очень здоровский, а разработка крайне приятная, дизайн по последнему писку, отладка лучшее что видел, все асинхронно.
Правда несколько непривычно ощущается концепция после 1с, питона и js. Хотя опыт сишарпа с wpf вполне сглаживает ощущение.

В ближайшем будущем займусь флаттером поплотнее.


И реакт натив - не мой, тут многие пишут на java, js и свифте (вроде), что ближе ребятам на то и перекатились попробовать.
Как говориться: важен не язык, а умение пользоваться.
cleaner_it; +1 Ответить
21. neikist 23.08.18 14:25 Сейчас в теме
(20) К сожалению кроме 1с больше особо ни с чем не знаком, так, по фану питон ковырял, да немного java знаю. В продакшене так вообще только 1с использовал (небольшое нативное приложение на андроид и внешюю компоненту одну на плюсах не считаю), Но вообще язык действительно выглядит вкусно, нужно будет ознакомиться и попробовать пару учебных проектов написать мелких. Плюс выход версии 2, создание флаттера и поддержка фуксией показывает что гугл на него забивать не планирует.
🅵🅾️🆇; Kochergov; +2 Ответить
22. neikist 28.08.18 09:26 Сейчас в теме
(20) Большое спасибо за наводку, давно не испытывал чувства влюбленности в технологию и такого воодушевления. Видимо в отпуске буду вместо катания на велосипеде проектики пилить на флаттере.
🅵🅾️🆇; +1 Ответить
23. 🅵🅾️🆇 522 28.08.18 11:53 Сейчас в теме
(22) Можете добавить меня в телеге, сейчас сам активно начал заниматься.
Могу скинуть уроки по которым прохожу. Прям ну ооооооооочень нравиться.
Если будут еще желающие - можно и конфочку запилить будет и проектик какой учебный.
@PlugFox

Забавный плюс: изучая Dart + Flutter Вы автоматом учите JS, а это огромный плюс к интерфейсам в 1С
24. neikist 28.08.18 13:07 Сейчас в теме
(23)Нинада жс((( Он дарту и в подметки не годится, а плюшки в виде замыканий, () => и (){} синтаксиса и подобного не только там есть.
25. 🅵🅾️🆇 522 28.08.18 15:45 Сейчас в теме
(24) Тем не менее - js это то что исполняют браузеры и то что можно запускать в 1с на клиенте вне зависимости от его оси и то что позволяет делать нестандартный UI в связке с html и css.
cleaner_it; +1 Ответить
7. zarucheisky 22.08.18 13:51 Сейчас в теме
Да, тут еще и новость про скала... А как же пистон и джаваскрипт? Их учить не стОит.
Оставьте свое сообщение

См. также

«Сколково» объявил отбор перспективных ИИ-проектов для получения грантов

Новость Искусственный интеллект ИТ-Новость

В 2024 году «Сколково» выделит пилотным проектам в сфере искусственного интеллекта гранты на общую сумму 554 млн рублей. В результате отбора финансирование получат проекты с применением ИИ в областях производства, операционной деятельности и в работе предоставляемых сервисов.

12.04.2024    347    AnastasiaKl    3       

3

В программу подготовки спортивных программистов вошли бег и скорость печати

Новость ИТ-Новость

Пятничное: в России вступил в силу стандарт подготовки по дисциплине «спортивное программирование». В стандарт вошли требования к физическим показателям спортсменов и скорости набора текста.

16.02.2024    692    VKuser24342747    2       

1

Росстандарт утвердил протокол LoRaWAN для интернета вещей

Новость ИТ-Новость

Федеральное агентство по техническому регулированию и метрологии (Росстандарт) утвердило национальный стандарт протокола LoRaWAN RU, таким образом он получил официальный статус. Технология используется для беспроводной передачи данных между устройствами интернета вещей.

19.01.2024    485    VKuser24342747    0       

2

Новый закон откладывает на год вступление в силу изменений в порядок регистрации на сайтах

Новость Законодательство ИТ-Новость

12 декабря вступил в силу Федеральный закон, меняющий срок, к которому все владельцы сайтов должны внести изменения в порядок авторизации пользователей на сайте. Закон вводит переходный период до 1 января 2025 года.

20.12.2023    653    VKuser24342747    2       

1

Вышло крупное обновление для Android Studio

Новость Мобильные приложения ИТ-Новость

Новая версия Android Studio под номером 2023.1 получила имя Hedgehog. Появились возможности контролировать производительность приложений и управлять подключенными устройствами.

07.12.2023    796    VKuser24342747    2       

3

GitHub опубликовал результаты ежегодного исследования проектов с открытым исходным кодом

Новость GitHub ИТ-Новость

GitHub собрал данные об Open Source проектах в рамках ежегодного исследования Octoverse. Компания изучила географию репозиториев, используемые языки программирования и нейросети, а также активность сообщества.

15.11.2023    526    VKuser24342747    1       

2

Некоммерческие проекты смогут получить бесплатный доступ к GigaChat API

Новость ИТ-компания ИТ-Новость

Компания «Сбер» заявила, что будет бесплатно предоставлять доступ к API нейросети для генерации текста GigaChat для некоммерческих проектов. Однако для них будет ограничено число доступных токенов.

01.11.2023    653    VKuser24342747    2       

3

Состоялся релиз свободной среды разработки Geany 2.0

Новость ИТ-Новость Программист

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

25.10.2023    708    VKuser24342747    0       

1

Минцифры подготовило критерии по выбору оператора реестра провайдеров хостинга

Новость Минцифры ИТ-Новость Роскомнадзор

Минцифры подготовило проект постановления, которое утверждает требования к организации, претендующей на статус оператора реестра провайдеров хостинга.

25.10.2023    381    VKuser24342747    0       

1

Минцифры составило алгоритм действий для компаний, у которых не работает VPN

Новость Минцифры ИТ-Новость

Минцифры подготовило разъяснения для российских организаций, у которых возникли перебои в работе VPN-сервисов для клиентов и сотрудников из-за блокировки запрещенных ресурсов Роскомнадзором.

24.10.2023    635    VKuser24342747    0       

0

«Сбер» объявила о доступности SberLinux OS Server для российских компаний

Новость Импортозамещение ИТ-Новость

«СберТех», дочерняя компания «Сбера», объявила о предоставлении доступа к собственной серверной операционной системе SberLinux OS Server российским компаниям. ОС включена в реестр отечественного ПО.

20.10.2023    885    VKuser24342747    0       

2

Минцифры внесло изменения в проект правил идентификации клиентов веб-хостингов

Новость Минцифры ИТ-Новость Роскомнадзор

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

18.10.2023    471    VKuser24342747    0       

1

Google выпустила финальную версию Android 14

Новость Android Google ИТ-Новость

Google выпустила новую версию мобильной ОС Android 14. Изменения затронули настройки внешнего вида и безопасности. Были расширены возможности камеры и инструментов для хранения данных.

12.10.2023    697    VKuser24342747    0       

1

Яндекс объявил об открытии исходного кода DataLens

Новость Аналитика ИТ-Новость Яндекс

BI-система Yandex DataLens теперь развивается в опенсорс. Код продукта выложен для всех на GitHub. Любой желающий сможет развернуть DataLens на своем железе и доработать его под свои сценарии применения.

03.10.2023    1421    ЕленаЧерепнева    1       

6

Роскомнадзор создаст реестр хостинг-провайдеров

Новость Минцифры ИТ-Новость Роскомнадзор

Минцифры подготовило несколько проектов постановлений, которые утверждают правила ведения реестра поставщиков хостинг-услуг, а также новые требования к провайдерам.

02.10.2023    602    VKuser24342747    0       

1

«СберТех» представил репозиторий GitVerse с ИИ-помощником для написания кода

Новость Импортозамещение ИТ-Новость Программист

«СберТех» начал прием заявок на тестирование веб-сервиса для публикации ИТ-проектов GitVerse. Платформа подходит для разработки программ с открытым и закрытым кодом.

26.09.2023    827    VKuser24342747    2       

1

ИП и юрлица смогут использовать смартфон для создания и замены электронной подписи

Новость ИТ-Новость ФНС Цифровая подпись

ФНС внесла изменения в правила оформления электронной подписи руководителя организации и ИП. Станет возможным продлевать ее и записывать при помощи мобильного устройства.

18.09.2023    436    VKuser24342747    1       

1

Журнал IEEE Spectrum опубликовал рейтинг популярности языков программирования

Новость ИТ-Новость Языки программирования

Журнал Института инженеров электротехники и электроники IEEE Spectrum подготовил рейтинг самых популярных языков программирования в 2023 году. Статистика разделена на три категории.

01.09.2023    1310    VKuser24342747    4       

2

В бета-версии Microsoft 365 появилась поддержка языка Python для Excel

Новость ИТ-Новость Языки программирования

С помощью библиотек и средств визуализации Python можно будет манипулировать данными Excel, а затем использовать полученные результаты в формулах, диаграммах и сводных таблицах.

28.08.2023    665    VKuser24342747    0       

2

Специалисты Калифорнийского университета установили, что боты справляются с CAPTCHA лучше, чем люди

Новость ИТ-Новость

Международная группа исследователей изучила эффективность тестов CAPTCHA. Ученые пришли к выводу, что технология больше мешает людям, потому что боты научились с ней справляться.

24.08.2023    1166    VKuser24342747    23       

2

Google Chrome начнет поддерживать квантово-устойчивые алгоритмы шифрования

Новость Google Безопасность ИТ-Новость

В версии Google Chrome 116 появится поддержка алгоритмов шифрования, устойчивых к попыткам дешифрации при помощи квантовых вычислений. Технология объединяет преимущества классической и инновационной криптографии.

24.08.2023    484    VKuser24342747    0       

1

В реестр российского ПО включен первый комплекс обработки больших данных

Новость Импортозамещение Минцифры ИТ-Новость Реестр ПО

Минцифры внесло в реестр отечественного ПО программно-аппаратный комплекс «Скала-Р», предназначенный для обработки больших данных. Это первый комплекс с таким функционалом, включенный в перечень.

22.08.2023    473    VKuser24342747    0       

1

Microsoft внедрила новые функции в GitHub Copilot и анонсировала Windows Copilot

Новость GitHub Искусственный интеллект

ИИ-помощник для разработчиков GitHub Copilot теперь не только в реальном времени анализирует код, предлагает варианты для его улучшения и помогает найти решение проблем в разработке, но и  показывает ссылки на репозитории, из которых взят код. 

17.08.2023    1167    VKuser24342747    0       

1

В JetBrains разработали ИИ-помощника для аналитиков данных

Новость Аналитика Искусственный интеллект

JetBrains представила нейросеть Ask AI для онлайн-блокнота Datalore. Виртуальный ассистент способен генерировать код на нескольких языках, предлагать доработки и упрощать процесс аналитики данных. 

16.08.2023    671    VKuser24342747    0       

1

Исследование: ChatGPT дает неправильный ответ на половину вопросов о программировании

Новость Искусственный интеллект ИТ-Новость

Чат-бот OpenAI ошибается в 52% случаев, когда отвечает на вопросы по программированию. Однако делает это так убедительно, что пользователи не замечают ошибки. 

14.08.2023    1044    VKuser24342747    5       

3