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

Если вы вообще не имеете опыта работы с программным обеспечением или компьютерами и интересуетесь компьютерным программированием, то вам нужно научиться думать как программист (Есть бесплатные книги и курсы, которые помогут в этом. Простой поиск в Google сделал бы). Вы должны научиться анализировать проблемы и привыкать к сложности. Наслаждайтесь головоломками и выработайте привычку бросать вызов тому, что является основным поездом мысли или убеждений, которые вы повсюду встречаете. Причина, по которой я говорю это, заключается в том, что независимо от того, какой синтаксис или язык программирования вы выберете для овладения, вам все равно придется анализировать проблему в области, о которой вы понятия не имеете, и вас попросят ответить на их вопросы с помощью компьютера. технологии. Осмелюсь сказать, что нам платят за то, чтобы мы сначала подумали о проблеме, прежде чем нам платят за решение и решение любых проблем где-либо.

Если вы имеете некоторое представление о компьютерных технологиях и заинтересованы в изучении компьютерного программирования, то вот что я думаю: все языки программирования имеют очень похожую философию, поэтому циклы, условные операторы и структуры данных одинаковы в большинстве языков. Так что приобретайте материалы, не зависящие от языка, которые затрагивают эти темы, и учитесь на них. Если вас интересуют такие языки, как C#, Typescript, Javascript, Java, C++, Python или Php, вам обязательно нужно изучить принципы объектно-ориентированного программирования.

Есть две основные парадигмы программирования, которые вы видите: объектно-ориентированная и функциональная парадигмы. Некоторые языки находятся примерно посередине между этими двумя, такие как Javascript, Python и Kotlin, и это лишь некоторые из них. Но есть и другие, которые чрезвычайно объектно-ориентированы, например, Java, C++, C#, и чрезвычайно функциональны, например, Haskell, Scala. Вы должны выбрать парадигму для освоения. В большинстве случаев я бы указал людям на функциональность исключительно потому, что сейчас она используется в основном потоке больше, чем когда-либо прежде. Но мне лично нравится объектно-ориентированный подход, потому что я изучил программирование, изучая эту парадигму.

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

  1. Научитесь думать как ученый-компьютерщик. Информатика — это в основном наука о решении проблем.
  2. Выберите парадигму программирования, функциональную или объектно-ориентированную. По умолчанию используется недавно принятая функциональная парадигма, но вы не потеряетесь в море, если выберете объектно-ориентированный.
  3. Синтаксис языков программирования очень похож, поэтому не увязайте в изучении и освоении синтаксиса на ранних этапах. Сосредоточьтесь на вещах, выходящих за рамки языков, и овладейте такими… такими вещами, как структуры данных, алгоритмы и решение проблем.
  4. Оставайтесь голодными и будьте готовы читать, слушать, наблюдать и узнавать все, что сможете, когда сможете.
  5. Самое главное, поделитесь своими знаниями с кем-нибудь. Вы никогда по-настоящему не владеете знаниями, которыми не поделились.