[Хабр, посоветуй] Мой опыт за 12 месяцев изучения C++
Итак, прошел год с того момента, как я начал изучать плюсы. Хотелось бы поделиться с Хабром этим событием, и, возможно, получить какие-либо наставления или рекомендации от более опытных программистов.
Как я пришел к тому, что хочу стать программистом
Изначально я имел примерное представление о программировании. Около полугода писал скрипты на lua, затем, поняв, что данное занятие достаточно интересное и увлекательное (особенно в сравнении с химией, по которой на тот момент я писал олимпиады), твердо решил, что хочу стать программистом.
Программирование привлекло меня своим требованием к умению мыслить, находить выход из трудной и совершенно непонятной ситуации, а также переполняющим чувством радости и удовлетворения после того, как ты справился с задачей.
Выбор языка программирования
Передо мной встал сложный выбор (не очень): какой ЯП выбрать для изучения? Рассмотрев основные сферы использования каждого из языков программирования, многофункциональность плюсов, а также возможность написания на них крупных проектов пришлась мне по вкусу. Вторым весомым аргументом в пользу C++ для меня стала его сложность, как бы странно это не звучало, но, по моему мнению, разобравшись в устройстве плюсов, адаптироваться под любой другой язык будет проще.
Изучение
В течение года, я старался хотя бы час в день уделять изучению плюсов, используя для этого адаптированный перевод learncpp на ravesli, за это время я успел разобрать все уроки. Возможно, 9 -10 месяцев достаточно длительный промежуток для прохождения данного курса, однако моей целью было полное осмысление прочитанного, а не погоня за сроками и школа лицей, и другие занятия, как тренировки, создавали некоторые временные трудности.
Если говорить о C++, то сейчас самым сложным для себя я считаю шаблоны. С базовым использование шаблоном проблем у меня не возникает, написание какого-нибудь контейнерного класса в общем-то тоже идёт спокойно, конечно, бывают временные проблемы с реализацией чего-либо, но это все затем разрешается. А вот когда поставлена задача написать тот же аллокатор, которой будет хранить переменные разных типов, или tuple вот тут уже начинаются серьезные проблемы, но я думаю, что потратив еще какое-то время в чтении хабра\гугла или в просмотре лекций, я справлюсь и с этой задачей.
Дальнейшая программа
После прохождения данного курса, мой взгляд пал на лекции ФПМИ, которые проводит Мещерин Илья Семирович, очень приятный и умный преподаватель! Данные лекции использую в качестве источника уже более глубоких знаний о плюсах. Так же читаю хабр, стаковервольф, гугл, чтобы разобраться в некоторых темах. Например: сейчас изучаю аллокаторы, их внутренниим устройством и возможностью реализации своих собственных. И так как наступило лето, то я стараюсь активно практиковаться в написании различных Контейнеров, решении задач. В планах написать свои pool и stack аллокаторы, контейнер tuple, порешать алгоритмические задачи. Заказал себе книгу «Чистый Код», давно хочу ее почитать. Думаю разбирать UE5 или Qt5, или многопоточку (Прошу вашего совета!!!)
Три совета начинающим программистам
Не унывайте, если у вас что-то не получается.
Невозможно стать профессионалом за краткий срок, любой навык требует усилий и времени для своего освоения.
Практикуйтесь и учитесь на своих ошибках. Никуда не спешите, старайтесь вдуматься и понять материал (иначе вы закончите ещё не начав).
Что сейчас?
На данный момент меня больше всего тянет к таким сферам как: десктоп разработка, геймдев, автоматизация предприятий, безопасность.
Планирую поступать в вуз. От высшего образования я желаю получить крепкую базу по всем наукам, будь то математика, физика или информатика. Углубить свои знания в программировании, получив много полезной практики, расширить список языков, на которых можешь писать, возможно, найти тот самый. А также я считаю, что именно высшее учебное заведение формирует твой круг общения, даёт полезные знакомства, помогает с трудоустройством. Ещё очень круто, что многие высшие учебные заведения сейчас сотрудничают с топовыми IT компаниями, которые в свою очередь помогут сделать из тебя отличного специалиста!
Важный вопрос напоследок
Спасибо всем, кто прочитал. Буду крайне благодарен, если поможете мне скорректировать мой дальнейший план действий и дадите свои рекомендации. И напоследок, какой ВУЗ для IT лучше выбрать, думаю насчет СПБГУ, МГТУ им Баумана, ИТМО, ЛЭТИ, РТУ МИРЭА, МИФИ. Заранее благодарю за фидбек, всем хорошего дня!