LINUX.ORG.RU

Какую нишу займет/занял язык программирования Rust?

 , ,


3

3

Добрый день! Я не имею опыта в программировании, за исключением мелких программ на С++. Я гуглил за языки, и наткнулся на Раст, и его советуют учить новичкам, но я не до конца понимаю его нишу? Где его применяют? Где он может в будущем закрепить себя? Стоит ли его учить для новичков, или лучше начать с питона ?

его советуют учить новичкам

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

http://stolyarov.info/books/programming_intro

hbee ★★★★
()

но я не до конца понимаю его нишу? Где его применяют?

Везде. Системное программирование, веб, игры и т.д.

Можно начать с Python(проще), потом взяться за Rust.

P.S.: И самое главное, не слушать всяких душевно больных хейтеров.

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

Самое забавное, что советуют Столярова(который противник Rust), а потом предлагают браться за Rust

«Противник Rust» ­— пара слов. А учебная программа Столярова — плод многих лет опыта преподавания и раздумий.

hbee ★★★★
()

Его ниша «быть не таким как все».

Стоит ли его учить для новичков, или лучше начать с питона ?

Не стоит. Питон тоже не стоит. Начинать лучше с Си или с Паскаля. Первый - если надо побыстрее добраться до актуальной разработки, второй - если надо обстоятельнее всё закрепить (но потом всё равно надо будет Си изучать). С++ - только после того как Си будет изучен и закреплен.

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

Какие-то ниши странные. Из общеизвестных только Embedded, в котором никакого Rust нет. Да, я слышал, что для STM32 можно на нём что-то делать. Только и там на Rust никто в здравом уме не пишет. Более того, споры идут о том, нужен ли там C++.

«Занял нишу» - это когда хотя бы 5 % в нише, а лучше 50. В этом смысле Rust никакую нишу не занял. 1C занял, а Rust - нет. Так же как D не занял, Nim не занял.

Kogrom
()

Где его применяют?

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

Где он может в будущем закрепить себя?

Основной системный язык, который вытеснит C и C++.

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

Человек, который высказывается в таком духе (цитата из блога Столярова):

...создатели стандартов C++ — это особо опасные международные террористы, всех, кто их использует, следует рассматривать, соответственно, как пособников особо опасных международных террористов.

— мой друг :)

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

Бэкэнд - активно пилится библиотека actix, на сколько удобно не знаю, на примерах все выглядит довольно просто, но боюсь, если влезть внутрь, будет куча подводных камней (но это везде так). Есть еще интересная библиотека yew, но она еще далека даже до альфы (это они сами пишут)

Silerus ★★★★
()

нет у раста никакой ниши, как уже тут сказали - на нем только переписывают уже существующий софт. Забывая при этом сообщить, что если переписать какую-нибудь сишную библиотеку 20-летней давности снова на Си, то качество кода точно так же повысится - просто потому что в таких условиях ты уже имеешь работающий пример перед глазами и понимаешь, чего и как нужно делать.

Насчет «что изучать» - конкретный язык вообще не важен. Хороший программист должен уметь накодить проект на чем угодно, потратив максимум пару дней на чтение документации. Если ты начал с крестов, то и продолжай в том же духе - изучай cppreference.com, читай RFC или как там они называются, чтобы понимать, для чего в язык ввели ту или иную фичу.

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

изучай cppreference.com

Тут днями были выяснения отношений между АНБ и Страуструпом. Последний рекомендовал при использовании cpp руководствоваться рекомендациями:

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

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

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

Угу. Классическое «несть пророка в своём Отечестве». Андрей Столяров — это наш русский Столлман, пассионарный техногик-параноик, таких редчайших людей беречь надо.

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

Смотрел его интервью АйТи Бороде? Я со многими вещами согласен.

Правда, иногда он перегибает (и чем-то при этом становится похож на Эдика), но в целом говорить дельные вещи.

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

Axum пока не тыкал, отпугивает недостаток сахара для хомпейдж проектов, тоже самое и про orm :)

Ну и тогда еще сюда Yew или Terra

вот и фуллстек разраб готов :)

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

Я бы не стал советовать учить rust новичку:

  1. мало вакансий, устроиться джуном сложно;
  2. не очень много библиотек;
  3. для начинающего сложно читать код;
  4. маловато литературы.

Питон я советую, если хочется изучить программирование не на уровне алгоритмов, а на уровне модулей, то питон.

А вообще, если тебе С++ нравится, то может, углубиться в него? Или, как вариант, в Java. Java мне показалась проще и мобильные приложения – золотое дно.

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

Питон я советую, если хочется изучить программирование не на уровне алгоритмов, а на уровне модулей

Мы в средней школе писали сортировку пузырьком на qbasic, и ничего, никто не помер. Алгоритм - он и на псевдокоде алгоритм.

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

Питон я советую, если хочется изучить программирование не на уровне алгоритмов, а на уровне модулей

Мы в средней школе писали сортировку пузырьком на qbasic, и ничего, никто не помер. Алгоритм - он и на псевдокоде алгоритм.

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

А еще, на том же С, паскале или бейсике меньше надо думать о поправках на свойства языка.

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

Для Web, учите JavaScript а лучше Typescript.

Для него много и Backend и Frontend библиотек и frameworks.

Т.к. в Web без JS по-любому никак, то изучить нужно.

А rust для тех, что хочет писать программы компилируемые в машинный код(Системное программирование, утилиты, игры) и понимает проблемы безопасности таких программ и выбрал этот ЯП чтобы их избежать.

grim ★★☆☆
()

Стоит ли его учить для новичков, или лучше начать с питона ?

Чем с питона — лучше уж с раста. :P

А лучше всего — с паскаля. По Столярову, которого тут уже советовали.

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

Хотя…

за исключением мелких программ на С++

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

hobbit ★★★★★
()

Где его применяют?

Rust используется в нише компилируемых языков для сборки программного обеспечения от Mozilla: Firefox и Thunderbird, в частности.

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

Ну меня как раз цепляет именно Веб часть, можно ли на Расте к примеру бэкенд часть программировать? Удобно ли это?

Бэкенд и фронтенд в Web программируют на Java EE, так как этот язык и сама платформа обладает всеми необходимыми инструментами и мощной поддержкой открытого сообщества для этого.

Остальные языки имеют лишь фрагментарную поддержку сетевого стека программирования.

iZEN ★★★★★
()