0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p><a>#статьи</a></p>
1
<p><a>#статьи</a></p>
2
<ul><li>7 сен 2021</li>
2
<ul><li>7 сен 2021</li>
3
<li>0</li>
3
<li>0</li>
4
</ul><p>С++ устарел и его скоро заменит Rust? Как бы не так. Разработчик Антон Соснин рассказал о перспективах "плюсов", языковом комьюнити и своей работе.</p>
4
</ul><p>С++ устарел и его скоро заменит Rust? Как бы не так. Разработчик Антон Соснин рассказал о перспективах "плюсов", языковом комьюнити и своей работе.</p>
5
<p>OlyaSnow для Skillbox Media</p>
5
<p>OlyaSnow для Skillbox Media</p>
6
<p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
6
<p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
7
<p><strong>об авторе</strong></p>
7
<p><strong>об авторе</strong></p>
8
<p>В Twitter - <a>@0xfe0d</a>, программист. Пишет платформу для компьютерного зрения на C++ и CUDA в Arrival. Ведёт Telegram-канал "<a>Айти Тудэй</a>".</p>
8
<p>В Twitter - <a>@0xfe0d</a>, программист. Пишет платформу для компьютерного зрения на C++ и CUDA в Arrival. Ведёт Telegram-канал "<a>Айти Тудэй</a>".</p>
9
<p>Я не выбирал C++. Скорее язык выбрал меня. Сначала его преподавали в школе, потом в университете, а теперь я решаю с его помощью рабочие задачи. Когда-то присматривался к JavaScript и Java и даже что-то писал, но всё равно возвращался к "плюсам".</p>
9
<p>Я не выбирал C++. Скорее язык выбрал меня. Сначала его преподавали в школе, потом в университете, а теперь я решаю с его помощью рабочие задачи. Когда-то присматривался к JavaScript и Java и даже что-то писал, но всё равно возвращался к "плюсам".</p>
10
<p>Мне нравится двигать пиксели с помощью алгоритмов. Поэтому я пишу платформу компьютерного зрения в Arrival, в основном на С++ и CUDA. А до этого делал фоторедактор в компании Movavi.</p>
10
<p>Мне нравится двигать пиксели с помощью алгоритмов. Поэтому я пишу платформу компьютерного зрения в Arrival, в основном на С++ и CUDA. А до этого делал фоторедактор в компании Movavi.</p>
11
<p>С++ - очень гибкий язык. Он позволяет обращаться к памяти напрямую и в то же время писать высокоуровневый код на примитивах стандартной библиотеки. Или даже на чём-нибудь посложнее.</p>
11
<p>С++ - очень гибкий язык. Он позволяет обращаться к памяти напрямую и в то же время писать высокоуровневый код на примитивах стандартной библиотеки. Или даже на чём-нибудь посложнее.</p>
12
<p>Главное преимущество С++ - на нём можно создавать программы, которые быстро исполняются. Но только если правильно написать.</p>
12
<p>Главное преимущество С++ - на нём можно создавать программы, которые быстро исполняются. Но только если правильно написать.</p>
13
<p>На первой работе я писал на C++ и Qt десктопные кросс-платформенные продукты для Windows и Mac. Очевидно, стек выбрали из-за требований к быстродействию. Сейчас модно писать гуй на Electron, но все жалуются, что он ест много памяти и тормозит. А вот Qt тормозит, только если вы его плохо написали.</p>
13
<p>На первой работе я писал на C++ и Qt десктопные кросс-платформенные продукты для Windows и Mac. Очевидно, стек выбрали из-за требований к быстродействию. Сейчас модно писать гуй на Electron, но все жалуются, что он ест много памяти и тормозит. А вот Qt тормозит, только если вы его плохо написали.</p>
14
<p>Сейчас я уже не разрабатываю десктопные продукты и GUI, а пишу софт для компьютерного зрения. У "плюсов" хорошая совместимость с С и СUDA, а ещё они позволяют сэкономить память, время и дают больше возможностей в реализации алгоритмов.</p>
14
<p>Сейчас я уже не разрабатываю десктопные продукты и GUI, а пишу софт для компьютерного зрения. У "плюсов" хорошая совместимость с С и СUDA, а ещё они позволяют сэкономить память, время и дают больше возможностей в реализации алгоритмов.</p>
15
<p>Часто нейросети для компьютерного зрения пишут на Python - по сути, это удобная обёртка для функций на C. Их можно быстро комбинировать и проводить эксперименты, но в нашем случае Python привёл бы к потере производительности.</p>
15
<p>Часто нейросети для компьютерного зрения пишут на Python - по сути, это удобная обёртка для функций на C. Их можно быстро комбинировать и проводить эксперименты, но в нашем случае Python привёл бы к потере производительности.</p>
16
<p>Вот где сегодня используют С++:</p>
16
<p>Вот где сегодня используют С++:</p>
17
<ul><li><strong>Веб-сервера.</strong>Их пишут на С++ чаще всего - например, в том же "Яндексе". Для этого нужно понимать, как работают протоколы и сетевые соединения.</li>
17
<ul><li><strong>Веб-сервера.</strong>Их пишут на С++ чаще всего - например, в том же "Яндексе". Для этого нужно понимать, как работают протоколы и сетевые соединения.</li>
18
<li><strong>Графика и сложные вычисления.</strong>Почему бы не С++? Хотя есть Python, программы на котором будут работать так же быстро, если их "правильно готовить", - ведь в конечном итоге это тоже просто вызовы функций.</li>
18
<li><strong>Графика и сложные вычисления.</strong>Почему бы не С++? Хотя есть Python, программы на котором будут работать так же быстро, если их "правильно готовить", - ведь в конечном итоге это тоже просто вызовы функций.</li>
19
<li><strong>Десктоп.</strong>Раньше большую часть десктопных приложений писали на С++, но теперь всё чаще используют Java и C#.</li>
19
<li><strong>Десктоп.</strong>Раньше большую часть десктопных приложений писали на С++, но теперь всё чаще используют Java и C#.</li>
20
<li><strong>Мультимедиа.</strong>Приложения для аудио и видео пишут на С или C++. У "плюсов" есть замечательная библиотека FFmpeg для работы с видео - всем приходится её использовать, никуда от неё не денешься.</li>
20
<li><strong>Мультимедиа.</strong>Приложения для аудио и видео пишут на С или C++. У "плюсов" есть замечательная библиотека FFmpeg для работы с видео - всем приходится её использовать, никуда от неё не денешься.</li>
21
</ul><p>А ещё, если у тебя есть собственная уникальная железяка, для неё может понадобиться компилятор со своим подмножеством С++. Как правило, "плюсы" на такие проекты выбирают потому, что они соответствуют стандарту и код получается вполне качественным.</p>
21
</ul><p>А ещё, если у тебя есть собственная уникальная железяка, для неё может понадобиться компилятор со своим подмножеством С++. Как правило, "плюсы" на такие проекты выбирают потому, что они соответствуют стандарту и код получается вполне качественным.</p>
22
<p>Где не стоит использовать C++? Везде, где можно обойтись без него. Но если жизнь не оставляет шансов, пишите на здоровье ;) Кстати, один из минусов языка - скудная стандартная библиотека.</p>
22
<p>Где не стоит использовать C++? Везде, где можно обойтись без него. Но если жизнь не оставляет шансов, пишите на здоровье ;) Кстати, один из минусов языка - скудная стандартная библиотека.</p>
23
<p>Я заметил, что сейчас самый распространённый в коммерческой разработке стандарт -<a>C++17</a>. О <a>20-й</a> версии обычно только говорят: мол, пора бы уже переходить. Но переходить не спешат. А вот от <a>С++14</a>постепенно разработчики отходят - сейчас эту версию в основном используют на проектах с большими объёмами legacy.</p>
23
<p>Я заметил, что сейчас самый распространённый в коммерческой разработке стандарт -<a>C++17</a>. О <a>20-й</a> версии обычно только говорят: мол, пора бы уже переходить. Но переходить не спешат. А вот от <a>С++14</a>постепенно разработчики отходят - сейчас эту версию в основном используют на проектах с большими объёмами legacy.</p>
24
<p>Иногда в Twitter и блогах встречаю мнение, что не сегодня завтра C++ умрёт - а его заменит, например, Rust. Я в это не верю. Как минимум потому, что есть куча кода, который нельзя переписать на другие языки, а значит, кому-то придётся поддерживать "плюсы". Бизнес уже вложил слишком много денег в язык - выбрасывать его на помойку он не станет.</p>
24
<p>Иногда в Twitter и блогах встречаю мнение, что не сегодня завтра C++ умрёт - а его заменит, например, Rust. Я в это не верю. Как минимум потому, что есть куча кода, который нельзя переписать на другие языки, а значит, кому-то придётся поддерживать "плюсы". Бизнес уже вложил слишком много денег в язык - выбрасывать его на помойку он не станет.</p>
25
<p>С другой стороны, у меня есть ощущение, что в далёком будущем С++ ждёт судьба Fortran. Он будет жить, на нём даже будут что-то писать, останутся библиотеки. Но всем этим добром будут пользоваться избранные - узкопрофильные специалисты.</p>
25
<p>С другой стороны, у меня есть ощущение, что в далёком будущем С++ ждёт судьба Fortran. Он будет жить, на нём даже будут что-то писать, останутся библиотеки. Но всем этим добром будут пользоваться избранные - узкопрофильные специалисты.</p>
26
<p>Да, со временем C++ наверняка заменит какой-нибудь молодой и перспективный язык - и пусть это будет Rust. Однако такая замена произойдёт не через пять и даже не через десять лет. Тот же Fortran был довольно популярным десять лет назад, когда я учился в университете. Угасать он начал относительно недавно - всё-таки старичку уже 60 лет, а нашим "плюсам" всего 40. Поэтому работы для программистов, пишущих на C++, на наш век точно хватит.</p>
26
<p>Да, со временем C++ наверняка заменит какой-нибудь молодой и перспективный язык - и пусть это будет Rust. Однако такая замена произойдёт не через пять и даже не через десять лет. Тот же Fortran был довольно популярным десять лет назад, когда я учился в университете. Угасать он начал относительно недавно - всё-таки старичку уже 60 лет, а нашим "плюсам" всего 40. Поэтому работы для программистов, пишущих на C++, на наш век точно хватит.</p>
27
<p>У С++ есть сообщество: не такое крупное, как у Python или Java, но живое и растущее. Ежегодно проходит конференция<a>С++ Russia</a>, на которой выступают разработчики и инженеры мирового уровня. Недавно<a>JUG Ru Group</a>(это компания - организатор IT-конференций) взяла её под своё крыло.</p>
27
<p>У С++ есть сообщество: не такое крупное, как у Python или Java, но живое и растущее. Ежегодно проходит конференция<a>С++ Russia</a>, на которой выступают разработчики и инженеры мирового уровня. Недавно<a>JUG Ru Group</a>(это компания - организатор IT-конференций) взяла её под своё крыло.</p>
28
Конференция С++ Russia 2019. Фото: группа C++ User Group во "ВКонтакте"<p>Ребята из С++ Russia часто проводят стримы<a>у себя на канале</a>.</p>
28
Конференция С++ Russia 2019. Фото: группа C++ User Group во "ВКонтакте"<p>Ребята из С++ Russia часто проводят стримы<a>у себя на канале</a>.</p>
29
<p>Раньше в Санкт-Петербурге и Москве устраивали митапы по несколько раз в месяц. Сейчас активность утихла, все перетекли в онлайн или молчат. В других городах активность и до пандемии была низкой.</p>
29
<p>Раньше в Санкт-Петербурге и Москве устраивали митапы по несколько раз в месяц. Сейчас активность утихла, все перетекли в онлайн или молчат. В других городах активность и до пандемии была низкой.</p>
30
<p>Ещё есть крутой чат в Telegram на русском языке -<a>pro.cxx</a>. Там много людей, и среди них есть те, кто выступает на конференциях. Им можно задать вопрос, но с банальщиной соваться не стоит - для этого есть<a>supapro.cxx</a>. Это не снобизм, просто поток вопросов очень большой, а на уровень Stack Overflow тратить время в основном сообществе не хотят.</p>
30
<p>Ещё есть крутой чат в Telegram на русском языке -<a>pro.cxx</a>. Там много людей, и среди них есть те, кто выступает на конференциях. Им можно задать вопрос, но с банальщиной соваться не стоит - для этого есть<a>supapro.cxx</a>. Это не снобизм, просто поток вопросов очень большой, а на уровень Stack Overflow тратить время в основном сообществе не хотят.</p>
31
<p>Я познакомился с С++ ещё в школе: с детства любил математику и компьютеры, поэтому с нетерпением ждал уроков по информатике и программированию. Потом поступил в НГТУ и получил степень бакалавра по прикладной математике и информатике. Направление посоветовал друг - мол, там интереснее, потому что учат не только программированию.</p>
31
<p>Я познакомился с С++ ещё в школе: с детства любил математику и компьютеры, поэтому с нетерпением ждал уроков по информатике и программированию. Потом поступил в НГТУ и получил степень бакалавра по прикладной математике и информатике. Направление посоветовал друг - мол, там интереснее, потому что учат не только программированию.</p>
32
<p>А вот в магистратуру не пошёл - уж очень хотелось попробовать силы в коммерческой разработке. Можно было погрузиться в науку - например, в математику - и тоже много программировать, но всё это было далеко от реального продакшна. Мне же важно было не только знать матчасть, но и повариться в бизнес-процессах, пройти проверку боем.</p>
32
<p>А вот в магистратуру не пошёл - уж очень хотелось попробовать силы в коммерческой разработке. Можно было погрузиться в науку - например, в математику - и тоже много программировать, но всё это было далеко от реального продакшна. Мне же важно было не только знать матчасть, но и повариться в бизнес-процессах, пройти проверку боем.</p>
33
<p>Знать один язык и быть востребованным программистом не получится. В коммерческой разработке понадобятся дополнительные навыки.</p>
33
<p>Знать один язык и быть востребованным программистом не получится. В коммерческой разработке понадобятся дополнительные навыки.</p>
34
<p><strong>CMake.</strong>Каким бы ужасным ни был CMake, с его помощью всё ещё собирают проекты. Вообще, в С++ много инструментов, которые когда-то собрали на коленке, а они как-то прижились и стали стандартом.</p>
34
<p><strong>CMake.</strong>Каким бы ужасным ни был CMake, с его помощью всё ещё собирают проекты. Вообще, в С++ много инструментов, которые когда-то собрали на коленке, а они как-то прижились и стали стандартом.</p>
35
<p><strong>Системы управления пакетами.</strong>В С++ из коробки таких нет, в отличие от того же Cargo в Rust. Но есть Conan - правда, он написан на Python и, чтобы с ним работать, придётся столкнуться со "змейкой". Зато c Conan не нужно собирать зависимости вручную или искать подходящие архивы с бинарниками по неизвестным сайтам или репозиториям.</p>
35
<p><strong>Системы управления пакетами.</strong>В С++ из коробки таких нет, в отличие от того же Cargo в Rust. Но есть Conan - правда, он написан на Python и, чтобы с ним работать, придётся столкнуться со "змейкой". Зато c Conan не нужно собирать зависимости вручную или искать подходящие архивы с бинарниками по неизвестным сайтам или репозиториям.</p>
36
<p><strong>Git.</strong>Сегодня это 100% must have. Ещё лет пять назад приходили разработчики, которые видели Git в первый раз, - и уже тогда такое незнание вызывало недоумение. Но сейчас Git уже прочно обосновался в списке обязательных инструментов для коммерческой разработки.</p>
36
<p><strong>Git.</strong>Сегодня это 100% must have. Ещё лет пять назад приходили разработчики, которые видели Git в первый раз, - и уже тогда такое незнание вызывало недоумение. Но сейчас Git уже прочно обосновался в списке обязательных инструментов для коммерческой разработки.</p>
37
Кадр: клип Hotline Bling / Drake<p><strong>Основы Computer Science.</strong>Для разработчика на "плюсах" опасно не знать в общих чертах, как спроектирован компьютер. Часто приходится работать с памятью напрямую: и чем меньше понимаешь логику центрального процессора, ОЗУ и других железяк, тем больше шансов зафакапить проект. Помимо этого пригодятся структуры данных, алгоритмы и, в зависимости от направления, прикладная математика.</p>
37
Кадр: клип Hotline Bling / Drake<p><strong>Основы Computer Science.</strong>Для разработчика на "плюсах" опасно не знать в общих чертах, как спроектирован компьютер. Часто приходится работать с памятью напрямую: и чем меньше понимаешь логику центрального процессора, ОЗУ и других железяк, тем больше шансов зафакапить проект. Помимо этого пригодятся структуры данных, алгоритмы и, в зависимости от направления, прикладная математика.</p>
38
<p><strong>Нюансы работы с памятью.</strong>Программа может работать быстро, но есть ещё память, которая аллоцируется, вызовы операционной системы - всё это нужно учитывать. Ведь если будешь постоянно звать аллокации, потратишь много памяти, хотя всё будет работать супербыстро.</p>
38
<p><strong>Нюансы работы с памятью.</strong>Программа может работать быстро, но есть ещё память, которая аллоцируется, вызовы операционной системы - всё это нужно учитывать. Ведь если будешь постоянно звать аллокации, потратишь много памяти, хотя всё будет работать супербыстро.</p>
39
<p><strong>Toolkit.</strong>Полезно знать особенности IDE, фреймворков и утилит. Например, JavaScript-программисту полезно знать, как устроен V8 или другой движок, разбираться в окружении - тех же Chrome DevTools.</p>
39
<p><strong>Toolkit.</strong>Полезно знать особенности IDE, фреймворков и утилит. Например, JavaScript-программисту полезно знать, как устроен V8 или другой движок, разбираться в окружении - тех же Chrome DevTools.</p>
40
<p><strong>Английский язык.</strong>Без него можно жить - я даже знаю программистов, которые просто закидывают документы в переводчик и читают. Когда я учился и только начинал работать, мой английский был на уровне школьной четвёрки. А когда по работе понадобилось более глубокое знание английского, нашёл преподавателя и освоил язык. Жить сразу стало легче - хотя бы потому, что теперь я мог спокойно смотреть главные зарубежные конференции (там очень интересные доклады).</p>
40
<p><strong>Английский язык.</strong>Без него можно жить - я даже знаю программистов, которые просто закидывают документы в переводчик и читают. Когда я учился и только начинал работать, мой английский был на уровне школьной четвёрки. А когда по работе понадобилось более глубокое знание английского, нашёл преподавателя и освоил язык. Жить сразу стало легче - хотя бы потому, что теперь я мог спокойно смотреть главные зарубежные конференции (там очень интересные доклады).</p>
41
<p>Можно многому научиться по видеоурокам и книгам. Правда, с книгами у меня сложные отношения. Я категорически не люблю техническую литературу, хотя изредка приходится её читать. Для себя я вывел простой принцип: не читается - просто не читай. И всё же посоветую нескольких отличных авторов.</p>
41
<p>Можно многому научиться по видеоурокам и книгам. Правда, с книгами у меня сложные отношения. Я категорически не люблю техническую литературу, хотя изредка приходится её читать. Для себя я вывел простой принцип: не читается - просто не читай. И всё же посоветую нескольких отличных авторов.</p>
42
<p>Мне нравятся книги Скотта Майерса - например, "<a>Эффективное использование C++</a>" и "<a>Наиболее эффективное использование С++</a>". Ещё советую выступления Николаи Джосаттиса - слушал их с открытым ртом. Уверен, что и <a>книги у него не менее интересные</a>. Ещё есть большая книга по C++ на GitHub, которую пишут несколько авторов, а редактирует Бьёрн Страуструп, - "<a>Как правильно использовать С++</a>".</p>
42
<p>Мне нравятся книги Скотта Майерса - например, "<a>Эффективное использование C++</a>" и "<a>Наиболее эффективное использование С++</a>". Ещё советую выступления Николаи Джосаттиса - слушал их с открытым ртом. Уверен, что и <a>книги у него не менее интересные</a>. Ещё есть большая книга по C++ на GitHub, которую пишут несколько авторов, а редактирует Бьёрн Страуструп, - "<a>Как правильно использовать С++</a>".</p>
43
<p>Кто-то говорит, что нужно начинать кодить с "плюсов", потому что это серьёзный язык, а значит, в будущем вы сможете писать меньше говнокода (но это не точно). А кто-то советует начать с языков попроще - вроде Python.</p>
43
<p>Кто-то говорит, что нужно начинать кодить с "плюсов", потому что это серьёзный язык, а значит, в будущем вы сможете писать меньше говнокода (но это не точно). А кто-то советует начать с языков попроще - вроде Python.</p>
44
<p>Я же считаю, что начинать надо с того, что тебе нравится и подходит. Если задачу лучше решить на C++, пиши на "плюсах". Хочешь запрограммировать велосипед (или самокат), горишь этим и знаешь, какие инструменты нужны, - изучай прямо сейчас и программируй. Потом можно пойти дальше: освоить Qt или библиотеки для работы с железом. Или уйти в другой язык - Python, Java, Rust. Правил и проторённых дорожек тут нет.</p>
44
<p>Я же считаю, что начинать надо с того, что тебе нравится и подходит. Если задачу лучше решить на C++, пиши на "плюсах". Хочешь запрограммировать велосипед (или самокат), горишь этим и знаешь, какие инструменты нужны, - изучай прямо сейчас и программируй. Потом можно пойти дальше: освоить Qt или библиотеки для работы с железом. Или уйти в другой язык - Python, Java, Rust. Правил и проторённых дорожек тут нет.</p>
45
<p>Я бы сравнил язык программирования с музыкальным инструментом. Если не нравится, как он лежит в руке или звучит, - хорошо не сыграешь. Если устаёшь от указателей и утечек памяти, вряд ли станешь хорошим разработчиком. А бывает, взял Python или JavaScript и сразу всё получилось. Видишь результат и наслаждаешься: ты теперь творец.</p>
45
<p>Я бы сравнил язык программирования с музыкальным инструментом. Если не нравится, как он лежит в руке или звучит, - хорошо не сыграешь. Если устаёшь от указателей и утечек памяти, вряд ли станешь хорошим разработчиком. А бывает, взял Python или JavaScript и сразу всё получилось. Видишь результат и наслаждаешься: ты теперь творец.</p>
46
<p>А вот насколько трудно изучать С++ как первый язык, я сказать не могу - потому что у меня на старте не было выбора и учить пришлось именно его. Однако высоким порог вхождения в IT через "плюсы" я бы не назвал. Всё стандартно: открыл IDE и пишешь, читаешь файлики.</p>
46
<p>А вот насколько трудно изучать С++ как первый язык, я сказать не могу - потому что у меня на старте не было выбора и учить пришлось именно его. Однако высоким порог вхождения в IT через "плюсы" я бы не назвал. Всё стандартно: открыл IDE и пишешь, читаешь файлики.</p>
47
<p>Если с детства вы ничего слаще морковки не ели, то "плюсы" для вас - нормальный язык. А если раньше писали только на Python, то наверняка поначалу будет неудобно. С другой стороны, когда увлечённо изучаешь новую технологию, все эти барьеры просто не замечаешь - пробиваешь стену лбом, даже не подозревая о её существовании.</p>
47
<p>Если с детства вы ничего слаще морковки не ели, то "плюсы" для вас - нормальный язык. А если раньше писали только на Python, то наверняка поначалу будет неудобно. С другой стороны, когда увлечённо изучаешь новую технологию, все эти барьеры просто не замечаешь - пробиваешь стену лбом, даже не подозревая о её существовании.</p>
48
Кадр: фильм "Волшебная страна"<p>В чём я точно уверен - так это в том, что после C++ легче браться за другие высокоуровневые языки. Недавно, например, по работе я читал код на Rust и довольно быстро разобрался в программе, хотя и удивился некоторым нюансам. Вообще, постоянно изучать другие языки программирования полезно для общего кругозора - чтобы знать альтернативные способы решения разных задач.</p>
48
Кадр: фильм "Волшебная страна"<p>В чём я точно уверен - так это в том, что после C++ легче браться за другие высокоуровневые языки. Недавно, например, по работе я читал код на Rust и довольно быстро разобрался в программе, хотя и удивился некоторым нюансам. Вообще, постоянно изучать другие языки программирования полезно для общего кругозора - чтобы знать альтернативные способы решения разных задач.</p>
49
<p>И напоследок небольшая исповедь. Я не суперпрофессионал в С++. Просто работаю и стараюсь делать аккуратно, но это не значит, что я никогда не стрелял себе в ногу.</p>
49
<p>И напоследок небольшая исповедь. Я не суперпрофессионал в С++. Просто работаю и стараюсь делать аккуратно, но это не значит, что я никогда не стрелял себе в ногу.</p>
50
<p>Если хотите учить С++, учите и не бойтесь, что будете знать его хуже других программистов. Понимать и помнить все тонкости языка довольно сложно. Это тяжёлая работа, которая требует постоянного напряжения: нужно ходить по собеседованиям, держать в голове большой объём информации и уметь вовремя её вытащить.</p>
50
<p>Если хотите учить С++, учите и не бойтесь, что будете знать его хуже других программистов. Понимать и помнить все тонкости языка довольно сложно. Это тяжёлая работа, которая требует постоянного напряжения: нужно ходить по собеседованиям, держать в голове большой объём информации и уметь вовремя её вытащить.</p>
51
<p>Собеседований тоже не нужно бояться. Воспринимайте их как череду походов, на которых понемногу вспоминаете всё о С++ и узнаёте, что нужно подтянуть. Не знаю, как в других языках, но на собеседованиях по С++ можно полтора часа говорить только о языке и ни о чём другом. И если уж в C++ вы разберётесь, то и в остальном проблем не будет. Такая вот мотивационная речь.</p>
51
<p>Собеседований тоже не нужно бояться. Воспринимайте их как череду походов, на которых понемногу вспоминаете всё о С++ и узнаёте, что нужно подтянуть. Не знаю, как в других языках, но на собеседованиях по С++ можно полтора часа говорить только о языке и ни о чём другом. И если уж в C++ вы разберётесь, то и в остальном проблем не будет. Такая вот мотивационная речь.</p>
52
<p>Можно окончить университет, но так и не узнать, что такое коммерческая разработка. Поэтому лучше записаться на курс "<a>Профессия Разработчик на С++</a>" в Skillbox и учиться у тимлидов и сеньоров из крупных компаний.</p>
52
<p>Можно окончить университет, но так и не узнать, что такое коммерческая разработка. Поэтому лучше записаться на курс "<a>Профессия Разработчик на С++</a>" в Skillbox и учиться у тимлидов и сеньоров из крупных компаний.</p>
53
<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
53
<a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>