Первым программистом широко считается Ада Лавлейс, математик, которая работала над теоретическим компьютером общего назначения под названием «Аналитическая машина». Только в 1950-х годах был разработан первый язык программирования, COBOL. В то время основной способ программирования состоял в том, чтобы делать это построчно на перфокартах. К счастью для нас, в современную эпоху в этом больше нет необходимости. Мы можем получить доступ к чуду, которое представляет собой Интернет, который сделал ресурсы для обучения программированию намного более понятными и доступными, чем когда-либо прежде. Но, когда у нас под рукой так много ресурсов, возникает вопрос: с чего мне начать?

Первым решением на пути обучения программированию является выбор языка. Но ведь столько вариантов! Должен ли я начать с классического C, чтобы глубже понять внутреннюю работу компьютеров? Возможно, более всеобъемлющий и широко используемый C++, созданный поверх C? Как насчет Java, которую преподают на уроках информатики в средней школе? Может Джаваскрипт? Подождите, Java и Javascript вообще разные вещи? Что ж, ответ на этот вопрос — да, на самом деле они разные. А что касается того, с какого языка начать, я рекомендую начать с Python 3. Многие колледжи в наши дни начинают свои вводные курсы по компьютерным наукам с Python из-за его сходства с естественным языком. Должен сказать, что согласен с этой оценкой. Например, первая программа на Python для новичка может выглядеть примерно так:

print(“Hello, World!”)

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

public static void main(String[]args){ 
    System.out.println("Hello, World!");
}

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

Итак, вы завершили первый этап выбора языка для изучения. Поздравляем! Теперь, чтобы перейти к фактической учебной части обучения программированию! Есть несколько основных концепций компьютерных наук, которые вы изучите на своем пути. К ним относятся типы данных, манипуляции со строками, классы (в большинстве современных языков), условные операторы if, циклы for и while и т. д. Список понятий можно продолжать и продолжать, но со временем вы поймете их все. . Для этой цели я предлагаю использовать такой ресурс, как HackerRank, потому что он дает вам задания и позволяет проверить правильность вашего кода. Не все сразу встанет на свои места, но не волнуйтесь! Ваше понимание будет постепенно улучшаться с практикой. И однажды — скорее всего, скоро, если вы начнете сейчас — у вас будет хорошая база знаний, на которой можно будет перейти к более сложным предметам. Такие темы, как лучший способ написать алгоритм для определенной программы, которую вы хотите построить.

Правда в том, что мало что может быть более эффективным для обучения, чем простая и последовательная практика. Как только вы получили четкое базовое представление о частях, составляющих программирование, пришло время. Пришло время сделать свой первый неуправляемый проект! Поначалу может быть трудно придумывать идеи, обычно это происходит потому, что кажется, что возможности того, что вы можете сделать, безграничны. Начните с чего-нибудь простого, я предлагаю сделать игру, потому что это один из самых простых проектов для визуализации. Вам просто нужно придумать базовую механику, например, если вы хотите, чтобы ваш персонаж двигался и атаковал. И оттуда легко постепенно реализовать больше функций. Фактически, моим первым проектом было создание копии Пасьянса Косынка. Что касается того, как это должно выглядеть, не беспокойтесь об этом слишком сильно. Графика не обязательна, вы можете протестировать свою механику с помощью оператора печати на консоли. В конце концов, если вы хотите, чтобы ваш проект выглядел красиво, ну, если вы используете Python, есть библиотека GUI (графический интерфейс пользователя) под названием pygame, которая позволит вам добавлять изображения в вашу игру. В Интернете доступно множество инструкций по установке pygame, поэтому я не буду вдаваться в подробности прямо сейчас. Прежде чем вы это узнаете, в ваших руках окажется что-то великое, превосходящее то, на что вы, возможно, сначала думали, что способны. Хорошо! Прежде чем вы это узнаете, вы сделаете еще много великих вещей, о которых вы не знали, что можете сделать.

Отлично, теперь вы успешно применили свои навыки на практике и сделали проект! Поздравляем еще раз! Итак, что вы должны делать сейчас? Что ж, вы должны продолжать делать проекты, постепенно расширяя масштабы, чтобы бросить вызов и расширить свои навыки. Что-то еще, что вы должны сделать на этом этапе, это начать изучать другой язык, что должно быть намного проще теперь, когда у вас есть идеи, лежащие в основе программирования. Я предлагаю изучать что-то отличное от вашего первого языка. Для Python, я думаю, было бы лучше изучить C или язык на основе C, такой как C++ или Java. Это будет немного сложно в случае с C или C++, где вы должны выделить свою собственную память, но это даст вам лучшее понимание того, как работает ваша машина, и отточит ваши навыки.

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

Обучение программным ресурсам