Как стать автором
Обновить

Как я начал учить С++ (и другие языки программированию) в 10 лет

Уровень сложностиПростой

Сейчас мне 17 лет, но где-то с 10 лет я хотел научиться взламывать Пентагон. Да, я знаю, что это было детская мечта, но на то она и детская.

Начало

Из-за этого я попросил маму отправить меня на курсы по обучению работе с компьютерами и другим оборудованием. К моей радости, эти курсы иногда спасают меня даже спустя 7 или 8 лет. Всем рекомендую пройти их, а не просто гуглить: 'Что делать, если у меня завис компьютер?'. Примером могут служить курсы в школе ШАГ для детей (Да, даже если вы взрослый. Не думайте, что вы лучше детей, они пользуются компьютерами с самого детства, а вы всего 7 или 8 лет. Даже если вы профессиональный программист, но не знаете некоторых основ, другие могут на вас косо смотреть). Там дают не только основы, но и простые знания по 'железу' и другим аспектам, чтобы вы понимали, что делать в различных ситуациях, если что-то случится у начальника (а такое часто бывает). Но не засиживайтесь там слишком долго. После примерно одного или полутора лет, они могут вам больше ничего не дать и только пьют Ваши деньги.

Проблемы

Далее у меня по программе было обучение НАСТОЯЩЕМУ программированию. На тот момент мне было 12 лет, и спустя примерно 2 года обучения в ШАГе, я понял, что больше не получаю от них ничего нового. Поэтому я попросил маму найти для меня учителя по программированию. С учителем проработали вместе около года, но потом он отказался меня обучать.

"Почему?" — спросите вы. Ну, я был немного гиперактивным ребенком, поэтому мне было сложно оставаться на одном проекте, и я постоянно перескакивал с одного на другой. Не лучшая черта для программиста.

Так, стоп. Зачем я вам это рассказываю, если это вообще не по теме?

Как раз по теме! Я говорю это вам для того, чтобы после окончания курсов в ШАГе вы не бросались сразу учиться у опытного программиста, как у Мастера Угвея. Сначала вам нужно доработать основы. Этими основами являются знание английских терминов и простой математики.

Да, я знаю, что вы все понимаете, что нужно учить английский и математику. Но что именно? Здесь мне будет сложно дать точный ответ.

Вам не нужно знать весь английский язык досконально, но нужно владеть алфавитом, правилами чтения и письма, а также терминологией. Только эти 4 части. Особенно важно учить термины, буквально до того, как почувствуете кровь на зубах.

Математика. Да, знаю, многие известные программисты говорят, что её нет в программировании, и я с ними полностью согласен. Ровно до того момента, когда тебе нужно разобрать свой же код по полочкам (а это будет твоей задачей 80% времени). Например, что такое функция? Любой обычный, не ученый программист начнет запинаться при ответе, бормотать и придумывать на ходу. А ведь функция — это просто переменная величина, которая меняется в зависимости от изменений другой величины. Да, это звучит как 'int x = a;' — но это тоже функция, просто уже всем известная. Здесь x — зависимая переменная, а a — независимая переменная. (Ничего не напоминает!)

Кстати, именно из-за этой проблемы я рекомендую начинать изучать Java и другие языки программирования после 16 лет, потому что в этом возрасте эта информация легче усваивается. И да, я, в свои 12 лет, не знал эти термины. У меня просто мозг взрывался от всей этой новой информации. Это ещё одна из причин, почему меня выгнали.

Английский легко начать учить с помощью Duolingo, а также нанять репетитора по английскому языку хотя бы раз в неделю. Если хотите достичь высокого уровня (от С1), то занятия должны проходить минимум 4 раза в неделю в течение 2 лет.

Математику легче всего изучать, используя школьный учебник и прорешивая примерно 60% задач за 8, 9 и 10 классы. Знаю, это много. Сам прошел через это, но через пот, слезы, кровь и кипящие мозги вы получите хороший, нет, даже отличный результат, который часто будет выручать вас в сложных ситуациях в программировании.

