5 мин.

Моя первая компьютерная программа – это система журналирования матча Суперкубка

Мы впервые приобрели Vic-20, когда мне было 5 лет. 

Мой отец был программистом и любил возиться с программами и компьютерами. Я был поражен, когда он внес изменения в WordProc, которую впоследствии мы загрузили в компьютер с магнитной ленты. Со временем мы купили компьютер Commodore 64, а еще через несколько лет Apple II+.

Vic-20, Commodore 64, Apple II plus были одними из многих компьютеров, которые покупал мой отец. Я понемногу учился программировать в Turtle Logo и Basic, и если вам примерно столько же лет, сколько мне, то, вероятно, вы тоже «игрались» с языками программирования в школе. Это могло выглядеть как-то так: 

10 PRINT "what is your name?"

20 INPUT "...(Enter Your Name)...", a$

30 PRINT

40 PRINT "hello, "; a$; ", I am your computer, nice to meet you."

60 END

Я рос в Сиэтле и был большим фанатом [американского] футбола.

В детстве моими кумирами были восьмидесятый номер Стив Ларджент (Steve Largent) и номер семнадцать – Дэйв Крэйг (Dave Krieg) (AP).

Я помню, как смотрел на передачи Дэйва Крэйга Стиву Лрдженту и на удары, которые раздавал Кенни Исли направо и налево – это мои любимые воспоминания. Я подозреваю, что любил этих парней так же сильно, как другие дети того времени любили Рассела Уилсона, Ричарда Шермана и Маршона Линча.

Хотя Сиэтл Сихокс (Seattle Seahawks) в середине 80-х годов и были лучшими на протяжении нескольких лет, они никогда не участвовали в Супер Боуле, что подтолкнуло меня найти другую команду нашего города, за которую я мог бы «болеть» на суперкубке.

В 1985 году, как и многие другие мальчишки, я стал ярым фанатом Чикаго Беарз (Chicago Bears), в которой играли Уолтер Пэйтон (Walter Payton), Джим Макмахон (Jim McMahon) и Уильям Перри (William Perry) по прозвищу «Холодильник». Тренером команды был Майк Дитка (Mike Ditka), а сама команда записала рэп-песню Super Bowl Shuffle. В то время они были моим единственным вариантом, учитывая то, как они выступали против Новой Англии. Если честно, в этом году команда Сихокс напоминает мне тогдашних Беарз: у обеих команд лучшая защита и беки в NFC (National Football Conference, Национальная Футбольная Конференция), и обе команды проводят встречу с Пэтриотс (Pats).

Когда я был ребенком, я любил наблюдать за тем, что происходит на поле, но меня также увлекала игровая статистика и хронология матчей. Сегодня такую информацию можно получить без проблем, но в то время этого было сделать нельзя – Gamecast тогда не существовал, и смотреть любую игру в прямом эфире не представлялось возможным. Да тогда еще не было интернета, черт побери! Даже ESPN, запущенный в 1979 году, и близко не был похож на то, что он представляет собой сейчас. 

Маленький программист, сидевший внутри меня, взглянул на все это и придумал план.

Я подошел к моему отцу с идеей и предложил создать текстовую версию событий матча. Очевидно, что нам была нужна компьютерная программа, которая бы позволила вводить информацию о том, что произошло во время матча, и распечатывать её на… На чем бы вы думали? На точечно-матричном принтере!

В январе я потратил более двух недель для написания программы на Basic. Разумеется, мне помогал отец, но я лично ввел имена всех игроков из списков Беарз и Пэтриотс. Теперь достаточно было ввести номер игрока, и «система» автоматически выводила его имя.

Далее я определил дауны и обозначил цифрами игровые моменты: выносную комбинацию (1), пасовую комбинацию (2), удар по мячу (3), попытку взятия зачетной зоны (4) и свободный удар (5). Я сделал возможным учет пасов, выносов, выходов за границы поля и даже блокировок (-1) и пройденных ярдов. Чтобы это реализовать, потребовалось приложить усилия и внести значительное количество корректировок, многие из которых я уже не помню. Особенно сложно было уследить, на какую из линий был послан мяч.

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

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

Все это выглядело примерно так, если мне не изменяет память:

CH 1ST DOWN Chicago 20 - Walter Payton (34) run for 6 yards

CH 2ND DOWN Chicago 26 - Willie Gault (83) pass for 12 yards

CH 1ST DOWN Chicago 38 - Incomplete Pass

Разумеется, система не была идеальной. Когда происходил перехват паса с возвратом на тачдаун, мои команды не позволяли это записать. А как же знаменитый сейфти? Да, это было за пределами моих возможностей – я не мог учитывать сэк + сейфти.

И все равно, я смог посмотреть всю игру и записать каждое событие. Финальный счет: Чикаго 46 : 10 Новая Англия.

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

Я волнуюсь, потому что в этом году невероятная защита Сихокс встретится с Пэтриотс. Я надеюсь, что Сихокс одержат вверх, как это произошло в 1986, когда мы смотрели игру с отцом. Я по-прежнему вспоминаю то удовольствие, которое я получал от программирования, суть которого проста: если у вас есть идея – вы можете её реализовать. Я благодарен папе за то, что он учил меня программированию в таком юном возрасте, и я планирую сделать то же самое для своей дочери. Я буду думать о нем сегодня, когда буду смотреть игру на трибуне, и всегда буду вспоминать свой первый опыт программирования, читая текстовую трансляцию на своем маленьком «компьютере», помещающемся в мой карман.

Ах да, еще одна вещь… вперед Сихокс!