Рубрики
Без рубрики

Как научиться кодированию: От теории к практике

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

Автор оригинала: John Selawsky.

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

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

Лучшие рекомендации о том, как научиться кодированию

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

Давайте сразу перейдем к делу.

Начните с мозгового штурма

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

Какие есть причины стать разработчиком?

  • Собираюсь ли я учиться просто ради удовольствия?
  • Хочу ли я получить повышение или сменить карьеру?
  • Есть ли у меня идея для моего собственного приложения и нужны ли для этого соответствующие навыки?

Каким разработчиком программного обеспечения я хочу стать?

  • Планирую ли я работать в компании?
  • Хочу ли я работать индивидуально?
  • Является ли фриланс лучшим вариантом для меня?

Какие отрасли меня интересуют?

  • Веб-разработка?
  • Серверные проекты?
  • Разработка игр?
  • Большие данные или другие?

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

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

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

Выбор правильного языка программирования

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

В нескольких словах, мобильные приложения безупречно работают, если они основаны на Java, Swift или Kotlin. Javascript, в свою очередь, подходит для интерфейсной разработки, в то время как PHP и Python принесут пользу разработчикам серверной части. Для создания видеоигр разработчики предпочитают C++.

Выбор языка программирования требует учета его популярности на рынке. Давайте быстро взглянем на индекс TIOBE. Java никогда не покидала тройку самых популярных языков программирования. Два других языка, обычно используемых во многих областях разработки программного обеспечения, включают C и Python, которые вряд ли потеряют свою популярность в ближайшие годы.

Альтернативный Текст

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

Ява

Java -это простой в управлении объектно-ориентированный многопоточный язык программирования с хорошим уровнем безопасности. Это независимая платформа, которая следует подсказке “Напишите один раз, запустите где угодно”, что означает, что вы можете перенести уже написанное приложение между различными платформами. Java также обеспечивает обратную совместимость и проще в использовании по сравнению с C++ и любыми другими языками программирования.

Ява

Основные области применения:

  • Корпоративные приложения на стороне сервера
  • Настольное предприятие
  • Приложения для Android (включая игры)
  • Большие данные
  • Внедрение Систем Научных Приложений
  • Финансы и торговля
  • Программные средства
  • Иногда — Большие игры (такие как Minecraft)

Питон

Альтернативный Текст

Python -это еще один высокоуровневый интерпретируемый на стороне сервера язык сценариев. Он может использоваться как самостоятельный язык или как часть другого фреймворка. Благодаря своим конструкциям и объектно-ориентированному подходу он позволяет разработчикам писать читаемый код для небольших и крупных проектов.

Основные области применения:

  • Графические интерфейсы рабочего стола
  • Программное обеспечение
  • ИИ и МЛ
  • Наука о данных и визуализация
  • Веб-приложения для очистки и больше

Язык C

Альтернативный Текст

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

Основные области применения:

  • Встроенные системы
  • Системные и настольные приложения
  • Браузеры и их расширения
  • Базы данных
  • Операционные системы

Язык JavaScript

Альтернативный Текст

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

Основные области применения:

  • Интерфейсная веб-разработка
  • Приложения, не относящиеся к браузеру
  • Игры и API
  • Веб-слайдовые колоды
  • Приложения для умных часов и т. Д

PHP

Альтернативный Текст

PHP относится к языку сценариев с открытым исходным кодом, используемому для создания динамического содержимого страницы, которое поддерживает широкий спектр баз данных. PHP работает на различных платформах и совместим практически со всеми часто используемыми серверами, включая Apache, IIS и другие. PHP-файлы могут поддерживать текст, HTML, CSS, JavaScript и PHP-код.

Основные области применения:

  • Веб-разработка (бэкэнд)
  • Платформа LAMP, используемая Facebook и Yahoo
  • Платформы CMS
  • Сбор данных в форме
  • Зашифрованные данные
  • Файлы cookie

SQL

Альтернативный Текст

SQL расшифровывается как Язык структурированных запросов, используемый для работы с базами данных. MySQL, версия SQL с открытым исходным кодом, является наиболее распространенным способом взаимодействия с базами данных.

Основные области применения:

  • Системы управления реляционными базами данных
  • Язык запросов к данным
  • Управление транзакциями базы данных
  • Ручной анализ
  • Процедуры, определяемые пользователем функции, триггеры, индексы и т.д.

Быстрый

Альтернативный Текст

Swift -это продукт шестилетней давности от Apple Inc., созданный с использованием современного подхода к безопасности, производительности и шаблонам разработки программного обеспечения. Этот язык программирования общего назначения упрощает написание и поддержку программ для разработчиков.

Основные области применения:

  • Мобильные и настольные приложения для iOS и OS X
  • Облачные сервисы
  • Новый класс современных серверных приложений
  • Структура сетевого приложения, управляемого событиями
  • Серверно-ориентированные инструменты и технологии, включающие метрики и драйверы баз данных и т.д.

До-диез

Альтернативный Текст

Язык C# |/(произносится “see sharp”) более или менее похож на Java, но сделан Microsoft. Это типобезопасный объектно-ориентированный язык, используемый для создания безопасных и надежных приложений, которые работают в .ЧИСТАЯ экосистема.

Основные области применения:

  • Серверные службы
  • Microsoft .Приложения, подключенные к сети
  • Приложения для Windows
  • Веб-приложения на стороне сервера
  • Игры с игровым движком Unity и т.д.

Попробуйте пройти Онлайн-курсы

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

Практическое Обучение

