Как подступиться к программированию для начинающего. Часть 1. Теория

12 Ноября 2022 (ред)

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

В каждой профессии есть "недельные" курсы по полному овладению навыками, например, видел объявления по недельным курсам живописи. Если считать живописью чёрный квадрат, а программированием - пошаговое руководство по выводу 'hello world', то такие объявления ещё можно понять. Однако, на первоначальном этапе, как сам помню, всё представляется намного проще и радужнее, чем в действительности. Казалось бы, вот учебник, прочти его до конца, и ты программист.

Так как первым моим языком был ActionScript, ныне канувший в лету вместе с Flash Player, можно сказать, что примеры освоения приведу на абстрактном языке, поэтому статья не будет руководством к немедленному действию.

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

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

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

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

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

Превью из мини-игр, которые довёл до релиза.

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

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

Какую мораль можно извлечь из всего вышесказанного? По-моему, нужно подходить более щепетильно к выбору учебников, особенно самого первого по тематике, а также адаптироваться к структуре кода и выбрать редактор лучше до освоения этого самого кода. То есть до написания первых работоспособных строчек, а здесь имеется ввиду первый язык программирования, лучше повращаться в теме программирования, привыкнуть к ней. Возможно, даже провести исследование технологий в их текущем состоянии, так как из примера мой первый язык программирования через несколько лет был "отменён" по прихоти парочки известных корпораций. С тех пор с предубеждением отношусь к проприетарным языкам, например, к Golang.

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

Продолжение

Для ответа вы можете авторизоваться


Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.