Проблема

Мысль «Как перейти от руководств по программированию к созданию приложений?» является чрезвычайно распространенным явлением и свидетельствует о том, что кто-то застрял в обучающем аду. Туториальный ад — это когда кто-то делает туториалы один за другим, и когда они, наконец, хотят что-то самостоятельно построить, они все еще понятия не имеют, с чего начать и что делать.

Мы все были там, и если вы учитесь кодировать в первый раз, это обычное дело.

Решение

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

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

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

2 причины против большого количества туториалов:

  • Через неделю вы вряд ли что-то вспомните. Часто я заканчивал просмотр 6-часового урока и все еще не знал, как построить то, что построил инструктор, не пересматривая видео. Проходит неделя, эти 6 часов можно было бы лучше потратить на сон, так как я уже все забыл. Я считаю, что это верно, даже если вы выходите за рамки простого копирования кода инструктора построчно, меняя/добавляя функции по пути.
  • Вы подражаете стилю кодирования и предубеждениям инструктора вместо того, чтобы развивать свой собственный. Методы, шаблоны и выбор методов, библиотек, фреймворков и т. д., которые вы видели, могут лучше всего работать для них в контексте этого конкретного руководства, но они могут быть не лучшими для вас в проекте, над которым вы хотите работать позже.

2 причины для решения проблем без учебника:

  • Учит самостоятельно учиться только тому, что необходимо. Вспомните, как вы вбивали себе в голову учебник для школьного экзамена только для того, чтобы экзамен проверял 1% того, что вы выучили, а вскоре вы забыли 100%. Нет больше этого!
  • Любой разработчик скажет вам, что он научился значительно большему, решая интересующие его проблемы, чем пройдя десятки часов курсов (и они получили гораздо больше удовольствия и чувства достижения).

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

1. Изучите основы

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

  • Настройка среды программирования/разработки и редактора кода.
  • Типы данных (например, int, string)
  • Переменные
  • Ключевые слова (например, const, new, break)
  • Логические и арифметические операторы (И, ИЛИ, НЕ, +,-, *, %)
  • Если еще условия
  • Петли
  • Функции
  • Входные и выходные операции.
  • Для объектно-ориентированных языков учить классы было бы полезно, но не обязательно.

2. Решайте небольшие общие проблемы, чтобы испачкать руки

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

Общий список вопросов:

Подходит для начинающих:

Сложнее:

Играть в игры (одиночные и многопользовательские), решая задачи:

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

  • Попробуйте решить ее сначала самостоятельно.
  • Если вы не можете, просмотрите следующие способы, которые помогут решить проблему (я обычно ищу в этом порядке); Google, Stack Overflow, официальная документация, YouTube, спросить друга/коллегу и т. д. Первые несколько страниц результатов, которые появляются после поиска в Google «Как…», «Почему…», скорее всего, поможет вам найти ответ.

  • Если вы получили сообщение об ошибке, прочитав сообщения об ошибках в редакторе кода сверху вниз, вы узнаете, что не так (например, отсутствует точка с запятой в строке 42). Эти сообщения об ошибках называются трассировкой стека.
  • Если вы не можете исправить ошибку, просто прочитав трассировку стека, попробуйте скопировать и вставить верхнее сообщение об ошибке в Google, чтобы найти исправление или подсказки по исправлению.

3. Обсудите практические проблемы, которые нужно решить

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

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

  1. Мне нужно развлекать молодых членов семьи, я мог бы сделать это, создав текстовую игру выбери свое собственное приключение.
  2. Я изо всех сил пытаюсь преобразовать кулинарные измерения (например, унции в столовые ложки), я мог бы построить преобразователь кулинарных измерений.
  3. У меня проблемы с запоминанием важных дат, таких как дни рождения, я мог бы написать программу, которая отправляет мне электронное письмо утром в день важной даты. Программа может выполняться ежедневно с использованием автоматического планировщика (например, планировщика задач Windows, заданий cron Linux и т. д.), который будет отправлять электронное письмо только в том случае, если сегодняшняя дата является определенной датой.

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

Соображения для вашей идеи:

  • Начните свой список с того, что вы считаете самым простым, а затем постепенно увеличивайте сложность.
  • Идея может заключаться в том, чтобы просто воспроизвести существующее решение и, при желании, добавить небольшую настройку или новую функцию (например, создать приложение-калькулятор с дополнительными специализированными функциями).
  • Цель должна заключаться в том, чтобы выбросить много мозгов, а об осуществимости побеспокоиться позже, когда вы начнете работать со списком.
  • Не ограничивайте свои идеи теми, у кого терминальный интерфейс, будьте смелыми и пишите то, что вы хотите сделать. Если для этого требуется надлежащий интерфейс/графический интерфейс пользователя, база данных и/или решение для веб-хостинга, которым можно поделиться с другими, запишите его.
  • Даже если для этого требуются специальные знания в области машинного обучения (например, приложение для музыкальных рекомендаций), глубокого обучения (например, приложение для распознавания лиц) и блокчейна (например, приложение для совместного использования P2P), запишите это. Когда вы доберетесь до него, вы сможете узнать, что вам нужно для его создания.
  • Все эксперты в предметной области начинали на вашей нынешней должности со значительно меньшим количеством общедоступной документации, инструментов и примеров кода, которые помогут им учиться. Если они это сделали, у вас нет оправдания даже не пытаться.
  • Более сложные идеи должны соответствовать вашим долгосрочным целям кодирования (например, веб-сайт, чтобы стать веб-разработчиком, приложение для музыкальных рекомендаций, чтобы стать разработчиком ИИ и т. д.).

4. Защитите себя с помощью Git

Git — самая популярная и эффективная система контроля версий (VCS) с открытым исходным кодом, доступная в настоящее время.

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

Настройте git внутри ВСЕХ каталогов вашего проекта ДО начала кодирования, чтобы избежать потери времени и боли, когда (а не если) обнаруживаются ошибки. Не рискуйте (серьезно). Используйте git.

5. Начните программировать

Для первой идеи в вашем списке:

  • Настройте среду разработки.
  • Откройте редактор кода.
  • Создайте папку проекта.
  • Настройте git внутри.
  • Составьте примерный план того, как вы будете писать программу.
  • Код прочь!
  • При возникновении ошибок воспользуйтесь следующими способами устранения неполадок: Google, Stack Overflow, официальная документация, YouTube, спросите коллегу/друга и т. д.

Выводы

Есть бесконечное количество проблем, которые вы можете решить с помощью кода, даже если вы знаете только основы.

Так как же перейти от руководств по программированию к созданию приложений? Это просто вопрос:

  1. Изучение основ
  2. Решение крошечных общих проблем, чтобы испачкать руки
  3. Мозговой штурм практических задач для решения.
  4. Защитите себя с помощью Git.
  5. Начало!

Для справки, я не против когда-либо проводить обучающие программы/курсы. Я считаю, что это последнее средство, если вы все еще не знаете, что делать ПОСЛЕ выполнения всех вышеперечисленных 5 шагов.

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

Исходный пост, опубликованный на сайте anxiouswebdev.com 13 сентября 2020 г.