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

Я имею в виду, что в основном это взаимозаменяемые термины, но для меня это различие сделало натиск информации во время нашего восьминедельного курса программирования Уокли гораздо более управляемым.

Изначально я завел блокнот с определениями этих абстрактных терминов. «Жемчужина» — это то, как мы втягиваем чужой код в наше приложение. Команда «проверить» сообщает вам все, что находится внутри объекта. Целое число — это целое число в наборе данных. «Строка» может быть любым значением. «История пользователя» — это блестящая карта того, что вы на самом деле хотите, чтобы ваше приложение делало, кто может это делать и как это может выглядеть для внешнего пользователя.

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

Что касается пустых холстов, то это довольно необычно.

Мы решили создать приложение, которое позволяло бы людям находить различные мероприятия, которые привлекали разные «типы посетителей» и вспомогательный персонал (например, аудитория Insight SBS, съемочные площадки, медиа-источники). По сути: самосортирующаяся база данных, которая позволяет компаниям, которым нужны определенные типы участников мероприятий или вспомогательный персонал, эффективно их находить.

Ruby on Rails — это язык программирования, который автоматически создает фреймворки по умолчанию для баз данных и веб-страниц. Это полезно, потому что на самом деле вам не нужно писать отдельные строки кода. Вместо этого он показывает вам, куда вставить предварительно написанный код, а затем запускает все вместе для вас. Он разбит на контроллеры, которые являются «бункерами» для сортировки информации по-разному.

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

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

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

Это означает, что домашняя работа имеет решающее значение.

Курс длился восемь недель, и помимо моей склонности забывать домашнюю работу, мне также было трудно ходить на каждое субботнее занятие. Несмотря на это, я не могу не подчеркнуть изменения в моем мышлении и то, что я узнал. Хотя я определенно не могу писать строки кода, я определенно могу начать разработку компьютерной программы. Я знаю, как определить, какие данные нам потребуются для его работы, и я могу рассортировать их по категориям, которые можно использовать. Я гораздо лучше разбираюсь в том, как работают веб-сайты, и мне очень понравилось находить супер-отличные сайты в Интернете. Часто я оказываюсь на странице и думаю: «Вау, они запрограммировали несколько крутых функций на этот сайт».

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

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

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

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