Вы уже умеете пользоваться компьютером, знаете английский и математику. Но что дальше? А дальше, друзья мои, вас ждет большое, неказистое, странной формы дело.

Да. Назовем это делом. Очень странное дело, потому что вам потребуется вся ваша мощь, чтобы выбрать из более чем 120 языков программирования тот, который будет полезен именно ВАМ.

Почему он должен быть полезен? Давайте обратимся к психологии: 'Человеку нравится видеть результаты в реальной жизни'. Именно эта фраза заставила меня задуматься о том, что будет мотивировать меня работать усерднее, чем то, что дает мгновенные результаты.

И к радости всех простых людей и ненависти старых программистов, есть такой язык программирования. Некоторые программисты даже не считают его языком программирования вообще, но с моей простой, приземленной точки зрения, он подходит под описание языка программирования. Это HTML и CSS. Без JavaScript. Учим пока без него, а потом прикрепите к этой парочке JavaScript.

Они довольно простые, быстры в изучение (Всего меньше 10 минут надо, что написать первый простой сайт). На них много, нет, вы не поняли МНОГО и ОЧЕНЬ МНОГО гайдов для обучения. Лучше всех будет кончено же Гоша и W3Schools(Но она на английском).

В течении полгода вы сможете выучить эти языки. А дальше вам решать, куда дальше идти. Вам может понравится программирование, а может и не понравится. После этого, как в играх переходим на следующий уровень языка программирование.

Конец

Объектно-ориентированные языки - это JS, Java, C++, Python и другие. И если по сложности разложить эти уровни по уровням Сложности, то я бы разбил их так:

Простенький: Python, Kotlin(Он облегченная версия Java) ;

Средний: JavaScript, Java, Ruby, PHP, C#;

Сложный: C++, Swift, TypeScript, Rust (крабики расстроились :<);

Hardcore: C, Go, MySQL;

Просто убейте меня: Assembly, BrainFuck. (Они на одном уровне для современного программиста)

Рекомендую идти с верху вниз. Так и проще, и понятней.

После освоения начальных и средних уровней программирования, важно определиться, в каком направлении вы хотите развиваться дальше. Вот несколько возможных путей:

  1. Web-разработка: Если вам понравилось работать с HTML, CSS и JavaScript, логичным продолжением будет углубление в web-разработку. Вы можете изучить фреймворки, такие как React, Angular, или Vue.js, и научиться работать с серверной частью на Node.js или PHP. Это откроет для вас возможности создания полноценных веб-приложений.

  2. Мобильная разработка: Если вас интересуют мобильные приложения, изучение Swift (для iOS) или Kotlin (для Android) будет отличным шагом. Вы также можете изучить кроссплатформенные инструменты, такие как Flutter или React Native, чтобы создавать приложения для разных платформ одновременно.

  3. Data Science и машинное обучение: Если вам интересны данные и их анализ, изучение Python с его библиотеками для Data Science, такими как Pandas, NumPy и Scikit-learn, будет хорошим началом. Для машинного обучения вы также можете изучить TensorFlow и PyTorch.

  4. Игровая разработка: Если вам интересны игры, стоит попробовать изучить C# с использованием Unity или C++ для работы с Unreal Engine. Это потребует хороших знаний математики и физики, но откроет двери в мир создания игр.

  5. Кибербезопасность: Если вас привлекает защита информации, изучение основ кибербезопасности и работы с такими языками, как Python и C, может быть полезным. Знания в этой области помогут вам понять, как защищать системы от атак и уязвимостей.

  6. Разработка программного обеспечения: Если вы хотите работать над созданием приложений и программ, изучение более сложных языков, таких как C++ и Java, а также работа с системами контроля версий (например, Git), будут необходимы. Вы также можете изучить принципы объектно-ориентированного программирования и паттерны проектирования.

  7. Встроенные системы: Если вас интересуют низкоуровневые системы и работа с аппаратным обеспечением, изучение C и Assembler будет полезным. Это даст вам возможность разрабатывать программное обеспечение для микроконтроллеров и встроенных систем, которые используются в различных устройствах.

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.