Недавно я беседовал с коллегами-разработчиками о том, какие советы они могли бы дать новичкам. Все они ответили, что чем больше практики, тем лучше. Итак, я решил поставить на первое место практические занятия. Помимо теории, кодирование нуждается в практике, которая позволяет развивать навыки решения проблем. Для этого вам нужно выбрать правильную платформу.

Например, вы можете выбрать платформы для кодирования, основанные на практике, такие как:

  • Кодовый тренажерный зал . Этот онлайн-курс непосредственно направлен на изучение программирования на Java и состоит на 80% из практики. Несмотря на теорию, он предлагает 1200 небольших практических задач возрастающей сложности. Чтобы получить опыт и получить работу, вам нужно написать тонны кода.
Альтернативный Текст
  • freeCodeCamp с большим количеством задач, основанных на проектах. Кроме того, у них есть отличный раздел новостей и форума. Вы можете получить сертификат на Python, JavaScript, HTML, CSS и т.д.
Альтернативный Текст
  • Code4Startup с возможностью написания первой строки кода для существующего бизнеса.
Альтернативный Текст
  • Codewars увлекательные задания, которые позволят вам проверить свои навыки, соревнуясь с другими разработчиками.
Альтернативный Текст
  • Code Avengers с большим количеством увлекательных викторин на разных языках программирования и т. Д.
Альтернативный Текст

Теоретическая Подготовка

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

Альтернативный Текст

Мне нравится ассортимент курсов, предлагаемых этим сайтом. Они представлены в форме микро-учетных данных, также известных как Нанодеревья. Микро-учетные данные, которые иногда выпускаются бесплатно, поставляются с видеокурсами и проектами. Таким образом, вы можете выбрать один по своему вкусу, отсортировав их по языку и уровню.

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

  • Чистый Код: Руководство по мастерству гибкого программного обеспечения Роберта К. “Дяди Боба” Мартина
  • Программист-прагматик: от подмастерья до мастера Эндрю Ханта и Дэйва Томаса
  • Код завершен: Практическое руководство по разработке программного обеспечения Стива Макконнелла

Включите в список Интерактивные обучающие программы и игры по кодированию

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

Например, платформа Code Gym предлагает различные геймифицированные проекты для кодирования в разделе Игры . Весь курс имеет захватывающий сюжет, ярких персонажей и сложную концепцию, объясненную на примерах из реальной жизни, вы будете продолжать тренироваться, не скучая. Например, есть четыре крутых квеста с роботом по имени Амиго. Каждый отдельный квест содержит десять уровней с 12-13 уроками и руководствами по различным предметам, от Java Core до многопоточности Java.

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

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

Подумайте о просмотре видео При обучении кодированию

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

Альтернативный Текст

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

Погуглите ошибку

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

В противном случае вы можете оставить свой вопрос на сайтах вопросов и ответов или для обсуждения, таких как StackOverflow , Reddit или GitHub .

Распакуйте Чужой Код

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

Общайтесь с другими программистами

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

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

  • Github – это сообщество, где люди учатся, делятся и работают вместе над созданием программного обеспечения. Это позволяет управлять вашими проектами с открытым исходным кодом, вносить вклад в других, демонстрировать свою работу, привлекать рекрутеров и многое другое.

  • StackOverflow – это сайт вопросов и ответов как для новичков, так и для опытных программистов. Это позволяет вам находить ответы на самые сложные вопросы о кодировании, делитесь знаниями и даже находите работу своей мечты.

  • HackerNews – это высоконадежная новостная платформа по кибербезопасности, привлекающая ИТ-специалистов, хакеров, технологов и других. В нем представлены последние новости о безопасности и создается мост между такими сообществами, как исследователи безопасности, выпускники бизнес-школ и тысячи специалистов по безопасности.

  • Reddit – это сайт для сбора и обсуждения социальных новостей. Он объединяет тысячи сообществ и позволяет пользователям делиться тем, что их волнует. Все, что вам нужно сделать, это найти правильные разделы о программировании.

Придумайте Свой Собственный Проект и реализуйте Его

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

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

Дополнительные советы, чтобы оставаться мотивированным

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

  • Никогда не сравнивайте себя с другими разработчиками. Хотя в этом совете есть клише, его следует запомнить. Все с чего — то начинают-те, кто сегодня находится в главе 20, начали с главы 1, где вы сейчас находитесь, и когда-то написали свою первую строку кода, точно так же, как и вы.

  • Ты добиваешься гораздо большего прогресса, чем думаешь. Вы когда-нибудь думали, что не прогрессируете? Конечно, у тебя есть. Каждый, кто начинает чему-то учиться, проходит это. Вы начинаете думать, что прилагаете недостаточно усилий, ничего не меняется, и вы все еще находитесь на той же стадии, с которой начали. Однако факт в том, что каждый раз, когда вы изучаете или кодируете, вы растете — просто примите это и оглянитесь назад, чтобы увидеть, как много вы уже сделали.

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

Давайте Закончим С Этим

Сколько времени требуется, чтобы научиться программировать? Единого правильного ответа не существует, так как каждый начинает со своего уровня подготовки и в своем собственном темпе. Однако, если вы последуете данному совету, вы сможете добраться до первой строки кода немного быстрее. Для этого начните с мелочей, таких как выбор подходящего языка программирования и прохождение онлайн-курсов. Затем переходите к более крупным задачам, таким как выполнение задач на разных платформах, распаковка чужого кода и создание собственного проекта.

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

Впервые опубликовано в Быстрый код .

Оригинал: “https://www.codementor.io/@johnselawsky/how-to-learn-coding-from-theory-to-practice-194so37om2”