Как изучить программирование с нуля


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


И так, вы встали на путь обучения, что вам нужно?


Время

Если у вас совсем нет знаний в программировании и вы дейтвительно решили связать свою жизнь с данной профессией необходимо понять, то, что для того чтобы стать действительно грамотным программистом вам понадобится на это не один год обучения и практики, в любом направлении программирования

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


Язык программирования

Выбор языка зависит от направления в котором вы собираетесь развиваться, на данный момент (декабрь 2018) существуют такие сферы (для понятности упростил)

  • Разработка сайтов
  • Разработка нативных программ (программы для компьютеров)
  • Разработка мобильных приложений
  • Разработка игр
  • Разработка VR (виртуальная реальность)
  • Программирование роботов

Если вы никогда не изучали программирование, выбор языка для вас не будет особо критичен, все языки похожи и выучив любой из них вы сможете потом с легкостью освоить другой, все будет почти одинаковым, только разный синтаксис, как если бы русские слова, мы вдруг начали-бы писать латинскими буквами, в начале не удобно но ведь понятно)

Сразу определится с выбором направления может быть не реально, только продвинувшить в программировании и поняв специфику каждой сферы уже можно будет окончательно определиться

Сложность здесь заключается в том, что вообще не разбираясь в программировании, нет возможности сразу понять какая сфера вам будет приносить удовольствие


И так, для начала советую изучить Python или C#


Почему? Я считаю что это наиболее универсальные языки

На Python можно писать нативные программы, сайты и даже можете создавать торговых роботов для биржи

На C# вы можете писать программы под windows, игры (на Unity) и мобильные приложения


Не учите pascal, он только отобьет у вас тягу к программированию. И не слушайте байки про то что он обязателен как первый язык. Я знаю pascal, но я изучил его далеко не первым языком, и он мне ни разу не пригодился

Курсы

Никакие курсы вам не нужны, пустая трата денег, всю информацию вы можете найти в интернетe, просто напишите в google, к примеру "Основы Python"


Обучение

Здесь как и в большинсве навыков важна регулярность, ежедневно уделяйте минимум 2 часа изучению и практике программирования


Практика

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

Я лично, когда изучал JavaScript пытался написать свою библиотеку, в итоге у меня получилось около 70 функций различного назначения, и несколько самописных плагинов)

Я и сейчас пишу небольшие функции, куски кода, большую часть моих творений можете найти здесь: AnatoliyAkhmatov gists


Опыт

Настоящее мастерство приходит во время совершенствования себя при работе над коммерческими проектами, потому, как только вы сможете делать программный продукт вменяемого качества, переходите на фриланс, коммерческие проекты


Начинайте с небольших проектов, где цена ошибки гораздо меньше, так безопаснее, чем если бы вы за горы золота пообещали сделать второй facebook

Английский

Must-have любого программиста, объясняю, во первых языки программирования используют английский лексикон, во вторых, развитие программирования идет в большей части не на русском языке(да ну), и поэтому русской документации к плагинам / модулям / программам и тд вы не найдете, да и сообщество программистов в рунете гораздо скуднее чем на западе


Для самого базового понимания рекомендую серию роликов Английский за 16 часов (найдете на Youtube). Я как и большинство думал что английский это сложно, пока в свое время, не нашел вот этот короткий курс)




Вместо эпилога

Программирование волшебная и интересная область, если вы никак не можете найти женскую логику, или все вам кажется не логичным и вам не достает четкости и понятности, вам сюда

Программирование царство строгих стандартов, забыл ; - ошибка, поставил лишнюю . - ошибка. Также это очень интересно, творчески, когда 1 задачу можно решить многими способами но вы создаете свой, который работает лучше всех(чсв)

Надеюсь я подтолкнул кого-то увеличить популяцию грамотных программистов. Увидимся!