А также почему я с этим не согласен и многих отправляю изучать другие языки.
Кстати, недавно написал новую статью об этом, там через метафоры про суть спора.
Почему считается, что обязательно нужно изучать C++?
Смотрите, программирование очень большая область и разная. Очень много существует того, что можно программировать. И C++ хорош тем, что он охватывает сразу несколько разных направлений.
Есть вот направление программирования всяких железок, каких-нибудь маленьких устройств. Часто человек, который таким занимается, очень хорошо знает электронику, физику, математику, может кучу устройств сам собрать, спаять, а потом и запрограммировать. Это человек который с паяльником засыпает.
Есть направления противоположные, наоборот, далёкие от железок, во многих из которых используется объектно-ориентированный подход. Это что-то более абстрактное, в чём-то философское. Тут не нужно программировать под конкретное устройство, которое лежит перед тобой — тебе даётся платформа, которую создали другие программисты, и ты пишешь код сразу для кучи разных устройств. Но программа будет, благодаря труду создавших платформу программистов, работать на них всех одинаково.
Кроме вот этих двух условных направлений, есть множество направлений между, внутри них, в стороне. С++ это супер-мега комбайн, в который запихали все эти парадигмы. Ты можешь программировать и очень близко к железу, прописывая, вплоть до того, как куда подаётся напряжение, а можешь программировать через объекты и классы поведение штуки, о которой и не знаешь толком-то ничего.
И дело не только в том, что C++ много всего может — а в том, что многое из этого придётся изучить. Многие вещи нельзя будет отложить на потом, программы писать без этого не получится. Благодаря этому новичок наработает большой кругозор, научится множеству подходов.
Программист, который рекомендует изучать C++, считает, что это полезно — сначала всё изучить. А потом уже дальше думать, в каком направлении двигаться, и если надо — изучить другие языки.
Почему я не согласен
Потому же, почему, например, писатель не обязан изучить все литературные направления, какие существовали до него. Или почему современный архитектор не обязан уметь чертить чертежи всего подряд с помощью тех инструментов, какими это делали в 50х годах.
Программирование очень большое, всё изучить невозможно. Да, есть база, необходимая для всех, но она поменялась за прошедшие несколько десятилетий. Многие вещи, которые раньше должен был знать даже начинающий, теперь не обязательно знать и среднему. Можно, конечно, изучить все парадигмы программирования, а потом всю математическую, физическую и философскую основу программирования, но тогда, боюсь, и жизни не хватит.
Кому-то может не хватить сил, образования на то, чтобы освоить такого монстра, как C++. Более современные языки часто более удобны и понятны. В том числе потому, что у них более узкая специализация.
Лучше идти от практики. Вы хотите программировать сайты? Тогда учитесь программировать сайты. Делать игры? Делайте игры. Хотите изобратать мегагаджеты? Создавайте гаджеты. И на каждом этапе изучайте только то, что нужно для понимания практики, плюс небольшую область вокруг, чтобы был небольшой запас. Максимум соотношения ваших знаний
«точно нужно знать и уметь» к «связано с этим» — 2 к 1. Можете изучить и больше дополнительных материалов, если вам интересно, но это уже только по желанию.
А какой язык тогда учить
А какой используется в той области, на которую нацелились? Для программирования сайтов точно нужен JavaScript, например. Вот тот язык, какой нужен, тот и учите. Бывает, что есть несколько вариантов — игры делают в основном на C# и на C++ и ещё на нескольких языках, например. Для программирования сервера можно использовать PHP, а можно JavaScript или Python. Тут выбирайте под себя — то, что полегче, или то, что более востребовано, или то, что наиболее прогрессивно и модно. И да, вы можете понять, что ошиблись. Но это и не страшно. Программирование и информационные технологии в принципе штука такая. Постоянно ошибаешься, ничего не понимаешь, разбираешь, в чём был не прав, пересматриваешь свои решения.
И если окажется, что вам нужен именно C++ — что ж, значит, изучайте его. А если Java, JavaScript, Python — то нестрашно будет начать с них.
В некоторых случаях нужный язык изучить первым оказывается тяжело. Тогда начните с Python, он прост и по нему много материалов. Когда разберётесь с ним, возвращайтесь к тому языку, который нужен.
Подытожим
Да, изучить C++ это очень полезно, но очень затратно и вовсе не обязательно. Некоторые не смогут осилить его первым языком, многим он никогда не понадобится. Большинству лучше выбирать языки и платформы программирования под поставленные цели. Для чего человеку нужно программирование, то пусть и определяет, какой язык изучать.
Понравилась статья? Подписывайтесь, ставьте лайк, присылайте донаты и т.д.
Ссылочки на меня:
https://zen.yandex.ru/id/vrom1990
https://t.me/vrom1990pb
https://pikabu.ru/@vrom1990
https://archive.org/details/python-tupyh
https://vk.com/vrom1990pb
https://www.youtube.com/c/ВячеславРоманьков
ДЛЯ ДОНАТОВ
https://yoomoney.ru/to/410012316866358 https://donate.stream/ya410012316866358
или на карту 5599 0020 1940 9582