Как бы Microsoft ни хотела справиться с проблемой самостоятельно, у нее не было опыта создания многозадачных систем, а IBM никогда не умела угадывать потребности пользователей, и не имела влияния на рынке операционных систем персональных компьютеров. Поэтому, обе корпорации решили объединить свои усилия, заключив в апреле 1987 года договор на разработку операционной системы нового поколения, получившей впоследствии название OS/2.
OS/2 1.0
Идея заключалась в создании масштабируемой операционной системы, пригодной как для персональных компьютеров, так и для майнофреймов. По замыслу IBM это привлекло бы корпоративных пользователей, раздумывающих, не перейти ли с майнфреймов на микрокомпьютеры, и программистов, получивших бы возможность простой перекомпиляций переносить свой продукт на другие платформы. У IBM существовал огромный опыт программирования «больших компьютеров» и имелось множество передовых технологий, не доступных остальным конкурентам.
Осознавая, что голая операционная система без приложений никому не нужна, какая бы распрекрасная она ни была, корпорация IBM планировала создать OfficeVision - совершенную систему полного электронного документооборота [136].
В свою очередь Microsoft стремилась обеспечить совместимость OS/2 с Windows, надеясь «выехать» на плечах гиганта. « Мы согласились участвовать в этом проекте, уверенные, что IBM позволит сделать OS/2 чем-то достаточно близким к Windows, чтобы программисты, внося минимальные модификации, могли предлагать приложения для обеих платформ. Но IBM настаивала, чтобы приложения были совместимы с ее майнфреймами и системами среднего класса. Мы поняли: OS/2 превращается в какого-то монстра, ориентированного скорее на майнфреймы, чем на персональные компьютеры » - писал Билл Гейтс в своей книге «Дорога в будущее».
Сейчас трудно установить, кто был прав, а кто виноват. Но, так или иначе, Microsoft вскоре решила отделиться от IBM и начала продвигать свою операционную систему Windows самостоятельно. По заверениям Microsoft, ее поступок был продиктован разногласиями с IBM по вопросам благополучия пользователей « И в прошлых “софтверных” проектах IBM никогда не удавалось точно угадать настроение пользователей ПК, потому что все у нее было ориентировано прежде всего на пользователей майнфреймов. Например, одна из версий OS/2 “грузилась” больше трех минут, а IBM казалось, что это неплохо, поскольку в мире майнфреймов загрузка занимает до пятнадцати минут…
До сих пор помню замечание N 221: “Убрать шрифты. Причина: улучшение конечного продукта” Кому-то в IBM не понравилось, что в операционной системе персональных компьютеров несколько шрифтов только из-за того, что какой-то там принтер от майнфрейма не мог ими печатать.
В конце концов стало ясно, что такое сотрудничество совершенно бесплодно » объяснял свою позицию Билл Гейтс. Но, по другой версии, Microsoft, получив необходимый опыт, поняла, что в дальнейшем сможет обходится и без поддержки IBM.
Так выглядел дистрибьютив Windows 3.0
Так это или иначе, но 22 мая 1990 года Microsoft объявила о выходе Windows 3.0. Она все еще оставалась нестабильно работающей оболочкой для MS-DOS, требовательной к аппаратным ресурсам, но отличия от предыдущих версий были колоссальны. Привлекательный графический интерфейс, симпатичные иконки, поддержка большого количества разнообразных устройств завоевали сердца миллионов пользователей, и Microsoft стала первым поставщиком программного обеспечения для миникомпьютеров, объем продаж которого превысил 1 миллиард долларов в год.
В отличие от пользователей, для программистов Windows оказалась настоящим кошмаром, - продираясь сквозь дебри запутанной документации, они не раз жалели, что родились на свет, вспоминая Microsoft и лично ее президента очень крепким словом. Программирование под Windows концептуально отличается от программирования под MS-DOS. Операционная система MS-DOS «прозрачна» для разработчиков, вольных писать любой код, какой им заблагорассудиться, лишь временами обращаясь к системным вызовам, наподобие функции «открыть файл» или «запустить процесс». Любое приложение, предназначенное для запуска в среде Windows, должно следовать множеству соглашений и ограниченней, налагаемых этой операционной системой. В частности: непрерывно опрашивать очередь сообщений, реагировать на десятки происходящих событий, наконец, сложным образом манипулировать с окнами и другими элементами графического интерфейса, выполняя работу, которую по всем понятием должна брать на себя сама операционная система.
Читать дальше