Карьера в IT. Как найти работу, прокачать навыки и стать крутым разработчиком
Шрифт:
Да, это сложно. Да, сначала все будет непонятно и некомфортно. Но советую привыкнуть к этому ощущению.
Я предлагаю вам взять любое популярное приложение с открытым кодом и изучить его. Для поиска объекта исследования воспользуйтесь сайтом GitHub. Отдельно рекомендую вам научиться скачивать код, собирать и запускать его самостоятельно. Будет очень круто, если в это время с вами сможет побыть опытный программист и помочь вам в наиболее трудных моментах! Но если таких знакомых у вас нет – ничего страшного.
Одинаково важно изучить листинг и для ознакомления с синтаксисом языка, и чтобы увидеть,
Вы совершенно точно будете ощущать дискомфорт. Скорее всего, вы даже почувствуете, что не понимаете ровным счетом ничего.
Как я уже говорил – это нормально. Если вы сможете понять хотя бы пару строчек, это будет очень круто. А если вам удастся изменить пару параметров так, что код запустится, а в приложении что-то изменится, то вы – огромный молодец!
Изучая программирование подобным способом, вы сможете понять, как выглядит структура хороших приложений. Представьте себя археологом, изучающим письменность древних цивилизаций. Благодаря этому методу вы окажетесь на несколько шагов впереди других начинающих программистов. Потому что в отличие от них, вы будете знать, как выглядит тот язык, на котором вы учитесь писать.
Перед путешествием всегда полезно изучить местность. В программировании дела обстоят точно так же.
Просмотрите пару качественных материалов по теме
Продолжая тему изучения местности, в качестве следующего шага я рекомендую вам пробежаться по тексту пары книг глазами, – именно пробежаться, а не читать их от корки до корки.
Суть данного этапа заключается в том, чтобы понять, какие в изучаемой области имеются основные темы и понятия. Затраченные вами усилия обязательно окупятся, когда вы почувствуете, что поняли, какие вещи вы будете изучать и как они соотносятся друг с другом.
Программка Hello World
На этом шаге вы тоже не будете читать книги или осваивать какую-то учебную программу. Вскоре вы этим займетесь – но только если захотите. (На самом деле выучить язык программирования можно и без книг, если следовать действиям, описанным в этой главе. Например, я буквально за пару недель сумел изучить языки Go и Dart, пользуясь лишь онлайн-документацией и следуя процессу, аналогичному тому, что мы здесь обсуждаем.)
Итак, сейчас ваша задача – создать самую простую программу, какую только можно написать на изучаемом вами языке. Помните, в главе «Как развить технические навыки?» я говорил об уровне, достаточном для старта обучения? Это и есть ваша текущая цель.
Чтобы почувствовать уверенность в своих силах и получить практические знания, вы должны начать программировать.
Поэтому мы начнем с программы Hello World. Большинство книг по программированию начинается именно с нее. Все, что она делает, – выводит на экран надпись Hello World. На данном этапе от вас практически не требуется разбираться в языке. Вам просто нужно ознакомиться с базовой цепочкой инструментов, необходимых для создания и запуска программы на выбранном языке программирования.
В учебнике,
посвященном вашему языку программирования, наверняка есть текст этой программы. Если это не так, сделайте в Google запрос «Hello World + твой язык программирования». В Google есть все. В процессе создания программы Hello World вы поймете, как выглядит базовая структура программ на этом языке программирования.Изучите базовые конструкции и попрактикуйтесь на реальных задачах
Ура! Вы добрались до этапа, когда можете открыть книжку или приступить к прохождению учебного курса! Сейчас вам будет определенно легче воспринимать материал, чем если бы вы сразу погрузились в него.
Ознакомьтесь с основными конструкциями языка, а затем попробуйте создать с их помощью несколько программ. Подумайте, какие реальные задачи мог бы решать ваш код, чтобы вы могли как можно лучше закрепить навык. Далее приведен список основных базовых конструкций любого языка программирования.
• Возможность вывода на экран.
• Базовые математические действия.
• Хранение информации в виде переменной.
• Организация кода с помощью функций, методов или модулей.
• Вызов функции или метода.
• Булева алгебра.
• Операторы if/else.
• Циклы.
Хорошая новость: если все перечисленное вам уже знакомо, считайте, что вы уже умеете базово программировать на любом языке. Да, в каждом случае синтаксис будет отличаться, но суть останется прежней. Данный этап займет больше времени, чем предыдущий. Изучите каждую из упомянутых конструкций, а затем поработайте с ней на практике.
В случае, если вы учите язык самостоятельно, постарайтесь понять, какие конструкции имеются в языке и в каком порядке их следует изучать. Если вы работаете по книге (а лучше нескольким), в ней должен быть прочерчен путь обучения, а также должны приводиться примеры и задачки различной сложности. Старайтесь всегда понимать, для чего вы учите ту или иную тему и где можно использовать полученные знания.
Завершив этот этап, вернитесь к программе, исходный код которой вы изучали в самом начале, и оцените, насколько понятнее она теперь для вас выглядит.
Усвойте разницу между функциями языка и библиотеками
Есть одна вещь, которая часто сбивает с толку начинающих программистов (особенно учитывая уровень развития нынешних языков программирования) – знание того, что является частью языка, а что – частью стандартных библиотек, которые поставляются вместе с языком. Во многих случаях эта разница будет практически незаметна, поскольку вы очень часто станете использовать библиотечные функции.
Однако, как я уже сказал, знать, где находится грань между библиотекой и самим языком, необходимо.
Вы можете считать меня формалистом, однако именно эта придирка поможет вам расставить по полочкам всю ту мешанину, которая наверняка осталась у вас в голове после всех предыдущих этапов. Разобравшись в этой теме, вы будете знать, что на самом деле большинство языков программирования куда проще и меньше, чем библиотеки. Подчеркну, что изучение библиотек более сложное дело, чем изучение языка программирования.