Поначалу программное обеспечение (ПО) входило в состав «железа», продаваемого потребителям производителями компьютеров, – мейнфреймы обслуживали особые операторы. От программистов требовалось поставлять свои программы операторам в виде перфокарт*. Когда же технология и политические нужды позволили программистам взаимодействовать с ЭВМ напрямую, произошел инновационный взрыв.
* В 1960-1970-е гг. был широко распространен так называемый пакетный режим (англ. batch mode), то есть режим работы на мейнфреймах, когда у пользователей не было возможности непосредственного терминального доступа к компьютеру, а ввод заданий производился с устройства чтения перфокарт.
Случившиеся с ЭВМ перемены были вызваны запуском в 1957 году советского спутника. Отвечая на вызов, Министерство обороны США создает Управление перспективных исследований и разработок АКРА {Advanced Research Projects Agency). Туда для преодоления ограничений существующей вычислительной техники приглашается профессор MIT Дж. К. Р. Ликлайдер. Подрядчики АКРА создали ПО для отображения результатов вычислений в графическом виде на экранах мониторов вместо прежних распечаток. Но самым важным было то, что они создали программные «операционные системы», позволявшие сообществу программистов/пользователей напрямую общаться с ЭВМ.
Операционная система (ОС) согласует взаимодействие вычислительного «железа» с прикладным программным обеспечением (ПО). Первыми диалоговыми (интерактивными) системами были операционные системы с «разделением времени», так как скорость электронных вычислений позволяла ЭВМ уделять «внимание» сразу нескольким программистам. Процессор вычислительной машины в долю секунды переключался от одного пользователя к другому, и у тех складывалось впечатление, что каждый из них является ее единственным пользователем. Поскольку работавшим над проектами управления ARPA программистам приходилось иметь дело с одной и той же ЭВМ, у них быстро развилось чувство товарищества. Они стали придумывать способы обмена сообщениями со своих терминалов через общую для всех ЭВМ. Электронная почта и виртуальные сообщества своими корнями восходят к тем давним «забавам» (hacks), созданным делившими машинное время программистами для общения друг с другом.
Оплачивали же эти новшества субсидии, выделяемые управлением ARPA. Хакеры создавали для себя орудия, подстегиваемые желанием поделиться лучшими своими «забавами» со всеми, тем самым показывая американским налогоплательщикам и остальному миру потрясающую отдачу от вложенных средств. В MIT начала 1960-х годов создание интерактивного вычисления было коллективным предприятием. Важнейшие программы записывались на перфорированной ленте и хранились в незапертом ящике стола; любой хакер мог воспользоваться программой, и, если кому-то удавалось найти более совершенный способ решить задачу, для которой и предназначалась данная программа, он мог ее переделать, внести изменения в ленту и положить обратно в ящик [43].
На рубеже 1960-1970-х годов в связи с новыми разработками произошел второй инновационный взрыв. Ликлайдер и другие приступили к созданию «межгалактической сети» для связи разбросанных по стране вычислительных центров управления ARPA [44]. С самого начала разработчики этой сети понимали, что создают не только коммуникационную среду, но и средство связи удаленных ЭВМ [45]. К середине 1970-х к государственным лабораториям и крупным компаниям присоединились новые игроки в компьютерные игры – молодые энтузиасты. В 1974 году стал доступен «Альтаир», первый набор для сборки персонального компьютера, и «компьютерные самодельщики» начали встречаться в Пало-Альто. Клуб самодельных компьютеров (Homebrew Computer Club) в 1976 году получил известное письмо от двадцатиоднолетнего Била Гейтса, жалующегося, что «самодельщики» воспользовались программным продуктом, созданным его новой компанией Microsoft для «Альтаира», не заплатив за него [46]. Программное обеспечение, заявил Гейтс, это вам не общее добро, которое вы держите в ящике стола, подновляете и сообща используете; это частная собственность. Билл Гейтс остался верен этому своему заявлению, став в 1990-е годы богатейшим человеком в мире благодаря продаже операционной системы, установленной на 90% всех персональных компьютеров.
В 1969 AT amp;T Bell Labs вышла из проекта управления АКРА по созданию операционной системы Multics, и некоторые программисты Bell Labs, которым недоставало чувства товарищества, приступили к работе над собственным неофициальным проектом по созданию ОС. Программист Кен Томпсон на небольшой ЭВМ, попавшей к нему в руки, создал игру в ходе написания «ядра», в итоге ставшего ОС, названной в 1970 году Брайаном Керниганом Unix (обыгрывается название проекта Multics) [47]. Создатели Unix предоставили свой исходный код другим программистам, пригласив их к сотрудничеству по созданию программного обеспечения, которое сделало бы Unix более удобной, и это решение породило совершенно новый подход к разработке программного обеспечения. Программы для ЭВМ поставляются в виде «объектного кода», перевода (трансляции) изначальной («исходной») программы в неудобочитаемый для человека, но понятный машине набор нулей и единиц. Предоставлением в свободный доступ исходного кода создатели Unix позволили остальным программистам уяснить работу программного обеспечения и вносить свои собственные изменения – своего рода возвращение к временам, когда перфолента в ящике стола была доступной для всех. Кен Томпсон стал записывать исходный код Unix и вспомогательные программы (утилиты) на магнитную пленку и в сопровождении надписи «С любовью, Кен» рассылать приятелям [48].
Конец ознакомительного фрагмента. Полный текст доступен на www.litres.ru