Как я стал ботаником - Часть 1

Это была совсем не гладкая дорога

В начале

Установка

Это был 1964–65 учебный год, и я был первокурсником средней школы в Иллинойсе. Я попал в класс компьютерного программирования. Иллинойский технологический институт (IIT) пожертвовал устаревшие (уже тогда) телетайпы (TTY) местным старшим школам (по одному в каждой).

Курс представлял собой шестинедельное факультативное обучение программированию на Фортране. Это сработало так ...

Процесс…

  • мы изучали и писали наши программы на бумаге.
  • у нас будет очень ограниченное количество времени (от 1 машины на N учащихся) на TTY для ввода наших программ. Эти программы будут превращены в отверстия, пробитые на рулоне бумажной ленты, который мы бросили в коробку.
  • В одночасье компьютерные джинны будут пропускать эти ленты через ленточный ридер, который будет отправлять наши тщательно разработанные программы со скоростью 110 бод по телефонным линиям на компьютер IIT.
  • мэйнфрейм IIT будет обрабатывать результаты, а затем отправлять их обратно в наш TTY, где они будут распечатаны на простой белой бумаге.
  • мы возвращаемся к следующему классу, получаем наши результаты и возвращаемся к началу.

Эта проблема…

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

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

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

Не знаю, как вы, но если я пишу код любой сложности, особенно если я пишу его на языке, который только изучаю, то мой ожидаемый результат при первой отправке будет «SYNTAX ERROR». Обычно возникает несколько СИНТАКСИЧЕСКИХ ОШИБОК.

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

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

Последняя капля

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

Программа была предназначена для печати списка чисел от 1 до 100, их квадратов и квадратных корней (с точностью до 6 знаков). Достаточно просто, но в своей программе я забыл продвинуть итератор.

Когда процессор подошел к моей программе, он распечатал 20 000 строк «1 1 1.000000», после чего достиг триггера, на котором истекло время выполнения всего выполнения. У всех позади меня ничего нет ...

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

Вторая фаза

Лучше, но без сигары

Перенесемся на десять лет вперед, к лету 1974 года. Теперь я был аспирантом по программе магистратуры в Университете Западного Иллинойса и записался на курс программирования на Фортране.

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

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

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

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

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

Теперь это работает !!

Кстати о длинных и извилистых дорогах…

Сейчас лето 1983 года, и я претерпел некоторые изменения. Я получил степень магистра математики и два года проработал в докторантуре. программа по математике в Университете штата Мичиган. Затем летом 1977 года мой брак распался, и моя жизнь изменилась на 180 градусов.

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

Весной 1983 года, действуя по четкому предзнаменованию (Заголовок LA Times: Критическая нехватка учителей математики в Лос-Анджелесе), я уволился с высокооплачиваемой работы водителем (27 тысяч долларов в год), чтобы стать учителем (начальная зарплата 13,5 тысяч долларов).

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

В конце концов …

Мой первоначальный опыт работы с Apple IIe был менее чем благоприятным. Я записался на летнюю программу в Калифорнийском государственном университете в Нортридже (CSUN), чтобы работать над своими требованиями к учетным данным, и заглянул в их новую компьютерную лабораторию с Apple IIe. Не имея никаких инструкций, я включил одну из машин и стал ждать, чтобы что-то случилось.

Это было долгое-долгое ожидание, поскольку на этих старых машинах не была установлена ​​родная операционная система. Нужна была загрузочная дискета с установленной операционной системой ProDOS. Все, что случилось со мной, было вращающимся дисководом для гибких дисков, пока я, наконец, не выключил машину. Я провел небольшое исследование и выяснил, чего мне не хватало. Тогда меня зацепило!

Я храню это в разделе «Как в мире…?». Несмотря на то, что я был безработным учителем-заместителем, живущим на безработице, я каким-то образом купил компьютер Apple IIe. Цена покупки была порядка 1200 долларов за машину с 64 КБ ОЗУ и одним дисководом для гибких дисков. Конечно, я сразу же купил второй дисковод для гибких дисков за 250 долларов.

Одним махом я только что потратил более десяти процентов своей прогнозируемой (и никоим образом не гарантированной) валовой зарплаты на предстоящий год. Безусловно, лучшая инвестиция, которую я когда-либо делал!

Вне конкуренции!!

Когда у меня был собственный персональный компьютер, задержка цикла отладки была близка к нулю. Я начал учиться программировать на БЕЙСИКЕ, который быстро освоил.

Что касается трудоустройства, то эта прибыльная ($ 13,5 тыс. - ууууу !!) работа материализовалась в виде позднего назначения на математический факультет средней школы Джеймса Монро. Еще я была тренером женской сборной по гимнастике!

В 1985–86 учебном году я вел класс программирования BASIC на математическом факультете, используя четыре устройства Apple IIe, которые были подарены школе Клубом родителей. Я также помог десятку учителей в школе написать заявки на небольшие гранты на покупку компьютеров для их классов. Все были профинансированы. По иронии судьбы, как учитель с дипломом об оказании неотложной помощи, я не имел права на эти гранты.

В том же году я написал пару заявок на гранты, которые были профинансированы на следующий год. В рамках одного гранта было выделено 13 000 долларов на покупку компьютеров Apple IIc, которые были использованы для пополнения нашей растущей коллекции компьютеров и создания настоящей компьютерной лаборатории. У меня также был грант в размере 51 000 долларов, выделенный на повышение квалификации персонала для обучения учителей работе с компьютерами. Я руководил этой программой и вел обучение в течение 86–87 и 87–88 школьных лет.

В 1986–87 гг. Я начал работать на факультете информатики в средней школе и работал заведующим кафедрой с 1986–88 гг. К этому времени я освоил Pascal, C, язык ассемблера 6502, Logo, Prolog и LISP. В 1986–87 годах я начал преподавать в классе компьютерных наук для продвинутых курсов.

Следующая глава - В землю обетованную!

Скоро будет