Юность Гейтса
В 17 лет Билли не играл в трясучку, не пил вермут на детских площадках и не стрясал по 20 центов с малолеток. В магазине скобяных изделий (hardware) он увидел самый настоящий компутер на столе. Все! Загорелось. Маман, не хочу плюшевого мишку, не хочу куклу барби, хочу компьютер. Ну ладно, вроде в школе оценки хорошие, на тебе компьютер. Первые 48 часов после этого Билл с другом Полом Артсом совершали посадку на Луну. А потом это надоело и захотелось чего-то еще. В общем, чтобы сделать это что-то еще, позарез нужен был бейсик. - Надо было выбирать модель компьютера с бейсиком, - сказал Пол. - Нету таких моделей, и нету бейсика для таких маленьких машин - жизнерадостно заметил Билл. - Что же мы теперь будем делать? - А мы напишем бейсик сами, продадим фирме-производителю, потом напишем МС-ДОС, виндовс, чикаго, кайро... - он перечислял еще минуты две и вздохнув, добавил: только самим нам не справиться, нужно будет открыть фирму... ВО! Микрософт! Он помолчал немного, поправил отвисшую челюсть Пола и продолжил: - Конечно, это непросто, но есть шанс быть первыми, а первым в нашем деле достается почти все. Идем в библиотеку!
- Три недели наши друзья корпели над кодами, два раза чуть не потеряли все копии программы на магнитофоне, но вот бейсик задышал! И первая программа на этом бейсике была написана! Вот она:
10 FOR I1 TO 100 20 PRINT "BILL GATES - PROGRAM WORLD WIDE LEADER! " 30 NEXT I 40 STOP
Ураа! Заработало!
На следующий день утром друзья направились в IBM для заключения контрактов. У дверей правления стоял здоровенный охранник, мерно пережевывающий традиционное американское блюдо. Куда! Назад!, - закричал он, увидев, что какие-то юнцы без спросу направились к дверям. - Что?! Я - Билл Гейтс, директор Микрософт, - заявил один из них. - Ох, извините сэр, у нас недавно какие-то сорванцы украли из туалетов всю бумагу, так каждый спасался как мог. Один мой приятель рассказывал, как он выкручивался. Хорошо - он бывший альпинист, запросто может обойтись трамвайным билетиком, а начальство сильно пострадало, говорят. Он проводил молодых людей глазами и продолжил свое занятие давить мух сапогами.
У кабинета президента IBM собралась очередь посетителей. Они ждали окончания утренней пятиминутки, которую президент проводил с начальниками отделов уже второй час. Но вот совещание закончилось и президент остался один на несколько минут перед приемом посетителей.
Тем временем в коридоре у дверей приемной друзья остановились, чтобы подготовиться к разговору. - Пол, подожди меня здесь, - сказал Билл. - я могу прорваться к нему только один. Когда надо будет пить шампанское - я приду за тобой.
В приемной у секретарши заклинило пишущую машинку и она звонит в бюро обслуживания. Заходит Гейтс и направляется к дверям кабинета президента. Проходя мимо очереди негромко роняет: - Я - сын... [своих родителей] - это уже шепотом. Зайдя в кабинет, он видит президента IBM в кресле за столом. Президент нахмурился, увидев непрошенного гостя и приготовился поставить нахала на место. Гейтс подошел к столу и шлеп на него кассету с программой! - Вот! Если хотите чтобы продажи персоналок оставались мизерными, а потом совсем прекратились - можете меня прогнать! Президент молча слушал. - Это - бейсик, - сказал Билл уже более спокойно. - Простите, что? - Б Е Й С И К, интерпретатор бейсика для ПК. - Ну и что?, - президент начинал нервничать. - Да вот просто то, что без этого компьютер никому не нужен, кроме нескольких любителей. - Видите ли, милейший, наши специалисты подсчитали общую потребность в таких машинах и определили ее в 200 тысяч на весь мир. И вообще наши интересы лежат в области настоящих, мощных машин, которые нужны везде! А эти... игрушки - так, для любителей и есть. - А если на этом компьютере будет бейсик - любой сможет написать программу, ТУТ ЖЕ ее запустить, поправить- и никаких перфокарт, никаких очередей на компиляцию и прогон программы! - МММ... ну что же, давайте пойдем, посмотрим, что вы там наваяли. Как вы говорите вас зовут? Гейтс? Отлично.
И они прошли мимо всех посетителей, важных дядек с портфелями (все это конечно ерунда, так не бывает, ну да ладно, это ведь сказка) и направились в отдел программ. По дороге встретили Пола, Билл представил его президенту и дальше пошли вместе. В отделе программ весь пол был усеян дырочками от перфокарт и какие-то мужики ползали по раскатанной по полу 20-метровой распечатке аварийного дампа памяти с целью обнаружения ошибки в распределителе памяти ОС-360. К президенту подошел начальник отдела и сообщил, что есть надежда сделать это еще к обеду. Президент в свою очередь пожелал им удачи, представил Билла и Пола как авторов бейсика для ПК, предложил посмотреть программу и дать заключение. Затем удалился, сославшись на важные дела. Главный программист провел ребят в другую комнату и включил один из ПК. Минута ушла на загрузку и выскочило приглашение:
Microsoft Basic V1. 0 OK >_
Быстренько набросали небольшую программку, RUN, и вот уже по экрану забегали всякие палочки-крючочки. Главный программист заинтересовался, сел за компьютер и не слазил со стула целый час. Для тестирования он писал такие варианты программ, что ребята только диву давались. Буквы бегали по экрану во всех направлениях, прыгали и сортировались как хотели. Под конец они все попадали и сложились в кучу, которая потом растаяла. - ПШШШШШШШШШШШШШШ - вздохнул программист после этого и повернулся к молодым людям. Ну что, в принципе неплохо, хотя есть и ошибки. Ошибки эти лишили сна наших героев еще на пару недель и как известно, устранялись даже в кресле летящего самолета. Конечно, программа эта была еще несовершенной, продукт своего времени, но... недокументированные функции в ней уже были.
Конец эпохи.
=
Билл Гейтс. Молодые годы.
После истории с написанием бейсика и начала сотрудничества с крупнейшей компьютерной фирмой IBM началась новая эпоха в компьютерном деле - эпоха DOS и IBM PC. Как известно, вначале DOS была сляпана на коленке из CP/M при участии мистера Марка Збиковски. Его инициалы до сих пор красуются в начале каждого EXE файла. Потом занятия DOS видимо утомили IBM и она воспользовалась услугами молодой, но перспективной фирмы Микрософт под руководством нашего незабвенного героя. Это было горячее время для всех участников проекта: - #$%$#!!, - в запале восклицал кто-то из программистов. В ответ на это Гейтс выразительно указывал на банку из-под кофе: каждый, кто скажет нецензурное слово, должен бросить туда 25 центов. Собранных денег хватало не только на кофе и пиццу, но и на все остальное. Проекта как такового не было, был набор заданий и выделенная под них память. За каждый сэкономленный байт выплачивалось по 5 долл. Один из программистов сэкономил 10 Кбайт и устроил грандиозный банкет по этому поводу, в результате чего Гейтс нечаянно продал за бесценок несколько лицензий на ДОС конкурентам. Из-за этого и был придуман механизм недокументированных функций. Сначала описывались не все полезные функции, конкуренты их реализовывали по-своему, потом описывались скрытые доселе функции и структуры данных, а конкурентам приходилось лихорадочно все переделывать. (Вы скажете ай-яй-яй, а я думаю, что у ОС должен быть один хозяин, который вводит стандарты. Посмотрите, что стало с UNIX, десятки версий, далеко не совместимых между собой, а в рамках общего стандарта многое нельзя сделать). Ну ладно, меня понесло, теперь рассказ участника тех событий Вери Слоу: - Дык я спервоначалу на PDP-11 работал, на асемблере там, фортране... а потом сюда позвали, ну я и пошел. А шеф наш книжек умных начитался, выдумал какое-то струкатурное программирование, штоб, значит, файлы не больше 300 строк, ну я и засандалю, бывало, строчек тысяч пять и чик, чик... И функции эти, недокументированные у меня лучше всех получались. И скорость работы с диском я придумал повышать (если конечно, наша микросовецкая программа работает, хе-хе). А потом я предложил мультитаск и мультискрин забабахать, вон уже память на мегабайты мерять начали, а мы все в 640 К сидим, а шеф говорит, что там в верхней памяти окошки будут висеть. Потом мы и до окошек добрались. Тут у нас были проблемы со скоростью, все медленно работало, но кто-то заметил, что между скоростью работы программы и памятью есть обратная пропорциональность, а значит бесконечно большая программа будет работать бесконечно быстро. Ну так мы и начали писать, чтоб, значит, побольше...