Support us

Почему язык Rust обречён на успех

Оставить комментарий
Почему язык Rust обречён на успех

«Проект Rust хорош настолько, насколько это возможно, а его сообщество ещё лучше», — пишет о мультипарадигмальном компилируемом языке программирования, разработанном компанией Mozilla, вице-президент мобильного подразделения Adobe Мэт Эсэй (Matt Asay).

Читать далее

Один из разработчиков Rust Алекс Кричтон. Фото: YouTube.

Некоторые open source-сообщества, кажется, вдохновляются цитатой из «Ада» Данте: «Оставь надежду, всяк сюда входящий».

Несмотря на то, что использовать и привносить свой вклад в открытый исходный код критически важно, довольно трудно с воодушевлением присоединиться к «сообществу», в котором каждый тянет одеяло на себя. Тем не менее, именно так многие open source-проекты и работают.

Но это не касается сообщества Rust. Начавшийся как амбициозный побочный проект сотрудника компании Mozilla, язык программирования Rust обещает совместить возможности контроля низкоуровневых языков с гибкостью высокоуровневых языков. Или, как пишет Сердар Егулалп (Serdar Yegulalp), «наибольшие планы Mozilla в отношении Rust, исходя из рекламы этого языка как средства достижения скорости без ущерба для безопасности, по-видимому, включают не только нативные приложения вроде веб-браузера, но также и целые операционные системы».

Это, конечно, очень здорово, но также требует от разработчиков и огромных усилий при обучении. И во многих open source-проектах это способ супергиков издеваться над более слабыми программистами, заинтересованными в участии.

К счастью, возможно, самым впечатляющим аспектом Rust является приветливость сообщества, которое вполне может стать «не таким уж секретным оружием» этого языка.

Будущее строится на Rust

Новые приложения всё чаще требуют новых подходов к разработке. Это одна из причин, по которым язык программирования Go от Google оказался весьма успешным. Это же может стать причиной и радужного будущего для Rust. Аналитик RedMonk Стивен О’Грейди (Stephen O’Grady) обращает внимание: «Случайные наблюдения, которые я производил некоторое время, говорят о пробуждении интереса разработчиков из разных областей».

Отчасти это из-за безопасности. Как полагает Дэвид Херман (David Herman), ведущий разработчик Mozilla, «Rust может предложить нечто уникальное, чего не предлагал ни один язык раньше: это та степень безопасности, которую языки типа С и С++ никогда не имели... В них есть вещи, которые делают системное программирование пугающим и которых нет в Rust».

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

Как объясняет Херман, «Rust имеет много функций и удобств, которые делают его практически высокоуровневым языком, несмотря даже на то, что вы делаете такие вещи, как, например, ручное управление памятью, которое можно сделать на С++. Но Rust имеет и множество абстракций, которые не дадут застрять лишь на управлении памятью».

Словом, «низкоуровневый контроль и высокоуровневая безопасность». Это мощное сочетание, которое обещает дать разработчикам гораздо больше контроля над производительностью без бремени обучения С/С++ и без риска ошибок.

Уютное сообщество

Хотя подзаголовок звучит просто, процесс обучения и приобретения опыта в Rust таковым не является.

На Reddit есть отличный комментарий, в котором на вопрос «Rust слишком сложен?» дается ответ: да, довольно сложен. Но одним из факторов, смягчающих сложность, которая присуща изучению любого нового языка, особенно Rust, является сообщество, призванное помогать новобранцам.

Один из комментаторов (JArcane) делится подробностями:

«Программируя на Rust, я все ещё чувствуют себя глупым. Я все еще думаю «Ой, дурак, ты же должен это знать». Я еще стесняюсь того, что не знаю чего-то или не могу додуматься до этого сам. Когда я читаю книги, общий их тон звучит так: «Да, это сложновато, но не волнуйтесь, если у вас не вышло с первого раза. Со временем у вас получится». Когда я спрашиваю о чём-то на канале, я получаю быстрые и полезные ответы, причём зачастую более широкие, чем были сами вопросы: что, как и почему. И это словно подтверждение тому, что каждый такой вопрос –– это возможность научить, ожидаемый случай, а вовсе не повод для перепалки в надежде, что позже поможет кто-то другой».

Как говорят, «основной посыл в литературе, сообщениях компилятора, на канале IRC звучит так: «Мы понимаем».

Вот это да.

Это очень существенно отличается от сообщества Linux, где, например, Линус Торвальдс может поприветствовать участника словами «Ты несёшь полную чушь».

Или от писем Говарда Чу, ведущего архитектора OpenLDAP: «Если вы напишете в этой рассылке и ваше сообщение будет сочтено офтопиком или окажется недостаточно исследованным, то вы будете выруганы, осмеяны и унижены. Это касается и глупых вопросов».

Может быть, это и адекватная реакция, позволяющая потенциальным участникам обсуждения нарастить более толстую кожу. Но разве ей так уж нужно быть пуленепробиваемой?

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

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

Место солидарности беларусского ИТ-комьюнити

Далучайся!

Читайте также
8 актуальных и интересных курсов по Rust (июнь 2023) + бонус от GitHub
8 актуальных и интересных курсов по Rust (июнь 2023) + бонус от GitHub
8 актуальных и интересных курсов по Rust (июнь 2023) + бонус от GitHub
Рассмотрели преимущества и особенности языка Rust, а также сделали подборку курсов по нему, которые будут интересны как новичкам, так и опытным программистам.
7 комментариев
10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)
10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)
10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)
Собрали 10 платных и бесплатных онлайн-курсов для изучения SQL. Программы рассчитаны на слушателей, которые только начинают или продолжают знакомство с языком.
10 способов научиться программировать самостоятельно
10 способов научиться программировать самостоятельно
10 способов научиться программировать самостоятельно
Хотите научиться кодить и освоить алгоритмы? Собрали десять советов с чего начать изучение программирования для тех, кто только начинает своё путешествие в мир программирования и снабдили все это полезными ссылками на курсы для начинающих программистов.
Microsoft запустила обучающий сайт по Java
Microsoft запустила обучающий сайт по Java
Microsoft запустила обучающий сайт по Java
1 комментарий

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.