(В недавнем обзор истории OS/2 была дана весьма обобщенная картина развития ОС.
Надеюсь, это будет хорошо дополнено взглядом изнутри самой IBM, воспоминаниями обычного тестировщика OS/2.) Безбожный союз IBM и Microsoft выпустил OS/2 25 лет назад, чтобы заменить Windows, Unix и DOS. На тот момент я был рядовым солдатом этой войны: испытателем, работавшим на «Синий великан» по контракту.
Жестокая судьба и еще более жестокий редактор хотят, чтобы я 25 лет спустя написал статью о том, стоит ли вам сейчас посвятить свою карьеру Microsoft. И меня до сих пор поражает, насколько невежественные в истории люди обречены повторять ее.
В конце 1980-х годов на большинстве компьютеров одновременно запускалась только одна программа, хотя многие из них заражались в результате борьбы друг с другом.
Графические интерфейсы уже появились на ПК, но приложения Windows работали ужасно: даже если вы просто включили ПК с Windows и больше ничего не делали, была большая вероятность, что он зависнет сам по себе.
В то же время новые возможности и возросшая производительность процессоров Intel сделали возможными операционные системы с вытесняющей многозадачностью, в которой приложения были защищены друг от друга.
Возникла идея супер-ДОСа, которая быстро переросла в более серьёзный проект и я им понадобился.
IBM была патологически скрытной.
Мое интервью состояло в основном из вопросов типа «Итак, Доминик, расскажи мне о себе» без какого-либо намека на то, чем я буду заниматься.
Так как я принял участие в проекте Microsoft Unix для Intel x86 Я ответил: «В каком-то смысле моя работа заключалась в том, чтобы сделать жизнь Microsoft невыносимой».
Сотрудник отдела кадров IBM сказал, что обычно их начальники тратят «соответствующее количество времени» на принятие решения, но на этот раз предложение о работе пришло на мой автоответчик еще до того, как я вернулся домой.
Я пошел на работу, и мне начали платить деньги за то, что я ничего не делал.
я работал на английском языке Лаборатория IBM в деревне Херсли , недалеко от Винчестера, но, видимо, никто не хотел, чтобы я что-то делал.
Я подписал соглашение, в котором был пункт о неразглашении (хочу отметить, что срок его действия уже истек), но, видимо, этого оказалось недостаточно.
Я предложил подписать еще одно, но никто не смог его найти.
В конце концов с этим разобрались и мне дали компьютер, но адрес электронной почты не дали, потому что я работал по контракту и был унтерменшем.
Чтобы получать электронные письма, мне пришлось притвориться сотрудником, который раньше сидел за моим столом — этим удостоверением личности я пользовался следующие три года.
(Еще один пример моей ничтожности внутри компании - какой-то сотрудник отдела кадров почему-то решил, что я женщина.
Я не образец мужественности, можете мне поверить, но я не Доминика! Была предпринята попытка расторгнуть мой контракт перед тем как уйти в декретный отпуск — даже сексизм был непрофессиональным.
) Десятки человеко-лет были потрачены на споры о затратах, когда программисты, выполнявшие критическую часть разработки OS/2, после перевода в США оказались в такой дыре, что даже студенты отказались.
Начальству, естественно, было предоставлено такое же жилье, в котором жили все сотрудники Microsoft независимо от уровня.
Мы, конечно, будем вознаграждены поездкой на Гавайи.
или нет. Программистам Microsoft, работающим над OS/2, была обещана неделя на Гавайях, если они завершат проект вовремя.
Разумеется, это сопровождалось опционами на акции.
IBM попыталась дать достойный ответ в виде поездки на Азорские острова, но это не удалось.
Идея была обречена с самого начала, так как HR-отдел Blue Giant запретил нашу премию из-за правил IBM, запрещающих такое большое количество сотрудников в одном самолете.
Вместо этого HR разработал план, который четко отражал то, как они обращаются с техническими сотрудниками: праздничный ужин и танцы.
В Портсмуте (Великобритания).
Примечание для наших небританских читателей: это не особенно престижное место.
Быть презираемым переговорщик по договору Приглашения я, конечно, не получил, но поскольку я в то время ухаживал за одной из семи девушек проекта, я все равно пришел и был весьма впечатлен тем, сколько усилий IBM вложила в придание вида провинциальному развлекательному центру.
как Гавайи.
Это выглядело настолько безумно, что система проверки непрерывности, которую я установил для подавления зачатков старости, постоянно пытается отвергнуть эти воспоминания как ложные.
Я заставляю себя поверить, что самая богатая компания планеты могла вести себя так только потому, что пленившая меня девушка, драгоценный юрист, стала моей женой - и у нас есть фотографии, подтверждающие реальность произошедшего.
(Хочу прояснить: я не считаю отдел кадров IBM худшим в мире, хотя я никогда не видел ничего подобного за свои 28 лет работы в технологической и банковской отраслях.
) Учитывая вышесказанное, я никогда не мог понять, как им удавалось нанимать людей, которые были одними из самых умных и приятных профессионалов, с которыми я когда-либо работал.
Даже с парнем, которого разработчики Microsoft и IBM считали худшим, было очень легко иметь дело.
Как жаль, что несколько лет спустя он погиб, сражаясь на стороне Талибана.
Так или иначе, пришло время вернуться к технологиям.
OS/2 получила радикально улучшенный графический интерфейс Presentation Manager, графическую библиотеку промышленного уровня, основанную на успешной разработке.
IBM ГДДМ В состав операционной системы планировалось включить качественную базу данных и сетевые возможности.
OS/2 1.0 вышла как текстовая супер-DOS. То, что мы называли «настоящей OS/2», версия 1.1, вышла годом позже и включала в себя супер-пупер поддержку графики.
Специально для этого мы придумали новый блестящий стандарт VGA. Он также имел графический язык разметки, который позволял создавать наборы окон и динамически прикреплять фрагменты кода к страницам, загружаемым из общей папки.
Нам это казалось очень крутым, и в начале 1990-х мы как раз пытались понять, какие новые возможности это даст. Тестирование Microsoft было сложно освоить В то время у Microsoft были большие проблемы с тестированием.
Много раз мне приходилось сталкиваться с редмондским кодом, который проходил и проваливал различные сложные тесты и по каким-то причинам состоял из одной команды RETF, которая теоретически просто завершала вызов подпрограммы.
Их обзоры кода были шутками.
Разработчики написали в комментариях к коду локализации «Не обращайте внимания на случайную локализационную чушь от IBM» или «если количество окон равно нулю, верните false» сразу после строки, которая всегда возвращала ноль.
Microsoft наотрез отказалась это исправить, заявив, что подобные вещи являются частью внутренних стандартов программирования, копию которых, если они вообще существовали, нам так и не удалось получить.
Нас же считали безнадежными бюрократами.
После того, как Microsoft потеряла исходный код последней сборки OS/2, которая уже поступила в магазины, я обнаружил ошибку, возникавшую при двойном щелчке по Chkdisk: программа запускалась в двух копиях, обе из которых пытались исправить.
диск и повредил данные.
Я написал, что «это может противоречить цели, с которой пользователь запустил программу».
Они сочли это ошибкой пользователя, и какой-то парень по имени Балмер спросил, почему я так «одержим» качеством кода.
IBM собрала подробную статистику по производительности и денежным показателям, программному аналогу СПИДа.
По неизвестной причине в IBM считали, что качество программ зависит от количества строк в исходном коде.
Синий гигант довел свои причудливые показатели производительности — KLOC и тысячи строк кода — до такой степени, что используемые нами редакторы исходного кода были установлены с макросами, помогающими увеличить количество строк в коде, например разделение комментариев C на несколько строк, чтобы ваш код соответствовал невероятно глупым индикаторам.
И вдруг все стало выглядеть хорошо.
Поскольку мы начинали практически с нуля, нам удалось многое сделать правильно.
Даже исходя из своего нынешнего опыта, я считаю, что почти все инженерные решения были правильными и исполнение было на самом высоком уровне.
ПК IBM Personal System/2 был анонсирован одновременно с OS/2 и изначально предназначался для работы с нашей операционной системой, но на первых партиях необходимо было установить PC-DOS. Большинство разработчиков OS/2 в IBM и Microsoft не только не использовали PS/2, но мы даже не знали о его существовании до недавнего времени.
Удивительно, насколько это похоже на Microsoft Surface — тонкие маркетинговые отношения между программным обеспечением и оборудованием.
OS/2 плохо работала на PS/2, Surface не поддерживает полную версию Microsoft Office и намеренно сделан несовместимым с обычной Windows. OS/2 была элегантной Поскольку OS/2 быстро превратилась из расширенной DOS в серьезную систему, в нее были добавлены общие библиотеки, многопоточность и идея о том, что API операционной системы должен быть тщательно разработанной системой, а не набором функций со случайными именами.
API был достаточно связным, поэтому о порядке и типах параметров функции можно было догадаться, не читая документацию, поскольку они следовали единому шаблону.
По поводу специфики API возникли немалые разногласия, хотя шестистраничные запросы на изменение названия одной-единственной функции особого ажиотажа не вызвали.
Это не звучит особенно страшно, пока вы не узнаете, что эта функция в конечном итоге получила название WinBeep. Были даже философские дебаты о том, следует ли разрешить использование динамика.
Но больше всего мне понравилась SheIndicatePossibleDeath, с помощью которой Шелл (Она) уведомляла о том, что в системе что-то пошло не так и необходимо принять меры по восстановлению или мягкому перезапуску.
Разработчики Microsoft посчитали это забавным и настояли на том, чтобы пользователю хватило черного экрана смерти.
Конечно, они продемонстрировали свое мастерство в Windows NT, улучшив экран смерти до синего цвета и предоставив секретарям, бухгалтерам и другим офисным пользователям такую важную информацию, как адреса памяти, вовлеченные в сбой, чтобы они могли исправить непокорные драйверы.
Были ли примеры кода, использующего API? Нет, глупый.
Документация API OS/2 не зависела от языка.
В комплекте разработки было несколько примеров реального кода, очень высокого качества, но в лучшем случае это был один процент от того, что нужно было написать.
Обновление документации было крайне сложным, поскольку API менялось очень быстро.
Однажды я стал крайне непопулярным, разработав простую математическую модель, в которой скорость изменений в системе была настолько быстрой, что наши разработчики не успевали за ней, и даже наши тестировщики не могли писать тесты.
Это означало, что проект либо опоздает, либо вообще не выйдет, но завершиться в срок точно не будет. Об этом говорили и другие разработчики, но ни один из старших менеджеров IBM не хотел брать на себя ответственность за задержку проекта.
Я не думаю, что вы не сталкивались с подобными ситуациями в своих проектах.
Оглядываясь назад, я очень умен в этой статье, но в то время я находился в самом низу пищевой цепочки, и большинство решений казались мне правильными.
Несмотря на все вышесказанное, в то время OS/2 была самой простой в программировании.
Мы это знали точно и где-то внутри IBM были видео, подтверждающие это.
IBM наняла опытных программистов для разных платформ и поручила им выполнять различные задачи в лаборатории тестирования пользовательского интерфейса.
Они провели гораздо больше времени, чем мы ожидали.
Трудность заключалась в том, что разработчики продолжали спрашивать: «Как мне сделать X», хотя X был своего рода обходным путем, который не был нужен в OS/2. Разработчики Mac и Windows были очень недовольны тем, что большинство их любимых трюков просто не нужны.
После многих лет документации, состоящей из инсайдерских шуток и любопытных головоломок, разработчики Unix восхищались нашей документацией.
Разработчики DOS подумали, что пришел Дед Мороз и захотел с нами поработать.
Я отчаянно пытался, но не смог включить эти видео в рекламную кампанию OS/2, которая была очень похожа на рекламу Windows 8. Сразу было видно, что на это потрачены немалые деньги, но это не давало ни одной причины, почему еще можно купить рекламируемый товар.
В любом случае, IBM, как и сегодняшняя Microsoft, хотела общаться с «реальными людьми», а не с теми, кто разбирается в компьютерах и принимает ИТ-решения на предприятиях.
Документация — еще одна часть этой саги, за которую я тоже чувствую себя виноватым.
Это было до того, как я начал писать, и я мог бы больше помочь команде документации, но я был немного туповат. Я знал внутренности ОС, которую и IBM, и Microsoft собирались сделать самой популярной операционной системой в мире и рассчитывали хорошо заработать на этих знаниях, поэтому чем меньше людей знали программирование для OS/2, тем лучше для мне.
Или нам так тогда казалось.
Инсайдер IBM: Как я поймал жену во время поиска ошибок в OS/2 Теги: #microsoft #История ИТ #Soft #операционные системы #ibm #Ballmer #os/2
-
Обзор Ноутбука Toshiba Satellite L505-10X
19 Oct, 24 -
Новое Ядро Linux Версии 2.6.30.
19 Oct, 24 -
Управление Требованиями
19 Oct, 24 -
Коротко О Дублировании Плиток Windows 8
19 Oct, 24 -
Коммунистический Лофт Меняет Тарифную Сетку
19 Oct, 24 -
Digg 3.0 - Новости На Любую Тему
19 Oct, 24