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

Мой первый набег в мир программирования произошел, когда я пошел на вводный курс по Java. Теперь, если вы новичок в программировании, Java может стать настоящим чудовищем. Самым первым кодом Java, который я увидел, был, конечно же, классический «Hello World!» приложение, которое в то время выглядело очень странно и тревожно:

Единственное, что я мог понять, это несколько вещей: 1) HelloWorldApp; это, вероятно, означает название приложения! 2) Окружающие его фигурные скобки, вероятно, означают, что код заключен внутри него. 3) System.out.println («Hello Word!»), Вероятно, что-то означает, что-то о выводе этого текста на экран, верно ?!

На самом деле в этих нескольких строках кода происходит довольно много всего, что считается основополагающим, но в то время они не были достаточно простыми для нас, абсолютных новичков. Наш профессор просто сказал нам игнорировать эти две строчки и пока просто выучить их наизусть. Конечно, мне это было интересно, и я обратился за некоторыми ответами к моему лучшему другу Google. http://www.learnjavaonline.org/, чтобы смоделировать мое замешательство.

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

Сравните это с Ruby или Python слева, и это огромная разница. Это очень интуитивно понятно, и вы можете начать сосредотачиваться на логике, а не увязнуть в синтаксисе.

Мой первый пункт:

«По моему скромному мнению, лучше начинать с языка более высокого уровня, такого как Ruby, Python или JavaScript и т. Д. Это позволяет вам сосредоточиться на логике и получить больше удовольствия от кодирования, а не ломать голову над синтаксис и будьте несчастны. "

Возвращаясь к развлечениям с Java, мы продвинулись вперед, изучив другие основные концепции, такие как циклы, условные выражения, массивы, не изучая переменных и лексических областей, изменчивости, пользовательских функций и т. Д. Мы сделали все внутри одной функции. Мы (или, по крайней мере, только я) объявили ту же функцию main в классе (Homeworkname) и поместили всю логику в эту одну функцию. Нас не учили искать в документации методы или свойства класса, равно как и не учили разделять логику на разные функции, чтобы лучше организовать наш код. Нас не учили упражнениям для каждой новой концепции, чтобы мы могли лучше ее понять. Вместо этого наш профессор решил, что было бы интереснее дать нам домашнее задание, которое позволяет нам «применять» новые концепции. Это был своего рода проекты, у которых был список требований, которые нам нужно было выполнить. Итак, мы с радостью продолжили домашнее задание, потому что профессор предоставил нам стартовый код, чтобы помочь нам. В стартовом коде в основном изложен подход, который мы должны использовать, когда половина кода готова, и нам просто нужно было заполнить недостающие части. Самым забавным в этом курсе было введение в объектно-ориентированное программирование (ООП) на Java. Это был буквально один слайд с 4 пунктами о том, почему ООП так важно. Единственное, что запомнилось, это инкапсуляция…

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

  1. Самообучение: самый дешевый способ с точки зрения денег, но может быть дорогостоящим по времени. Это может быть бесплатно, если вы погуглите все и попытаетесь самостоятельно пробиться через густые темные джунгли. Некоторым это удается, большинству - нет. Очень сложно понять, с чего начать, сколько времени потратить на концепцию, не зная того, чего вы не знаете. Вы можете застрять в этой пустоте на долгие годы. Я зациклился на этой идее примерно на год, потому что поначалу я был слишком дешевым.
  2. Подпишитесь на дешевый онлайн-курс. Есть несколько веб-сайтов, таких как Lynda, Udemy, CodingTreeHouse, где вы можете либо заплатить разовую плату за курс, либо заплатить дешевую ежемесячную плату (например, 30 долларов в месяц). Я попробовал Udemy и довольно быстро отказался от нескольких видео. Я чувствовал, что не получаю необходимой основы. Многие основные концепции были пропущены или замалчены, и инструктор больше беспокоился о том, чтобы показать нам яркие вещи. Я не могу поручиться за другие сайты, так как я пробовал только Udemy и только 2 курса на нем.
  3. Запишитесь в общественный колледж: некоторые из моих друзей делают это и платят немалые деньги. Я не могу ручаться за эффективность, так как я не пробовал этот путь. Может быть, попадание или промах в зависимости от школы. Я лично чувствую, что это будет аналогичный опыт, который я испытал при вводе в класс Java еще в университете. Меньше сосредотачивайтесь на изучении основ и больше на выполнении домашних заданий.
  4. Запишитесь в учебный лагерь: множество учебных лагерей по программированию появляются, как грибы, по всей стране. Мое общее впечатление - они обещают слишком много. Действительно сомнительно, чтобы студенты стали достойными разработчиками программного обеспечения за 3-6 месяцев, если только они не станут чертовски гениями. Большинство учебных лагерей сосредоточены на ярких фреймворках и создании клонов веб-сайтов, чтобы продемонстрировать «профессионализм». Совет: будьте осторожны с ярким маркетингом, который используют эти учебные лагеря. Меня самого чуть не втянуло, потому что я хотел верить, что этот переход будет быстрым и безболезненным. Кроме того, работодатели начинают понимать, что им не очень нравятся выпускники учебных курсов. По моему личному мнению, у них просто нет прочной основы для быстрого самостоятельного изучения других технологий. Конечно, в этом случае есть исключения.
  5. Запишитесь в онлайн-школу для серьезных учеников ~ Launch School: Все не так красиво, как кажется. На самом деле это довольно болезненный процесс (конечно, не такой болезненный, как 3 экзамена CFA :-P). Будьте готовы потратить 1-2 года (неполный рабочий день) только на прохождение основных курсов. Затем приготовьтесь потратить еще от 3 месяцев до года или больше на изучение расширенных фреймворков, веб-API и т. Д. Будьте готовы часами тренировать кучу упражнений, работать / чувствовать разочарование по проектам, проводить вечера пятницы и субботы дома, пока вы друзья не живут жизнью ... Если подумать, 2–3 года - не так уж и плохо, учитывая, что в колледже 4 года. Это также намного дешевле, и у вас будет неплохой шанс сделать карьеру программиста. Я бы хотел, чтобы я начал это первым или даже начал изучать информатику в колледже. Однако, если бы я не испытывал этой боли, у меня, возможно, не было бы мотивации даже для этого. Конечно, этот вариант подходит не всем. Если вы хотите что-то быстрое или просто балуетесь, первые 4 варианта могут быть лучшим выбором.

Ваше здоровье!

Заявление об отказе от ответственности:

  • Мнения и взгляды здесь основаны исключительно на личном мнении автора и не имеют никакого влияния со стороны третьих лиц.
  • Денежный кредит может быть применен к этой статье, если Launch School опубликует ее в своем сборнике статей
  • Присоединяйтесь к Launch School по этой ссылке: https://launchschool.com/join/039c4c52da , и мы с вами, бот, получим единовременный кредит в размере 50 долларов США на наше обучение!