Спасибо, классное интервью Канал прям начал расти на глазах, столько разного контента в IT и все интересно и главное видно, что стараешься, делаешь с душой!) На счет Rust хочу сказать, я как человек бывший сеньер на JS повидал много боли с undefined behaviour, null pointer exception (не хватает сегфолта для полного счастья), я кодил на многих языках, для расширения кругозора и привнесения в реальные проекты лучшие практики, так как я стал лидом, прогал на C#(довольно много), немного на Haskell, на Elm, совсем немного на плюсах, ну много где еще, проникся безопасностью хаскела и элма. И все время где-то маячил раст и шептал "попрооообуй", но так как я слышал о нем только в ключе криптовалют, я его вечно откладывал, а потом я узнал что у нас на работе бэк пилят на нем в прототипе, решил погуглить и посмотреть, и понял, что это вот оно, то самое, "безопасные плюсы", что я и хотел вот сейчас пишу сервер для мессенджера на нем, я хапнул много боли с непониманием устройства асинхронности и поддержки WS в раст, но я решил эту проблему и сейчас занимаюсь чисто бизнес логикой, и пока прямо кайф, это пет проджект Пока могу сказать, что раст не вытеснит плюсы еще долго почему: - Ему 5 лет, на нем написано совсем мало чего, многие вещи в языке еще пока сыроватые, даже те же макросы, которые уже все юзают находятся в незаконченном виде - У плюсов пока еще крайне-крайне много кодобазы, которую нужно поддерживать - Люди очень консервативны, и если мы посмотрим на этих консерваторов по языкам, то мы увидим, что чем более низкоуровневый язык, тем больше там консервативных личностей, которые не хотят ничего нового и не верят в улучшения, к сожалению Но у Rust есть все карты в руках, чтобы стать достойным соперником C/C++, а еще у него есть "туз в рукаве" в виде поддержки ABI, когда ты можешь вызывать из раста плюсы или си, и наоборот
@@SeniorSoftwareVlogger я введу разработку на Rust инди гипер казуальной игры на мобилы после того как закончу через несколько месяцев могу дать интервью как раз получив больше опыта на этом языке в реальном проекте (начал изучать Rust в этом году)
@@SeniorSoftwareVlogger Я разрабатываю на Rust профессионально и участвую в развитии русскоязычного сообщества. Могу дать интервью и рассказать про Rust. ) Вот можете посмотреть парочку моих статей на Хабре: habr.com/ru/users/freecoder_xx/posts/
Rust он по началу сложный, еще мало разжевывания (онлайн курсов для тупых нету), но вот после освоения, вкуривания и двух недель борьбы с компилятором он становится очень любимым, как будто какое-то озарение произошло. Еще большим плюсом является отсутствие GC, из-за которого программы непонятно как работают. Раст как бы сидит на двух стульях - контроль памяти и при этом безопасность. На работе пишу на плюсах (тоже любимы), но люблю больше раст, и дома всегда на нем пишу, если есть возможность.
После C Rust - это словно вас похитили, завязали глаза, заткнули рот, привязали к стулу и успокаивающим голосом сказали: зато безопасно! Это вообще бессмысленная поделка. которая не слишком взлетела даже несмотря на отсутствие конкуренции. Скажем когда C завоёвывал мир, у него была огромнейшая конкуренция, причём с множества сторон: с одной популярный на тот момент Fortran, Cobol, с другой безопасный и простой Pascal (точнее родственные ему языки вроде Modula и Oberon). Rust - это изначально переусложнённый и мертворождённый проект. Он не сильно безопаснее того же Pascal (у которого замечу, в отличие от C даже нет неопределённого поведения), Rust же хорош в тех программах, где без труда и без ошибок можно писать и на C, а остальное ПО на нём тупо сложно или невозможно реализовать не используя unsafe. Если использовать unsafe - то на хрен идёт его безопасность. В итоге всё это сводится к тому что мы просто помечаем небезопасный код и работу с указателями как unsafe (а в C мы этого не делаем). Семантические ошибки допускаются одинаково во всех языках, только Rust ещё и в процессе вынесет мозг своим дебильным "временем жизни", на которое наплевать в простых или тестовых программах, но НЕ наплевать при попытке написать что-то осмысленное и сложное.
@@andrewvsk2368 ПРИШЛО ВРЕМЯ ОСВОБОДИТЬ ПАМЯТЬ ПАМЯТЬ САМА НЕ ОСВОБОДИТСЯ ОСВОБОДИ ЕЁ, ОСВОБОДИ ЕЁ ЕЩЕ РАЗ ЗАЧЕМ МНЕ НУЖЕН РАСТ, У МЕНЯ НЕТ ВРЕМЕНИ ЧТОБЫ ЕБАТЬСЯ С НИМ ЛУЧШЕ ЕЩЕ РАЗ ОСВОБОДИТЬ ПАМЯТЬ Я ОСВОБОЖДАЮ ПАМЯТЬ ПО 3 РАЗА В ДЕНЬ КАЖДОЕ ОСВОБОЖДЕНИЕ ЗАНИМАЕТ ДВАДЦАТЬ НАНОСЕКУНД Я ЖИВУ АКТИВНОЙ И ПОЛНОЦЕННОЙ ЖИЗНЬЮ Я УСПЕШЕН И ПОЭТОМУ ЦЕЛЫЙ ДЕНЬ ВЫДЕЛЯЮ ПАМЯТЬ А ПОСЛЕ ЭТОГО ОСВОБОЖДАЮ ЕЁ ТУПЫЕ РАСТОБЛЯДИ ОДЕРЖИМЫ ВРЕМЕНЕМ ЖИЗНИ А Я СВОБОДНЫЙ ОТ ЗАДРОТСТВА ЧЕЛОВЕК ЛУЧШЕ Я ВЫДЕЛЮ ЕЩЕ РАЗ ПАМЯТЬ И ЗАБУДУ ОСВОБОДИТЬ ЕЁ, СТАБИЛЬНОСТЬ НЕ НУЖНА Я НЕ ОСВОБОЖДАЛ ПАМЯТЬ НЕДЕЛЮ ПОЙДУ ОСВОБОЖУ В C ВСЕ ПРОСТО И ПОНЯТНО ПЯТЬСОТ ПЯТЫЙ РАЗ SEGMENTATION FAULT. ЭТО ЖЕ ОЧЕВИДНО КАК ЕЕ РЕШИТЬ ПРИШЛО ВРЕМЯ ОСВОБОДИТЬ ПАМЯТЬ КОКОКОКОКОКОКО
ну хз, что то мне удобным он не показался. менеджер пакетов это конечно оч удобно, а вот точки зрения языка как то не оч. как только имеешь дело с объектами которые надо шарить так начинается гемор
В институте первым языком давали Python, после него C++, а потом я параллельно с С++ учил отдельно Java и сейчас работаю на Java и Dart, как по мне на Python очень хорошо объяснили как работают алгоритмы, на C++ уже дали понятие о том что int не такой уж и int. Как итог лучше бы потратил время на чтение Java-книг и документации Spring, чем пытался в C++, тк потом все равно все способы того как в C++ что то обойти, уже не волновали и задачей было только написание бизнес логики, без затрат времени на низкоуровневые штуки. Я к чему клоню C++ сейчас годен разве что для игровых движков и все, + насколько мне известно сервер на С++ сделать безопасным более тяжелее чем на Java, тк в JDK из коробки много что есть, а чего нету там есть в Spring, и это дает вам свободу, а кто считает что на java программы медленнее чем C++, вы не берете в расчет что вы запускали java приложение на стандартной Java машине, есть оптимизированные под некоторые сферы java машины например Zulu Enterprise, который оптимизирован и в быстродействии схож с С++.
Если пропустить сарказм по объему работ - то на самом деле смысл миграции браузеров на Rust - это повышение безопасности кода к переполнениям буфера и общесистемным ошибкам (типа разыменования wild/null pointers) к которым спустя 30+ лет С++ остаётся чувствителен. Безопасность браузера - вообще превыше всего. И если ее можно достигнуть переключением процесса разработки на язык который изначально позиционировался как безопасный (Rust) - то почему нет? Безопасность - была поставлена как goal при разработках Мозилла и Хромиум, и все мы понимаем что через браузер проходит наши платежи, номера кредитных карт, личная информация в формах регистрации. Тоесть цель - благая. Спецификация Rust прямо заявляет что язык позицинируется как более безопасный чем С++ при той-же скорости исполнимого кода через LLVM компилляцию. Тоесть - все условия созданы. Ждем результатов.
Цель никто не ставит под сомнение. Говорили о том, что несмотря на благую цель и все созданные условия, нельзя просто взять и переписать 20 млн. строк кода. Поэтому и раст нифига не убийца. Если бы можно было си++ транслировать в раст, тогда можно было бы говорить.
Честно говоря, мне синтаксис Rust очень понравился и особых проблем не было :) возможно потому что я ещё не успел мозгами полностью "привыкнуть" к си подобному ПС. ML языки топ
Сейчас изучаю для себя Rust после долгих лет программирования на C#, JavaScript и TypeScript. И как было сказано в видео, проблемы с пониманием некоторых концепций есть. Особенно удивил подход с введением понятия времени жизни 'a. Но в остальном - язык интересный. Если на понимание языка Dart, у меня ушёл один день, то с Rust так не получится. Это новый язык, новое видение того, как можно управлять памятью, не используя GC. Новый подход к организации кода. ИМХО
@@VitalyVasilega а нельзя сразу начать с раст чтобы потом не переучиваться? все (по крайней мере многие) говорят что с него начинать нельзя. но если целью является научиться писать на раст, разве не стоит сразу начинать с него?
@@damnn3330 Я не могу с полной уверенностью сказать, что можно. Я просто уже давно изучаю программирование и прошёл через разные языки. Возможно, будут проблемы с пониманием некоторых вещей. Но попробовать всегда можно. Если не получится с первого раза, можно попробовать снова через какое-то время.
Спасибо за интервью! Было очень интересно и полезно как человеку, который давно задумывается о плюсах и областях использования языка, но слишком изнежен джавой и питоном.
синтаксис Rust'a куда ближе к JS или питону чем к C-подобным. НО! Мало кто знает, в С++ можно писать функции вот так: auto square -> int (int i) { return i*i; } а это ооочень похоже не Rust)
Одна tools'а называется LEX, а вторая -- YACC. Современный вариант первой называется flex, современный вариант второй -- bison. Кратко можно ознакомиться здесь: dinosaur.compilertools.net/
там не совсем та самая фп парадигма например с каррингом там все плохо композиции тоже не очень существуют оно там как бы и есть, но в тоже время и боль))
Даниил Дудкин конечно именно это делает его функциональным, в нем может и не быть функций и вообще чего либо ещё, главное - чтоб были иммутабельные переменные, это необходимое и достаточное условие.
Я помню как мы в универе использовали С++ и на работе тоже я немного использовал С++ и помню всю ту боль. Чаще всего мне приходилось использовать в работе JS немного Java, но затем я попробовал Haskell, и это просто "взорвало мне мозг", этот инструмент мне очень понраивлся, на нем получалось очень красиво и элегантно решать задачи. Затем я начал смотреть в сторону Rust, сначала был скептически настроен, думал " ну вот еще один С++". Но после того как познакомился с этим языком я испытал почти те же чувства, которые я испытывал при знакомстве с haskell, мне rust очень понравился. Я подумал "Я нашел свой С++".
@@RusFarFaz познакомился с ним две недели назад, и те же самые чувства: наконец-то хаскель с нормальной императивной парадигмой и без сборщика мусора.
Но Haskell в реале всё таки сильно зажат в тиски, рабочих фреймворков мало, сообщество с гулькин нос, всё же C++ менее ограничен, а по фичам типизации как бы уже не обходит, концепты пошли те же и т.п. И шаблонная наркомания постепенно упрощается с новыми стандартами.
Насчет Раста язык сложный в изучении, после Котлина Явы и Си шарпа очень выносит мозг cо своими владениями, заимствованиями и областями жизни, но после пару неделек вроде более менее начинаешь шарить и даже уже нравится, но опять же нет полноценного ООП есть нечто похожее на это. В целом язык затягивает своей непохожестью на все остальные языки с которыми приходилось работать ранее по крайне мере из популярных языков. Так же Раст хорошо учит в понимании как работает стэк и куча так как там явно приходиться указывать как размещать свои структуры данных. Очень воодушевляет работа с мультипоточностью по правде говоря даже Котлиновские корутины курят в сторонке по сравнению с мультипоточной безопасностью в Раст Что касается синтаксиса как по мне после Котлина не сильно уж и режет глаза так первые деньки немного сбивает с толку, но я для себя сильной преградой в обучении языка не заметил, большую преграду для меня вызывает так называемая борьба с компилятором, так как привычный по логике код для той же Явы может совсем не компилироваться в Раст
Мне как то не зашел Раст. Когда я писал свою бд( не sql) появилось много проблем. Некоторые ЯП плохо работают с Раст. Т.к. вроде ABI Раста отличается от Си. Мне нужно было кроссплатформенно замапить файл в память. И вот на плюсах на изи сам реализовал, а вот в Расте заюзал внешнюю библиотеку. Но там уже слишком много выкрутасов получилось на расте, аж забыл что написать хотел. Раст - этот язык лучшее что произошло в сфере ЯП. В том смысле что оно ввело новое понятие как владение, заимствования. Пускай Раст не займет большую долю в продакшене, но концепции Раста в будущем перенимут другие языки.
В теме владения и ссылок ничего сложного нет. Самый сок - это трейты. Как только ты захочешь написать универсальную функцию, то будь готов знать какие трейты нужны и как их правильно реализовать для этой функции. Попробуй написать функцию, которая умножает число любого типа Т на, скажем, число типа i32 и тогда поймешь.
Ну в топ 3 вузах Питера создание резюме включено в твою программу обучения, так же школьные олимпиады сильно помогают украсить резюме. (Устроиться на 20 часов на 3 курсе стажёром/джуном нормальный ход развития вещей)
Смотря что ты хочешь делать. А вообще, python, если не хочешь сразу вникать во все кишки, а хочешь получить быстрый результат какой-то прикладной задачи. А если хочешь вникать во все кишки вплоть до системного программирование, например если хочешь программировать железки и микроконтроллеры, то тогда C (возможно C++) плюс принципы железок, ассемблер итд. Еще если хочешь в вебе много программировать, то без HTML/JavaScript/Css никак. Еще возможно java , как один из самых распространенных языков и способ зарабатывать деньги.
@@SeniorSoftwareVlogger Я уже не найду 3 года прошло, могу сказать что к 2 годам нужно ещё год прибавить если нужен `modern c++` это не официальное название всех последующих стандартов начиная с С++11, язык сильно наворотили: концепты, контракты, вычисления во время компиляции, coroutines теперь функции могут `помнить` своё состояние, метапрограммирование с использованием шаблонов на С++ это инопланетный язык :) Ну серьёзно, объявление шаблонной функции с концептами занимает кучу строчек, у меня даже некоторые реализации столько строчек не занимают сколько их объявления :) Читать это тяжело.
Для программиста - это вообще не срок. И более того это не совсем верно. Важна корпоративная культура. C++ сегодня настолько огромен, что уже просто глупо искусственно его не "урезать", это кстати делает и выше упомянутый Google. Вообще C++ это плохой язык, но конкурентов нет, даже с учётом всех его недостатков. Rust - это мертворождённый язык. Даже диалекты Pascal лучше по методологии, т.к. он хотя бы простой и при этом надёжный и быстрый.
Думаю лет 5 максимум, только начал изучать раст и просто не верится. И текст в utf-8 и cargo вместо cmake, и линковка с си с нулевой стоимостью, и производительность на равне с си. И llvm. И работа с микроконтроллерами. Бля, все мои мечты сбылись.
@@sibkit8183 и тормоза от работы с текстом в директивно обозначенном utf. В плюсах ты можешь выбирать варианты работы со строками, исходя из необходимости. Нафига например utf8, там где достаточно классического ASCII, вплоть до массивов char.
То что программисту не нравится RUST потому-что он его не понял - ну такое... Microsoft сейчас решила использовать RUST на ядре Windows по причине ухода от утечек по памяти (большинство проблем с безопасностью). Напомню, Microsoft, в своё время, решила переписать свои программы с С/С++ на С# и ушло у них около 10 лет (2000-2005 - первые релизы), конечно, С++ и С тоже присутствует. Mozilla, насколько мне известно, решила переписать Firefox с нуля. Даже на гитхабе есть. Около 500 Мб кода. Конечно, человеческий ресурс решает. На самом деле: С++, сейчас, не лучший выбор для разработки всего, кроме игровых движков. потому-что избыточная сложность и как следствие: безопасность, хотя и сейчас уже есть и движки на RUST. И мне кажется, на микроконтроллерах С++ при компиляции тянет нехилую среду исполнения, а микроконтроллеры - про ограничения по объему памяти. Суммируя: RUST - это начало конца С++, на мой взгляд.
Никто и не спорит о том, что С++ будет заменен когда-то. Опять же на это уйдет очень много времени. О проблемах майков уже где-то обсуждалось тоже. Современный С++ - уже другой и нельзя говорить, что через лет 10 не случится чего, что опять его вернет в массу. Я же был бы рад если раст заменил бы чистый С
Rust никого не победит. Особенно C. Более того, если человеку не нужна производительность C++, можно взять тот же упомянутый C# или Java, или Scala для JVM. Rust конечно лучше множества иных поделок, + это компилируемый и очень быстрый язык программирования, из-за этого он хотя бы достоин внимания и уважения.
Andrew V не путайте тёплое с мягким, никто не говорит что rust заменит C# и Java, rust способен и должен заменить C++ просто ради безопасности. С С не всё так однозначно, хотя он мне больше нравится, но его undefined behavior иногда вымораживают, именно благодаря им он не стал новой Ada. Хотя rust тоже вряд ли ей станет.
@@linux_and_the_void не заменит он и C++ и уж тем более C. Я в других постах уже писал, что скажем в Pascal, Modula, Oberon - нет неопределённого поведения и вообще эти языки кстати получше Rust будут если не с точки зрения надёжности как таковой, то с точки зрения соотношения надёжности и простоты. Pascal дети изучают, при этом написано дофига ПО, что кстати Rust и не снилось, хотя Rust существует уже 10 лет! (где же все талантливые программисты?). Со скрипом внедряют в Firefox, при этом браузер от Mozilla, полностью на Rust прикрыли и вообще многих Rustоманов сократили (это даже по моим меркам перебор, хоть я и считаю Rust неперспективным). Более того, уже сегодня можно писать на C++ в стиле Rust с похожей move-семантикой, некоторые даже это делают. Только разница в том, что на C++ можно легко создать любую структуру данных, а Rust захлебнётся при первом же отступлении от того, что в него уже встроено. Что до чистого C - это вообще холст и успех зависит от интеллекта и эрудиции разработчика. На Rust можно писать в стиле C используя unsafe, только это гораздо менее удобно и для таких целей лучше просто C взять и не заниматься извращениями. Надёжность в этом случае будет одинаковой, только C уже проверен временем и не мудит без причин.
И кстати немного по поводу "тёплого и мягкого". Важна - эффективность. Для C# .Net core весьма быстрый компилятор, даёт производительность сравнимую с Rust (чуть медленнее в НЕКОТОРЫХ задачах). Тоже самое можно сказать о Java, у которой тормозная стандартная JVM, но она не единственная и есть вполне производительные варианты для тех, кому это надо. То есть Rust просто не найдёт свою нишу. Для игр - нужна очень динамическая система, постоянно изменяющиеся данные, на низком уровне кроме C ничего нет и не предвидится, на высоком - Java главенствует и C# - если это винда.
Rust победит, это неизбежно, просто это будет не быстро: "Новые научные идеи побеждают не потому, что их противники признают свою неправоту, просто противники эти постепенно вымирают, а подрастающее поколение, не обремененное предрассудками, усваивает новые идеи сразу." (Макс Планк) 😜
Ага, только язык C уже старше многих современных разработчиков, да ух о чём я, намного старше меня, хотя я уже не так уж и молод, при этом не планирует умирать, более того он и меня и вас переживёт. Rust уже получился мёртворождённым, хотя языку уже 10 лет! Он новый, на него должны сразу все обратить внимание, у него нет сейчас конкуренции, но тишина. Когда C начинал пусть конкуренция была просто яростная, но он вышел победителем. Один из конкурентов (разные диалекты Pascal) до сих пор живы. И кстати Pascal с точки зрения безопасности не хуже Rust, только значительно проще. Разработчик с опытом освоит Pascal за пару дней. Rust несмотря на его новизну нужно штудировать долго - это хреновый критерий для нового языка. По этой же причине Common Lisp умирал все разы, которые всплывал, хотя Common Lisp значительно превосходит Rust по своей методологии и идеям.
Прошло 2 года. И что-то как то не видать этих ваших вымираний. А у раста по прежнему так мало последователей, что он по итогу по прежнему отсутствует в популярных топах по языкам. За период с 2018 год и по 2023 включительно индекс TIOBE показывает рост популярности раст аж на целых 0.2%
С языка С по сути и нужно начинать изучать. Я в детстве писал на Action Script 3.0 (это язык для Flash игр, уже мёртвая технология, хотя Интернет с тех пор лучше не стал, а замены Flash в области мультимедиа в Интернете так и нет). В универе писал на ASM и именно тогда началось серьёзное программирование. Дальше перешёл на C# для прикладных задач и параллельно изучал C. Так вот, оглядываясь назад могу сказать, что лучше C человечество ещё ничего не придумало).
@@SeniorSoftwareVlogger между прочим - распространённая ошибка многих плюсовиков: присваивать себе чужие лавры причём иногда даже на довольно высоком уровне "авторитетности". Так в русской википедии оказывается gcc написан на C++ (хотя это C, на C++ там написаны некоторые высокоуровневые фишки для лучшей интеграции другим C++ кодом и расширений). Практически все web технологии - это C (Apache, любимый многими nginx), базы данных MySQL - та же фигня что и gcc, почти весь код на чистом C, SQLite который используется всеми кому не лень - C. Причём как уже сказал "пренебрегают" разделением C и C++ даже "авторитетные" разработчики. Так Антон Полухин из Яндекса (ненависть!) прямо на своём очередном дебильном докладе о C++ п**дел и присваивал в "заслуги" C++ то, что написано на C или полностью или почти всё. Я лично с возрастом уже спокойно отношусь к C++ как к таковому при разумном его применении и осознанном отказе от некоторой его функциональности (к слову так поступают почти все, включая таких гигантов как Google, а они не понаслышке набили шишек на C++, даже Go запилили чтобы хоть иногда отдыхать), однако во-первых интеллектуальное большинство порождает на C++ исключительно говнокод, во-вторых в том числе сегодня многие организации вполне осмысленно отказываются от C++. Так выше упомянутый MATLAB использует собственную Java машину для высокоуровневых абстракций, а GTK+ хакеры и вовсе затроллили плюсовиков и создали Vala (это хорошая идея, не получившая должного пиара, это C#/Java -подобный язык со сборщиком мусора, который транслируется сначала в C, а затем компилируется на обычном gcc, по понятным причинам у языков общие элементарные типы данных и прозрачные вызовы C кода).
@@andrewvsk2368 "Я лично с возрастом уже спокойно отношусь к C++ как к таковому при разумном его применении и осознанном отказе от некоторой его функциональности (к слову так поступают почти все, включая таких гигантов как Google, а они не понаслышке набили шишек на C++" -- Google так мощно сел в лужу с "урезанием" C++, что даже придумать аналогичную глупость очень трудно. По-гигантски, можно сказать, сел в лужу. Давайте, говорят, отключим исключения, но объекты классов создавать будем. Жесть. Они бы и хотели "вернуть всё взад", да -- поздно уже.
@@andrewvsk2368 Вы пишете: *оказывается gcc написан на C++* Так и есть. В какой то момент его переписали на плюсы. Согласно исторической справке: Ричард Столлман написал первый вариант GCC в 1985 году на непереносимом диалекте языка Паскаль. В 1987 году компилятор был переписан на языке Си, и в таком виде существовал до 2013 года. В марте 2013 года была выпущена версия 4.8.0, которая ознаменовала полное завершение перехода GNU Compiler Collection на с++ Сам переход начался в 2008 году, и как не сложно подсчитать, длился 5 лет.
Когда уже пройдёт эта мода мусолить эти языки...... Учите английский и прикладную область, а в языках +- все одно и тоже (переменные,функции , классы, структуры и т. д.). Берите язык под прикладную область и вообще не парьте мозг себе. 😊
у меня gcc тоже глючил, обычный char s[30] scanf('%s', s) printf при вводе латинских букв выдавал два символа - квадратик со знаком вопроса внутри и символ собака. Глюк наблюдался первые два раза, каждый раз перекомпилировал и с третьего раза глюк пропал.
@@andrewvsk2368 непостижимы пути машинные, противиться воле их что елабужье говно из сыра с елабугой и сырным сыром из елабужьего говна с сыром из елабуги с сырным говно и прозрачный хлеб. кто системнымпрограммистом стать решил, тот благословлён матерью Природой от начал времён и до нескончаемых плодов творения компилятором Rust.
Просто надо правильно строить программу. А если тебе приходится писать много unsafe кода, что у тебя очень большое количество его оберток то раст явно не хороший инструмент в данной ситуации
Спасибо за видео, очень интересно. п.с. Я бьі не посоветовал C++ первьім язьіком, слишком тяжело, мне кажется лучше сначала попробовать, что-то попроще типа Python/Javascript, чтобьі понять, что такое програмирование вообще, а уже потом можно плюсьі. У меня первьій язьік бьіл Lua и переходить на плюсьі и бьіло довольно мучительно, но я себе представляю, если бьі я сразу прьігнул в плюсьі без банальньіх знаний, хотя бьі что такое функции, ООП, работа со строками, єто бьіл бьі вообще ад.
@@adiks09 сейчас да, многие языки имеют С-шный синтаксис и фичи, которые присутствуют в С++, но поначалу, уверен , тебе было тяжело. Если бы ты позависал с месяцок на javascript к примеру, пока не изучил бы как вообще программирование работает, потом с++ изучался бы легче.
А я бы сказал, что D - реальная последняя нормальная попытка заменить C++, ибо синтаксис остаётся тем-же самым (в точности повторяя синтаксис C, код C работает без переписывания), есть встроенный анализатор, короче Rust выезжает на хайпе "убийца С++", а D - реальный приемник С++
> js > современный > хороший язык сделанный за 10 дней человеком, который совсем не шарил в создании языков, ну да, современный, хороший язык, ждем оператора ====
Rust уже начинают использовать большие компании. Не думаю что rust в скором времени умрет и исчезнет из кодовых баз, а вот куда он вырастет это интересный вопрос с учётом его медленного но стабильного роста )
Спасибо, классное интервью
Канал прям начал расти на глазах, столько разного контента в IT и все интересно и главное видно, что стараешься, делаешь с душой!)
На счет Rust хочу сказать, я как человек бывший сеньер на JS повидал много боли с undefined behaviour, null pointer exception (не хватает сегфолта для полного счастья), я кодил на многих языках, для расширения кругозора и привнесения в реальные проекты лучшие практики, так как я стал лидом, прогал на C#(довольно много), немного на Haskell, на Elm, совсем немного на плюсах, ну много где еще, проникся безопасностью хаскела и элма. И все время где-то маячил раст и шептал "попрооообуй", но так как я слышал о нем только в ключе криптовалют, я его вечно откладывал, а потом я узнал что у нас на работе бэк пилят на нем в прототипе, решил погуглить и посмотреть, и понял, что это вот оно, то самое, "безопасные плюсы", что я и хотел
вот сейчас пишу сервер для мессенджера на нем, я хапнул много боли с непониманием устройства асинхронности и поддержки WS в раст, но я решил эту проблему и сейчас занимаюсь чисто бизнес логикой, и пока прямо кайф, это пет проджект
Пока могу сказать, что раст не вытеснит плюсы еще долго почему:
- Ему 5 лет, на нем написано совсем мало чего, многие вещи в языке еще пока сыроватые, даже те же макросы, которые уже все юзают находятся в незаконченном виде
- У плюсов пока еще крайне-крайне много кодобазы, которую нужно поддерживать
- Люди очень консервативны, и если мы посмотрим на этих консерваторов по языкам, то мы увидим, что чем более низкоуровневый язык, тем больше там консервативных личностей, которые не хотят ничего нового и не верят в улучшения, к сожалению
Но у Rust есть все карты в руках, чтобы стать достойным соперником C/C++, а еще у него есть "туз в рукаве" в виде поддержки ABI, когда ты можешь вызывать из раста плюсы или си, и наоборот
Было бы круто найти раст разработчика на интервью 👍
@@SeniorSoftwareVlogger я смотрел лекции от этого парня: github.com/matklad
@@SeniorSoftwareVlogger я введу разработку на Rust инди гипер казуальной игры на мобилы после того как закончу через несколько месяцев могу дать интервью как раз получив больше опыта на этом языке в реальном проекте (начал изучать Rust в этом году)
@@SeniorSoftwareVlogger Я разрабатываю на Rust профессионально и участвую в развитии русскоязычного сообщества. Могу дать интервью и рассказать про Rust. )
Вот можете посмотреть парочку моих статей на Хабре: habr.com/ru/users/freecoder_xx/posts/
Больше плюсов, больше Rustа, больше С
Спасибо за видео, оно прекрасно
Rust он по началу сложный, еще мало разжевывания (онлайн курсов для тупых нету), но вот после освоения, вкуривания и двух недель борьбы с компилятором он становится очень любимым, как будто какое-то озарение произошло. Еще большим плюсом является отсутствие GC, из-за которого программы непонятно как работают. Раст как бы сидит на двух стульях - контроль памяти и при этом безопасность. На работе пишу на плюсах (тоже любимы), но люблю больше раст, и дома всегда на нем пишу, если есть возможность.
Rust не сложный, но оптимизация плохая. Жаль мой пк его не тянет.
После C Rust - это словно вас похитили, завязали глаза, заткнули рот, привязали к стулу и успокаивающим голосом сказали: зато безопасно! Это вообще бессмысленная поделка. которая не слишком взлетела даже несмотря на отсутствие конкуренции. Скажем когда C завоёвывал мир, у него была огромнейшая конкуренция, причём с множества сторон: с одной популярный на тот момент Fortran, Cobol, с другой безопасный и простой Pascal (точнее родственные ему языки вроде Modula и Oberon). Rust - это изначально переусложнённый и мертворождённый проект. Он не сильно безопаснее того же Pascal (у которого замечу, в отличие от C даже нет неопределённого поведения), Rust же хорош в тех программах, где без труда и без ошибок можно писать и на C, а остальное ПО на нём тупо сложно или невозможно реализовать не используя unsafe. Если использовать unsafe - то на хрен идёт его безопасность. В итоге всё это сводится к тому что мы просто помечаем небезопасный код и работу с указателями как unsafe (а в C мы этого не делаем). Семантические ошибки допускаются одинаково во всех языках, только Rust ещё и в процессе вынесет мозг своим дебильным "временем жизни", на которое наплевать в простых или тестовых программах, но НЕ наплевать при попытке написать что-то осмысленное и сложное.
@@andrewvsk2368
ПРИШЛО ВРЕМЯ ОСВОБОДИТЬ ПАМЯТЬ
ПАМЯТЬ САМА НЕ ОСВОБОДИТСЯ
ОСВОБОДИ ЕЁ, ОСВОБОДИ ЕЁ ЕЩЕ РАЗ
ЗАЧЕМ МНЕ НУЖЕН РАСТ, У МЕНЯ НЕТ ВРЕМЕНИ ЧТОБЫ ЕБАТЬСЯ С НИМ
ЛУЧШЕ ЕЩЕ РАЗ ОСВОБОДИТЬ ПАМЯТЬ
Я ОСВОБОЖДАЮ ПАМЯТЬ ПО 3 РАЗА В ДЕНЬ
КАЖДОЕ ОСВОБОЖДЕНИЕ ЗАНИМАЕТ ДВАДЦАТЬ НАНОСЕКУНД
Я ЖИВУ АКТИВНОЙ И ПОЛНОЦЕННОЙ ЖИЗНЬЮ
Я УСПЕШЕН И ПОЭТОМУ ЦЕЛЫЙ ДЕНЬ ВЫДЕЛЯЮ ПАМЯТЬ
А ПОСЛЕ ЭТОГО ОСВОБОЖДАЮ ЕЁ
ТУПЫЕ РАСТОБЛЯДИ ОДЕРЖИМЫ ВРЕМЕНЕМ ЖИЗНИ
А Я СВОБОДНЫЙ ОТ ЗАДРОТСТВА ЧЕЛОВЕК
ЛУЧШЕ Я ВЫДЕЛЮ ЕЩЕ РАЗ ПАМЯТЬ
И ЗАБУДУ ОСВОБОДИТЬ ЕЁ, СТАБИЛЬНОСТЬ НЕ НУЖНА
Я НЕ ОСВОБОЖДАЛ ПАМЯТЬ НЕДЕЛЮ
ПОЙДУ ОСВОБОЖУ
В C ВСЕ ПРОСТО И ПОНЯТНО
ПЯТЬСОТ ПЯТЫЙ РАЗ SEGMENTATION FAULT. ЭТО ЖЕ ОЧЕВИДНО КАК ЕЕ РЕШИТЬ
ПРИШЛО ВРЕМЯ ОСВОБОДИТЬ ПАМЯТЬ
КОКОКОКОКОКОКО
ну хз, что то мне удобным он не показался. менеджер пакетов это конечно оч удобно, а вот точки зрения языка как то не оч. как только имеешь дело с объектами которые надо шарить так начинается гемор
@@kaptorkin что не так?
В институте первым языком давали Python, после него C++, а потом я параллельно с С++ учил отдельно Java и сейчас работаю на Java и Dart, как по мне на Python очень хорошо объяснили как работают алгоритмы, на C++ уже дали понятие о том что int не такой уж и int. Как итог лучше бы потратил время на чтение Java-книг и документации Spring, чем пытался в C++, тк потом все равно все способы того как в C++ что то обойти, уже не волновали и задачей было только написание бизнес логики, без затрат времени на низкоуровневые штуки. Я к чему клоню C++ сейчас годен разве что для игровых движков и все, + насколько мне известно сервер на С++ сделать безопасным более тяжелее чем на Java, тк в JDK из коробки много что есть, а чего нету там есть в Spring, и это дает вам свободу, а кто считает что на java программы медленнее чем C++, вы не берете в расчет что вы запускали java приложение на стандартной Java машине, есть оптимизированные под некоторые сферы java машины например Zulu Enterprise, который оптимизирован и в быстродействии схож с С++.
У нас все 4 года были только кресты(( Большая часть знаний и нюансов этого языка нигде не пригодилась.
Плюсы это низкоуровневый язык.
На кой черт сравнивать Яву и срр?
@@Шляпик-я3ч Комментатор явно не понимает, что есть что-то кроме Web
Вот этого я ждал.
Бро, спасибо тебе огромное!
это было крайне интересно, спасибо
Классный выпуск. С++ лучший.
Побольше интерью из мира IT.
Спасибо, гостью и каналу :)
Без мягкого
Если пропустить сарказм по объему работ - то на самом деле смысл миграции браузеров на Rust - это повышение безопасности кода к переполнениям буфера и общесистемным ошибкам (типа разыменования wild/null pointers) к которым спустя 30+ лет С++ остаётся чувствителен. Безопасность браузера - вообще превыше всего. И если ее можно достигнуть переключением процесса разработки на язык который изначально позиционировался как безопасный (Rust) - то почему нет? Безопасность - была поставлена как goal при разработках Мозилла и Хромиум, и все мы понимаем что через браузер проходит наши платежи, номера кредитных карт, личная информация в формах регистрации. Тоесть цель - благая. Спецификация Rust прямо заявляет что язык позицинируется как более безопасный чем С++ при той-же скорости исполнимого кода через LLVM компилляцию. Тоесть - все условия созданы. Ждем результатов.
Цель никто не ставит под сомнение. Говорили о том, что несмотря на благую цель и все созданные условия, нельзя просто взять и переписать 20 млн. строк кода. Поэтому и раст нифига не убийца.
Если бы можно было си++ транслировать в раст, тогда можно было бы говорить.
общесистемным ошибкам (типа разыменования wild/null pointers)
Ты в плюсах nullptr можешь разыменовать только через адский костыль в виде typeid.
Пацики, респект і уважуха !
Мосх взірвали місцями ;)
Честно говоря, мне синтаксис Rust очень понравился и особых проблем не было :) возможно потому что я ещё не успел мозгами полностью "привыкнуть" к си подобному
ПС. ML языки топ
Сейчас изучаю для себя Rust после долгих лет программирования на C#, JavaScript и TypeScript. И как было сказано в видео, проблемы с пониманием некоторых концепций есть. Особенно удивил подход с введением понятия времени жизни 'a. Но в остальном - язык интересный. Если на понимание языка Dart, у меня ушёл один день, то с Rust так не получится. Это новый язык, новое видение того, как можно управлять памятью, не используя GC. Новый подход к организации кода. ИМХО
@@VitalyVasilega а нельзя сразу начать с раст чтобы потом не переучиваться? все (по крайней мере многие) говорят что с него начинать нельзя. но если целью является научиться писать на раст, разве не стоит сразу начинать с него?
@@damnn3330 Я не могу с полной уверенностью сказать, что можно. Я просто уже давно изучаю программирование и прошёл через разные языки. Возможно, будут проблемы с пониманием некоторых вещей. Но попробовать всегда можно. Если не получится с первого раза, можно попробовать снова через какое-то время.
@@damnn3330 если бы я не учил хаскель и с++, Раст не зашел бы...
Спасибо за интервью! Было очень интересно и полезно как человеку, который давно задумывается о плюсах и областях использования языка, но слишком изнежен джавой и питоном.
Удаляй питон)))
синтаксис Rust'a куда ближе к JS или питону чем к C-подобным.
НО! Мало кто знает, в С++ можно писать функции вот так:
auto square -> int (int i) { return i*i; }
а это ооочень похоже не Rust)
ну вообще-то многие это знают, просто не принято. Более того, в C++ можно писать в стиле Rust используя его move-семантику, некоторые так даже делают.
Вы пишете: *auto square -> int (int i) { return i*i; }* Это не компилируется.
А зачем return?)
В rust можно просто написать { i*i }
Я начал изучать программирования с С++.
Эх, в наше время язык МК-61 был началом 🤣
Один раз выучить синтаксис VS Долбиться в одно место с установкой либ, работой с памятью со знакомым синтаксисом, но на каждом проекте.
Аргумент.
То что работы на порядок меньше - аргумент на самом деле
С++ рулит!!!
Спасибо! Было интересно послушать
спасибо большое за данное интервью.
11:35 Делаю свой движок =), может после окончания универа и устроюсь куда-нибудь программистом с++
Отличное интервью! Спасибо.
Одна tools'а называется LEX, а вторая -- YACC.
Современный вариант первой называется flex, современный вариант второй -- bison.
Кратко можно ознакомиться здесь: dinosaur.compilertools.net/
Очень интересное интервью и очень интересная тема.
Отчего все сравнения через синтаксис? Это дело десятое.
Кстати, насчёт Rust, этот язык ведь из коробки поддерживает функциональную парадигму - в том же F# тоже надо объявлять переменную mutable
там не совсем та самая фп парадигма
например с каррингом там все плохо
композиции тоже не очень существуют
оно там как бы и есть, но в тоже время и боль))
То, что переменные по умолчанию immutable, делает язык функциональным?)
Даниил Дудкин конечно именно это делает его функциональным, в нем может и не быть функций и вообще чего либо ещё, главное - чтоб были иммутабельные переменные, это необходимое и достаточное условие.
@@snatvb Как это "композиции тоже не очень существуют"?
Очень интересно, спасибо!)
Я помню как мы в универе использовали С++ и на работе тоже я немного использовал С++ и помню всю ту боль. Чаще всего мне приходилось использовать в работе JS немного Java, но затем я попробовал Haskell, и это просто "взорвало мне мозг", этот инструмент мне очень понраивлся, на нем получалось очень красиво и элегантно решать задачи. Затем я начал смотреть в сторону Rust, сначала был скептически настроен, думал " ну вот еще один С++". Но после того как познакомился с этим языком я испытал почти те же чувства, которые я испытывал при знакомстве с haskell, мне rust очень понравился. Я подумал "Я нашел свой С++".
спустя год... ну как у вас там с Rust?
@@RusFarFaz познакомился с ним две недели назад, и те же самые чувства: наконец-то хаскель с нормальной императивной парадигмой и без сборщика мусора.
Но Haskell в реале всё таки сильно зажат в тиски, рабочих фреймворков мало, сообщество с гулькин нос, всё же C++ менее ограничен, а по фичам типизации как бы уже не обходит, концепты пошли те же и т.п. И шаблонная наркомания постепенно упрощается с новыми стандартами.
Спасибо за информацию.
Насчет Раста язык сложный в изучении, после Котлина Явы и Си шарпа очень выносит мозг cо своими владениями, заимствованиями и областями жизни, но после пару неделек вроде более менее начинаешь шарить и даже уже нравится, но опять же нет полноценного ООП есть нечто похожее на это. В целом язык затягивает своей непохожестью на все остальные языки с которыми приходилось работать ранее по крайне мере из популярных языков. Так же Раст хорошо учит в понимании как работает стэк и куча так как там явно приходиться указывать как размещать свои структуры данных. Очень воодушевляет работа с мультипоточностью по правде говоря даже Котлиновские корутины курят в сторонке по сравнению с мультипоточной безопасностью в Раст
Что касается синтаксиса как по мне после Котлина не сильно уж и режет глаза так первые деньки немного сбивает с толку, но я для себя сильной преградой в обучении языка не заметил, большую преграду для меня вызывает так называемая борьба с компилятором, так как привычный по логике код для той же Явы может совсем не компилироваться в Раст
Мне как то не зашел Раст. Когда я писал свою бд( не sql) появилось много проблем. Некоторые ЯП плохо работают с Раст. Т.к. вроде ABI Раста отличается от Си. Мне нужно было кроссплатформенно замапить файл в память. И вот на плюсах на изи сам реализовал, а вот в Расте заюзал внешнюю библиотеку. Но там уже слишком много выкрутасов получилось на расте, аж забыл что написать хотел. Раст - этот язык лучшее что произошло в сфере ЯП. В том смысле что оно ввело новое понятие как владение, заимствования. Пускай Раст не займет большую долю в продакшене, но концепции Раста в будущем перенимут другие языки.
В теме владения и ссылок ничего сложного нет. Самый сок - это трейты. Как только ты захочешь написать универсальную функцию, то будь готов знать какие трейты нужны и как их правильно реализовать для этой функции.
Попробуй написать функцию, которая умножает число любого типа Т на, скажем, число типа i32 и тогда поймешь.
@@MarDukk1 а разве я сказал что это баг? Просто для меня как Ява разработчика это не привычно вот и все
Если знаешь как работает стек и куча, тот и в C++ не залажаешь
@@refeilodev4117 у раста разве есть свои собственные концепции ? Имхо надёргано с разных ФП языков.
Ну в топ 3 вузах Питера создание резюме включено в твою программу обучения, так же школьные олимпиады сильно помогают украсить резюме.
(Устроиться на 20 часов на 3 курсе стажёром/джуном нормальный ход развития вещей)
Все сказано по делу
больше видео такого формата!
Привет,хотел спросить, какой язык вы б посоветовали учить новичку, заранее спасибо)
Смотря что ты хочешь делать. А вообще, python, если не хочешь сразу вникать во все кишки, а хочешь получить быстрый результат какой-то прикладной задачи. А если хочешь вникать во все кишки вплоть до системного программирование, например если хочешь программировать железки и микроконтроллеры, то тогда C (возможно C++) плюс принципы железок, ассемблер итд. Еще если хочешь в вебе много программировать, то без HTML/JavaScript/Css никак. Еще возможно java , как один из самых распространенных языков и способ зарабатывать деньги.
Немецкий
C++ 💜
Крутой ролик , в этом ролике было так интересно , что жуть , скорее всего потому , что пишу в основном на с++
Комментарий за для конкурса.
А так, спасибо за видосики. Очень много полезностей в них (:
Класс
Славься, Тула!
Крутое видео, спасибо :)
в google проводили исследования "сколько нужно времени для подготовки начинающего C++ разработчика" - 2 года.
Есть ссылка?
@@SeniorSoftwareVlogger Я уже не найду 3 года прошло, могу сказать что к 2 годам нужно ещё год прибавить если нужен `modern c++` это не официальное название всех последующих стандартов начиная с С++11, язык сильно наворотили: концепты, контракты, вычисления во время компиляции, coroutines теперь функции могут `помнить` своё состояние, метапрограммирование с использованием шаблонов на С++ это инопланетный язык :)
Ну серьёзно, объявление шаблонной функции с концептами занимает кучу строчек, у меня даже некоторые реализации столько строчек не занимают сколько их объявления :) Читать это тяжело.
Понял, спасибо!
@@SeniorSoftwareVlogger Забавный факт в C++ от лямбда выражения можно унаследовать класс, как тебе такое функциональное программирование? хахха :)
Для программиста - это вообще не срок. И более того это не совсем верно. Важна корпоративная культура. C++ сегодня настолько огромен, что уже просто глупо искусственно его не "урезать", это кстати делает и выше упомянутый Google. Вообще C++ это плохой язык, но конкурентов нет, даже с учётом всех его недостатков. Rust - это мертворождённый язык. Даже диалекты Pascal лучше по методологии, т.к. он хотя бы простой и при этом надёжный и быстрый.
Интересно
В расте можно отключить стандартную библиотеку. (Triple BAM!!!)
Вот что однозначно переворачивает мир, так это усвоенный Haskell =)
И обратите внимание на Racket уже наконец, он заслуживает этого.
да, но после хаскеля Раст заходит как "именно то"
Есть куча людей, которые уже усвоили Haskell, а мир так и не перевернулся.
@@princessmary5556 внутренний мир же, дунно
Haskell и Scheme (Racket) маст хэв для разработчика на C++ 🤣
@@IExSet Для разработчика с++ маст хэв только сам с++, а все остальное - опционально.
26:57 Оговорочка по Фрейду))
Вы оба ахуенные спецы! Смотрел с удовольствием!
Хороший выпуск
Комментарий ради книги 'Высоконагруженные приложения'.
Современное embedded - это C++ чуть менее чем полностью.
Борода ушла в .net)
"лет через 40" загнул он конечно про раст
Думаю лет 5 максимум, только начал изучать раст и просто не верится. И текст в utf-8 и cargo вместо cmake, и линковка с си с нулевой стоимостью, и производительность на равне с си. И llvm. И работа с микроконтроллерами. Бля, все мои мечты сбылись.
@@sibkit8183 очередное подтверждение что программисты макаки. Языку уже 7 лет, но все начали учить его поголовно в 20-21году
@@404piano Что это за вульгарное обобщение такое? Полторы калеки, которые учат раст на "всех" не тянут.
Раста уже не будет через лет 10.
@@sibkit8183 и тормоза от работы с текстом в директивно обозначенном utf. В плюсах ты можешь выбирать варианты работы со строками, исходя из необходимости. Нафига например utf8, там где достаточно классического ASCII, вплоть до массивов char.
То что программисту не нравится RUST потому-что он его не понял - ну такое... Microsoft сейчас решила использовать RUST на ядре Windows по причине ухода от утечек по памяти (большинство проблем с безопасностью). Напомню, Microsoft, в своё время, решила переписать свои программы с С/С++ на С# и ушло у них около 10 лет (2000-2005 - первые релизы), конечно, С++ и С тоже присутствует. Mozilla, насколько мне известно, решила переписать Firefox с нуля. Даже на гитхабе есть. Около 500 Мб кода. Конечно, человеческий ресурс решает. На самом деле: С++, сейчас, не лучший выбор для разработки всего, кроме игровых движков. потому-что избыточная сложность и как следствие: безопасность, хотя и сейчас уже есть и движки на RUST. И мне кажется, на микроконтроллерах С++ при компиляции тянет нехилую среду исполнения, а микроконтроллеры - про ограничения по объему памяти. Суммируя: RUST - это начало конца С++, на мой взгляд.
Никто и не спорит о том, что С++ будет заменен когда-то. Опять же на это уйдет очень много времени. О проблемах майков уже где-то обсуждалось тоже. Современный С++ - уже другой и нельзя говорить, что через лет 10 не случится чего, что опять его вернет в массу. Я же был бы рад если раст заменил бы чистый С
Rust никого не победит. Особенно C. Более того, если человеку не нужна производительность C++, можно взять тот же упомянутый C# или Java, или Scala для JVM. Rust конечно лучше множества иных поделок, + это компилируемый и очень быстрый язык программирования, из-за этого он хотя бы достоин внимания и уважения.
Andrew V не путайте тёплое с мягким, никто не говорит что rust заменит C# и Java, rust способен и должен заменить C++ просто ради безопасности. С С не всё так однозначно, хотя он мне больше нравится, но его undefined behavior иногда вымораживают, именно благодаря им он не стал новой Ada. Хотя rust тоже вряд ли ей станет.
@@linux_and_the_void не заменит он и C++ и уж тем более C. Я в других постах уже писал, что скажем в Pascal, Modula, Oberon - нет неопределённого поведения и вообще эти языки кстати получше Rust будут если не с точки зрения надёжности как таковой, то с точки зрения соотношения надёжности и простоты. Pascal дети изучают, при этом написано дофига ПО, что кстати Rust и не снилось, хотя Rust существует уже 10 лет! (где же все талантливые программисты?). Со скрипом внедряют в Firefox, при этом браузер от Mozilla, полностью на Rust прикрыли и вообще многих Rustоманов сократили (это даже по моим меркам перебор, хоть я и считаю Rust неперспективным). Более того, уже сегодня можно писать на C++ в стиле Rust с похожей move-семантикой, некоторые даже это делают. Только разница в том, что на C++ можно легко создать любую структуру данных, а Rust захлебнётся при первом же отступлении от того, что в него уже встроено. Что до чистого C - это вообще холст и успех зависит от интеллекта и эрудиции разработчика. На Rust можно писать в стиле C используя unsafe, только это гораздо менее удобно и для таких целей лучше просто C взять и не заниматься извращениями. Надёжность в этом случае будет одинаковой, только C уже проверен временем и не мудит без причин.
И кстати немного по поводу "тёплого и мягкого". Важна - эффективность. Для C# .Net core весьма быстрый компилятор, даёт производительность сравнимую с Rust (чуть медленнее в НЕКОТОРЫХ задачах). Тоже самое можно сказать о Java, у которой тормозная стандартная JVM, но она не единственная и есть вполне производительные варианты для тех, кому это надо. То есть Rust просто не найдёт свою нишу. Для игр - нужна очень динамическая система, постоянно изменяющиеся данные, на низком уровне кроме C ничего нет и не предвидится, на высоком - Java главенствует и C# - если это винда.
ради книжки с кабанчиком я кабанчиком полетел в комменты.
Rust победит, это неизбежно, просто это будет не быстро:
"Новые научные идеи побеждают не потому, что их противники признают свою неправоту, просто противники эти постепенно вымирают, а подрастающее поколение, не обремененное предрассудками, усваивает новые идеи сразу." (Макс Планк) 😜
Ага, только язык C уже старше многих современных разработчиков, да ух о чём я, намного старше меня, хотя я уже не так уж и молод, при этом не планирует умирать, более того он и меня и вас переживёт. Rust уже получился мёртворождённым, хотя языку уже 10 лет! Он новый, на него должны сразу все обратить внимание, у него нет сейчас конкуренции, но тишина. Когда C начинал пусть конкуренция была просто яростная, но он вышел победителем. Один из конкурентов (разные диалекты Pascal) до сих пор живы. И кстати Pascal с точки зрения безопасности не хуже Rust, только значительно проще. Разработчик с опытом освоит Pascal за пару дней. Rust несмотря на его новизну нужно штудировать долго - это хреновый критерий для нового языка. По этой же причине Common Lisp умирал все разы, которые всплывал, хотя Common Lisp значительно превосходит Rust по своей методологии и идеям.
С++ хоронят уже лет 30. Экосистема Rust очень пока очень сырая. А заменить то что годами работает на Rust - зачем? Это деньги на ветер
@@andrewvsk2368 у cl тот же самый недостаток: сборка мусора...
Прошло 2 года. И что-то как то не видать этих ваших вымираний. А у раста по прежнему так мало последователей, что он по итогу по прежнему отсутствует в популярных топах по языкам. За период с 2018 год и по 2023 включительно индекс TIOBE показывает рост популярности раст аж на целых 0.2%
@@princessmary5556ообщество и экосистема медленно но верно растут
👍👍👍
Везёт. С языка С начинали учить программирование. А некоторые с Fortran начинали.
Кто-то в школе Кумир учил, бгг.
С языка С по сути и нужно начинать изучать. Я в детстве писал на Action Script 3.0 (это язык для Flash игр, уже мёртвая технология, хотя Интернет с тех пор лучше не стал, а замены Flash в области мультимедиа в Интернете так и нет). В универе писал на ASM и именно тогда началось серьёзное программирование. Дальше перешёл на C# для прикладных задач и параллельно изучал C. Так вот, оглядываясь назад могу сказать, что лучше C человечество ещё ничего не придумало).
На Луа учите, там быстро научаться на Си писать)))
👌
🙇
Ура, не JavaScript
Не джаваскриптом единым
Conan - менеджер управления пакетов. CMake - система управления сборкой. Эксперт такой себе.
Ну вот гладкую сортировку для тренировки норм написать.
Хорошая реклама Rust
:D
"Что если я тебе скажу что С# это С++++?"(с)
MATLAB не на плюсах, а на чистом C + Java для морды.
Принято!
@@SeniorSoftwareVlogger между прочим - распространённая ошибка многих плюсовиков: присваивать себе чужие лавры причём иногда даже на довольно высоком уровне "авторитетности". Так в русской википедии оказывается gcc написан на C++ (хотя это C, на C++ там написаны некоторые высокоуровневые фишки для лучшей интеграции другим C++ кодом и расширений). Практически все web технологии - это C (Apache, любимый многими nginx), базы данных MySQL - та же фигня что и gcc, почти весь код на чистом C, SQLite который используется всеми кому не лень - C. Причём как уже сказал "пренебрегают" разделением C и C++ даже "авторитетные" разработчики. Так Антон Полухин
из Яндекса (ненависть!) прямо на своём очередном дебильном докладе о C++ п**дел и присваивал в "заслуги" C++ то, что написано на C или полностью или почти всё. Я лично с возрастом уже спокойно отношусь к C++ как к таковому при разумном его применении и осознанном отказе от некоторой его функциональности (к слову так поступают почти все, включая таких гигантов как Google, а они не понаслышке набили шишек на C++, даже Go запилили чтобы хоть иногда отдыхать), однако во-первых интеллектуальное большинство порождает на C++ исключительно говнокод, во-вторых в том числе сегодня многие организации вполне осмысленно отказываются от C++. Так выше упомянутый MATLAB использует собственную Java машину для высокоуровневых абстракций, а GTK+ хакеры и вовсе затроллили плюсовиков и создали Vala (это хорошая идея, не получившая должного пиара, это C#/Java -подобный язык со сборщиком мусора, который транслируется сначала в C, а затем компилируется на обычном gcc, по понятным причинам у языков общие элементарные типы данных и прозрачные вызовы C кода).
@@andrewvsk2368 "Я лично с возрастом уже спокойно отношусь к C++ как к таковому при разумном его применении и осознанном отказе от некоторой его функциональности (к слову так поступают почти все, включая таких гигантов как Google, а они не понаслышке набили шишек на C++" -- Google так мощно сел в лужу с "урезанием" C++, что даже придумать аналогичную глупость очень трудно. По-гигантски, можно сказать, сел в лужу.
Давайте, говорят, отключим исключения, но объекты классов создавать будем. Жесть.
Они бы и хотели "вернуть всё взад", да -- поздно уже.
@@andrewvsk2368 Вы пишете: *оказывается gcc написан на C++* Так и есть. В какой то момент его переписали на плюсы.
Согласно исторической справке:
Ричард Столлман написал первый вариант GCC в 1985 году на непереносимом диалекте языка Паскаль.
В 1987 году компилятор был переписан на языке Си, и в таком виде существовал до 2013 года.
В марте 2013 года была выпущена версия 4.8.0,
которая ознаменовала полное завершение перехода GNU Compiler Collection на с++
Сам переход начался в 2008 году, и как не сложно подсчитать, длился 5 лет.
@@andrewvsk2368 Вы пишите: *интеллектуальное большинство порождает на C++ исключительно говнокод* Не похоже, что вы повзрослели.
то чуство когда учишь python после haskell.
Да, так не понять как работает машина, что чревато, что бы там не говорили физики. Добавить в коктейль хотя бы сишечку.
Чел просто раст не понял, c# не нужен, как и c++. Вопрос не большого времени, когда rust возглавит рейтинг tiobe, я думаю лет 5, не больше
24:20 "Сиси плюс плюс"
Простите не удержался
Когда уже пройдёт эта мода мусолить эти языки...... Учите английский и прикладную область, а в языках +- все одно и тоже (переменные,функции , классы, структуры и т. д.). Берите язык под прикладную область и вообще не парьте мозг себе. 😊
Раньше
у меня gcc тоже глючил, обычный char s[30] scanf('%s', s) printf при вводе латинских букв выдавал два символа - квадратик со знаком вопроса внутри и символ собака. Глюк наблюдался первые два раза, каждый раз перекомпилировал и с третьего раза глюк пропал.
Вот кстати ни разу в жизни не глючил gcc кроме тех случаев, когда насильно пытался его сломать).
@@andrewvsk2368 у меня такая карма, что у меня всё глючит, даже на работе удивляются
@@eugenenovikov671 в таком случае Rust вам никогда ничего не скомпилирует :).
@@andrewvsk2368 непостижимы пути машинные, противиться воле их что елабужье говно из сыра с елабугой и сырным сыром из елабужьего говна с сыром из елабуги с сырным говно и прозрачный хлеб. кто системнымпрограммистом стать решил, тот благословлён матерью Природой от начал времён и до нескончаемых плодов творения компилятором Rust.
Раст не даст тебе еще и скомпилировать нормальный код, заставляя порой писать хаки или ансейф код
Просто надо правильно строить программу. А если тебе приходится писать много unsafe кода, что у тебя очень большое количество его оберток то раст явно не хороший инструмент в данной ситуации
Вот бы какую нибудь хорошую книгу по js))))
40 == 2021 :)
слушай, слушай, слушай, слушай, слушай, смотри , слушай весь набор слов:)
Маленько
Подбельский....
оп
Спасибо за видео, очень интересно.
п.с. Я бьі не посоветовал C++ первьім язьіком, слишком тяжело, мне кажется лучше сначала попробовать, что-то попроще типа Python/Javascript, чтобьі понять, что такое програмирование вообще, а уже потом можно плюсьі. У меня первьій язьік бьіл Lua и переходить на плюсьі и бьіло довольно мучительно, но я себе представляю, если бьі я сразу прьігнул в плюсьі без банальньіх знаний, хотя бьі что такое функции, ООП, работа со строками, єто бьіл бьі вообще ад.
Не согласен, начинал учить с плюсов, сейчас все что не учи все понятно
@@adiks09 сейчас да, многие языки имеют С-шный синтаксис и фичи, которые присутствуют в С++, но поначалу, уверен , тебе было тяжело. Если бы ты позависал с месяцок на javascript к примеру, пока не изучил бы как вообще программирование работает, потом с++ изучался бы легче.
Тяжело, но это школа жизни, если врубишься, то мир Haskell или Lisp будет полным дополнением, покроет все уровни. А без этого мне кажется бесполезняк.
Гость супер грамотный и интересный парень) интервьюер - днище
Аргументы по фактам
Дульная, Ствольная, эх, Арсенальная
Улица любая Оборонная
Какой-то инсайд?
Спасибо! 🙈
Я тоже растом интересовался, но ввиду его непопулярности интерес быстро и пропал, хотя есть интересные фишки
Учить язык опираясь на популярность? Так держать! Вы явно далеко уйдёте
Ну он относительно популярен.
Конформист
Сорян парни, но раст победит, не очень скоро, но в итоге это произойдет.
Маленькими шагами к величию.
бл*** я думал вы про игру Rust))))
А я бы сказал, что D - реальная последняя нормальная попытка заменить C++, ибо синтаксис остаётся тем-же самым (в точности повторяя синтаксис C, код C работает без переписывания), есть встроенный анализатор, короче Rust выезжает на хайпе "убийца С++", а D - реальный приемник С++
Судя по тому, что язык D годами прозябает на задворках, плохи дела у наследников С++
когда же вы наконец поймете что js современный, хороший язык
Кому адресовано?
к чему ты это написал?
никто не говорил, что JS плохой и несовременный язык
> js
> современный
> хороший язык
сделанный за 10 дней человеком, который совсем не шарил в создании языков, ну да, современный, хороший язык, ждем оператора ====
Ещё одно предвзятое мнение, чтобы дешёво хайпануть (дизлайк за это): каждый язык будет жить независимо.
Rust-это мёртворожденный язык и для С++ он не должен составить труда.
Rust уже начинают использовать большие компании. Не думаю что rust в скором времени умрет и исчезнет из кодовых баз, а вот куда он вырастет это интересный вопрос с учётом его медленного но стабильного роста )