История создания Norton Commander. Часть 1

в 17:17, , рубрики: dos, Блог компании Luxoft, Программирование, системное программирование

Переводил три дня с переменным успехом, осталось текста в два раза больше =) Наслаждайтесь историей успеха, которую мало кто знает, но сам продукт при этом знают все.

История создания Norton Commander. Часть 1 - 1

Пьяный программист сидит с открытым Norton Commander на экране. На обоих панелях открыт диск С. «Ну и зачем мне два диска С с одними и теми же файлами?» — подумал он и стер все его содержимое, нажав F8 и Enter.
— анекдот конца 80-х годов.

Нортон (Norton Commander) for DOS – это файловый менеджер для DOS, который существовал в 5 основных версиях – 1.0, 2.0, 3.0, 4.0, 5.0, причем только последняя версия имеет подверсию 5.5. Многие версии до сих пор используются различными энтузиастами и лежат на различных сайтах по сети Интернет.
Например, сайт Symantec содержит такой раздел FAQ: «Поддерживает ли Norton Commander 1.0/2.0 работу под MS Windows NT 5 (Beta)?»

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

Первая версия NC 1.0 была разработана Джоном Соча (Jonh Socha) в 1984-1989 годах. Мы предоставим короткую биографическую справку чуть позже.

Начиная с версии 2 Нортон Коммандер получил успех, сравнимый с успехом 123, WordPerfect и MS Word, особенно на территории бывшего СССР и восточной Европы, где синий экран Norton Commander стал синонимом DOS. Многие пользователи даже никогда и не подозревали что это не родной интерфейс DOS, а в русском языке слова «Нортон» и «коммандер» стали частью жаргона ИТшников, и стали, по сути, синонимами файлового менеджера. Если хотите получше изучить этот феномен, обратитесь к главе 1.

Нортон Коммандер учили в классах школ и институтов в большинстве стран региона бывшего СССР, а также европейских колледжей и университетов Востока. Это означает, что все выпускники были более-менее опытными пользователями Нортона, который был стандартным интерфейсом для DOS. И я бы хотел еще раз подчеркнуть, что многие люди даже и не подозревали что он не был частью DOS, а просто дополнительной утилитой. А эпоха DOS повлияла даже на процесс найма: мастерство использования Norton Commander стало связанно с использованием системы DOS в сознании многих руководителей найма IT специалистов.

Самая первая версия DOS была названа VDOS (Visual DOS) и была написана на смеси C и Assembler. Как сказал Джон Соча, вспоминая былые события:

Я начал работу над тем, что впоследствии стало известно как Norton Commander. Осенью 1984 года, когда я был еще аспирантом в области прикладной физики в университете Корнелла. Первые версии было полностью на Ассемблере. Но на это требовалось слишком много времени, потому я вскоре перешел на разработку на смесь Си и Ассемблера в то время как большинство «настоящих программистов» не воспринимало Си.

В то время я назвал его «Визуальный DOS» с аббревиатурой VDOS вместо обычных двухбуквенных сокращений, которые использовались в то время. Сама программа была вдохновлена несколькими вещами, собранными вместе. Тогда у меня был контракт с Microsoft Press, по которому я должен был написать несколько книг и даже провел некоторое время на Bellevue, штат WA чтобы работать там. После чего взял два месяца аспирантуры и написал книгу.

Вторая книга должна была быть книга о маленьких утилитах, которые я привык использовать (например, whereas, scrnsave, и прочие). Но я так и не закончил эту книгу из-за одной утилиты, на написание которой я потратил всю свою жизнь.

Джон Соча получил как MS так и PhD по направлению Прикладной Физики Университета Корнелла. После окончания университета Джон стал первым директором отдела исследований и развития ныне не существующей Piter Norton Computing. Он был вторым программистом в компании и вскоре нанял Брэда Кингсберри.

В это время Piter Norton Computing был театром одного актера. Он был основан одним из пионеров предпринимателей в развитии коммерческого программного обеспечения. Он создал свою первую компанию в 1982 году с $30,000 и компьютером IBM (компания была продана компании Symantec за 70 миллионов в 1990 году). В 1992 газета Smart Computing в статье « Investigating The Lost Files Of Peter Norton, PC Pioneer» Джиллиан Кулидж написала:

История гласит, что Питер Нортон работал в аэрокосмической промышленности еще в конце 1970-х годов, но он потерял работу, когда Boeing, McDonnell Douglas и Lockheed провели масштабные сокращения. Для оплаты счетов, Нортон стал брать подработки по контракту.

Однажды, Нортон случайно удалил важный файл, что было достаточно частой и общей для всех, ошибкой. Вместо того чтобы заново ввести всю информацию он подумал чтобы написать компьютерную программу, которая будет восстанавливать потерянные данные. Эта программа не только спасла потерянный файл, но и в конечном итоге также помогла сделать Питера Нортона очень богатым, и очень известным человеком.
Нортон назвал свою программу Norton Utilities…

Шел 1982 год и Нортон выпустил на рынок программу через свою компанию (в которой работал только он сам), Piter Norton Computing Inc. (PNCI).В следующем году, PNCI выпустила вторую версию Norton Utilities, которая на самом деле состояла из нескольких маленьких утилит, которые спасли «потерянные» файлы и содержимое диска.

В 1984 году PNCI получила $1M долларов, а также выпустила Norton Utilities версии 3. В то время на компанию работало три человека. Однако он сам занимался всей разработкой и написанием книг, мануалов и бизнесом. Это важно понимать, что на самом деле компания была театром одного актера с некоторым вспомогательным персоналом. Потому доход, который был получен с версии 3.0 сделал очевидным факт: компания нуждается в расширении. Необходим программист. Брэд Кингсберри, который был автором утилиты NCD (которая была позже интегрирована в Norton Commander как режим NCD), вспоминает те дни:

Я присоединился к Piter Norton Computing в 1985, как первый программист компании. Мой предыдущий работодатель только что закрой свои двери, потому я разослал свое резюме в несколько компаний. Питер ответил мне и оплатил билеты до Сиэттла, где он отдыхал в летнем отпуске. И нанял на месте. И т.к. Питер был все еще в отпуске, я начал работу прямо из отеля в Сиэттле и проработал оттуда в течении первых двух недель. Далее, в течении следующих 6 месяцев я работал с кухонного стола PNCI. Когда Эйлин, жена Питера, начинала готовить ужин, я понимал что рабочий день закончен и отправлялся домой.

… Моими обязанностями были разработка программного обеспечения и этим я и занимался. Теперь сотрудников компании PNCI было пять человек. Питер занимался разработкой, управлением, маркетингом и написанием мануалов из берлоги своего дома. А трое его сотрудников работали наверху.

Питер Нортон всегда был непринужденным человеком. Вся его философия сводилась к фразе, которую я от него постоянно слышал: «мы будем заниматься этим бизнесом пока это весело». Потому основным фокусом заниматься чем-либо было «круто» или «весело», а уже потом – деньги.

«Я никогда не знал, что было бы, если бы мы так и не заработали денег, но сам процесс был бы веселым. Возможно, это все-таки не было бы так весело, особенно для Питера», — говорит Кингсберри. «Но он не стремился создавать «следующее поколение программного обеспечения», и не стремился заработать большую кучу денег. С ним было реально весело провести время, он любил гибкость и нелюбил работать на кого-то»

PNCI достиг дохода в 5 миллионов долларов. В 1986 году он опубликовал несколько других пакетов программного обеспечения, однако по словам Питера, утилиты Нортона все еще были дойной коровой. Они получают все более широкое признание, а пользователи осознали преимущества восстановления данных.

Питер Нортон, по сути, создал новый класс программного обеспечения для персональных компьютеров: программное обеспечения восстановления данных. И, поскольку это был выгодным сектором, стало понятно что это начнет притягивать конкурентов ( PC Tools была наиболее выдающейся). Цитируя Питера Нортона:

Почему Утилиты Нортона стали таким популярным программным обеспечением? Промышленная мудрость гласит: программное обеспечение становится популярным либо путем предоставления превосходящих возможностей, либо путем решения проблем, которые были ранее не разрешимыми. В 1982 году, когда я сел за мой компьютер чтобы написать Unerase, я решал общую проблему, для которой не существовало каких-либо решений.

Питер Нортон быстро понял что наткнулся на золотую жилу и начал делать бизнес. Это было одной из причин почему он нанял Кингсберри и Соча.
PNCI опубликовала несколько версий, каждая из которых была все более и более способной практически десятилетие своего существования. Питер Нортон также был одаренным писателем, что было важно часть пиара. Также он написал несколько книг. Его наиболее влиятельной книгой была книга в соавторстве с Джоном Соча и была наилучшей книгой для изучения Ассемблера Интела более чем десятилетие. Между прочим, его знаменитая цитата: «Язык Ассемблера – это экстравагантный отход человеческого таланта и вы должны избегать его везде, где только возможно», — из издания 1896 года.

Ядром Утилит Нортона была утилита FAT Undelete, которая позволяла восстанавливать файлы, если их кластеры не были переписаны при создании новых файлов. В системе FAT для того чтобы восстановить файл было достаточно восстановить первую букву имени файла в записи каталога (эта возможность файловой системы FAT использовалась системой DOS, но не была задокументирована). После первого релиза Питер Нортон сделал Utilities Editor для PC Magazine. Пакет быстро рос и вторая версия (ver. 4, 1986) содержала более 20 утилит (Брэд Кингсберри принял участие в разработке, т.к. был нанят летом 1985 года. Он был талантливым программистом и сделал много вклада в разработку утилит. Примером может послужить ndd)

  • nu, ud (UnRemove directory) и с версии 4.0 qu (quick format) – уникальный набор утилит для восстановления файлов в файловой системе FAT: “Norton Unility” и утилита восстановления каталогов. Одна из первых в своем классе. Позднее реализованный новаторский метод восстановления удаленных файлов в FAT стал залогом успешного запуска компании. Quick Unerase (qu) был добавлен в Norton Utilities 4.0
  • fr (format Recover). Он должен был стартовать из autoexec.bat с параметром командной строки /save и писал на диск специальный файл frecover.dat, который создавал дубликат системных блоков файловой системы и позволял полностью восстанавливать файловую систему после команды format.
  • sd – знаменитый Speed Disk – пионер в вопросе дефрагментации диска и была одной из первых утилит для оптимизации файловой системы.
  • ncd (Norton Change Directory) – пионер в навигации по файловой системе как по иерархической структуре и содержал быстрый алгоритм поиска. Он ввел быстрый поиск по иерархии каталогов, введенный XTree. Эта утилита впервые была введена в версии 4.0 и была написана Брэдом Кингсберри
  • В поздних версиях также присутствовала очень интересная утилита, названная Norton Image, которая позволяла сохранять критические системные блоки на жестком диске для случаев, когда жесткий диск был внезапно отключен либо системные блоки были бы повреждены
  • Wipedisk и wipefile – утилиты для безвозвратного уничтожения информации в файле или жестком диске

Позднее, многие другие безумно успешные программы были добавлены:

  • ndd – знаменитый Disk Doctor – для корректирования ошибок в FAT (появилось в версии 4.5 в 1988 году). Позволял восстанавливать жесткие диски и флоппи-диски с поврежденными секторами, ошибками и разрушенными системными блоками.
  • ne – знаменитый Norton Disk Doctor Editor – уникальная мощная утилита для ручной корректировки ошибок и восстановления файлов на жестких дисках.
  • sf – Safe Format – позволяла отформатировать внешний или внутренний жесткий диск так, чтобы можно было быстро все восстановить (на самом деле переписывала старые системные сектора в конец диска).

Достижения Питера Нортона были раскрыты в статье Washington Post 1987 года так:

Если вы думаете, кто такой Питер Нортон, то наверняка вы думаете что это – «человек-диск», или в крайнем случае – поисковик потерянных файлов (как профессия, прим перев.). Это не совсем справедливо. Нортон распространял просветление и в других аспектах аппаратного и программного обеспечения. Но только небольшой процент тех, кто использует компьютер каждый день чувствовали ежедневную необходимость в «Руководстве по программированию» или в «Книге языка Ассмемблера». И если такая необходимость возникала, они всегда склоняются сначала обратиться к Нортону.

Питер Нортон также был автором идеи «персонализации» продвижения программного обеспечения через использование фотографий одной и той же модели для всей линейки продуктов (идея которая пережила приобретение компанией Symantec до сих пор используется в компании Symantec для всей линейки продуктов). Теперь он известен главным образом из-за его роли в качестве фотомодели на коробках Norton Utilities и других продуктов Symantec, принадлежащих к Norton Line. Но в былые времена его компания была очень инновационной, и очень нравилась Borland, Lotus и ряду других DOS – стартапам.

Среди их продукции были знаменитые Norton Guides: одни из первых успешных гипертекстовых реализаций (перед эпохой HTML). Более поздние реализации Norton Commander (с версии 3.0) используют этот формат справки. Мне кажется, более десятка гайдов было создано перед преобретением компании компанией Symantec, а общее количество книг, которые были сконвертированы в формат NG переваливало за сотню. Среди оригинальных гидов были:

  • The Assembly Language database, Copyright © 1987 by Peter Norton Computing, Inc., was written by Craig Stinson, Brad Kingsbury, Kevin Goldstein, John Socha, and Peter Norton ).
  • The Turbo C Database, Copyright © 1987, by Peter Norton Computing, Inc., was written by Deirdre Poeltler, Kevin Goldstein, Bruce F. Webster, John Socha, and Peter Norton.
  • The Turbo Basic database, Copyright © 1987 by Peter Norton Computing, Inc., was written by Craig Stinson, Burton L. Alperson, Brad Kingsbury, John Socha, and Peter Norton.

Джон Соча – человек, который придумал термин «заставка». И, может быть даже создал первую заставку. На самом деле в зачаточном состоянии заставка (ночное небо со звездами) была второй отличительной чертой Norton Commander 3.0 вместе с двумя панелями синего фона. Эту экранную заставку называли классической DOS заставкой и ассоциировали не с Нортон, а с DOS. В 2001 году Джо Форстер написал Звездную ночь, которая точно воспроизводит классическую заставку Norton Commander. Вы можете скачать и попробовать ее.

Первые годы развития Norton Commander (1984-1988) были годами триумфального восхождения MS-DOS, как наиболее широко распространенной операционной системы на планете. Она быстро сменила CP/M, и начиная с конца 1983 прилив «поднимает многие лодки»: многие программные продукты, созданные для MS-DOS стали доминирующими в своем классе и даже служили стандартом де-факто для портирования на другие ОС. И это не ограничивается работой с электронными таблицами, текстовыми процессорами, компьютерными играми. Утилиты также были быстроразвивающейся областью. Сумасшедшая, стрессовая область. Люди, испытывающие огромное давление, атмосфера стартапов… Многие из них уже полу-забыты или забыты полностью. Но это было первое программное обеспечение, «золотая лихорадка» которой позже в несколько иной манере он был переигран в течение дот-комов.

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

Персональные компьютеры начали продавать в конце 70-х годов. DOS в то время шел практически пустой, с программным обеспечением в самом зачаточном состоянии. Использование программного обеспечения мэйнфреймов IBM стоило очень дорого (час стоил около 70 долларов). И эта ситуация изменилась навсегда с запуском DOS. Персональный компьютер и соответствующее программное обеспечение для DOS представляет собой восстание против сложившихся устоев, а первые программные предприниматели DOS в этом смысле были революционерами, которые сломали старый порядок. Вы можете прочитать об этом периоде больше в книге Hard Drive Билла Гейтса и в «Империи Microsoft» Джеймса Уоллса и Джима Эриксона, опубликованные в 1993 году, когда память об этом периоде еще не рассеялась.

Все ранние игроки в этой новой отрасли были как швейцарские ножи в плане личностей. Они были способны работать долгие часы как программисты и одновременно быть отличными техническими руководителями и архитекторами. Атмосфера крысиных бегов многих стртапов была хорошо описана в Hard Drive Билла Гейтса, книге о первых годах жизни Microsoft

Потому лично меня не удивляет что Джон Соча позднее организовал несколько успешных стартапов. Как один известный спортсмен однажды сказал: «чем больше я занимаюсь практикой, тем более везучим я становлюсь». И это применимо ко всем успешным предпринимателям того периода. Эти стартапы нанимали ярких программистов, которые должны были работать сокрушительно долгие часы, с минимальным контролем, но при том в команде. И те, кто победил, были лучше и умнее. Они продавали клиентам продукцию высокого качества и по более низким ценам. Большинство из этих ранних программных предпринимателей DOS будут такими же успешными и в других областях. Просто они оказались в нужное время в нужном месте и сумели протолкнуть «твердое ядро» бизнеса чтобы выжить, перехитрить конкурентов о процветать. Питер Нортон превратил инвестиции менее $50000 в 1982 году в $70,000,000 в 1991, когда он продал компанию. Однако, он конечно же, был маленьким игроком. Ведь в 1995 году он получил 5 миллионов, тогда как Microsoft получила в 1995 году 140.

Интересно отметить что изначально Norton Commander была сильным конкурентом. Конкурентом, который побил всех к финишу, к версии 1.0 и который возглавлял пьедестал еще пять лет.

Вот как вспоминал Джефф Джонсон события, которые привели к запуску XTree в апреле 1985 года (XTree был запущен за год до Norton Commander):

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

Как вы видите, не было никакого способа управлять файлами. По крайней мере не было достаточно простого способа это делать: ведь для этой задачи не было ни одной утилиты. Были утилиты для CP/M, которые были написаны нашим другом, Майком Карасом, которые мы использовали. И некоторые, ориентированные на консоль, программы. Но ни одна из них не была направлена на управление структурой каталогов.

Это заставило всех нас глубоко вздохнуть…

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

Среди обсуждаемых идей были, например, как программа будет представлять структуру каталогов DOS и каким образом программа будет отображать их на экране. Я нарисовал это на доске. Это было похоже на дерево, которому необходима вода (видимо, имеется ввиду что оно растет в бок и лежит на земле, -прим. перев.). Но никто не поверил что это может быть сделано. «Невозможно», — сказали они.

Знаменитые, последние слова.

Я пошел домой в пятницу и программировал как сумасшедший до воскресения, после чего показал результат Гарри в понедельник. Неделю спустя мы решили попробовать отобразить дерево в программе резервного копирования, которую мы писали для Epson. Им понравилось. Мы имели зачатки собственного продукта.
В декабре 1984 года мы начали над тем, что вы знаете как XTree. Наш список пожеланий на TODO был огромный и многие из желаемых функций так и не попали в релиз. Однако, были добавлены позднее, в XTree и XTree Pro Gold. Я работал полный рабочий день над программой, в то время как Кен работал над ним между остальным задачами. Когда программа была написана достаточно чтобы использовать ее, мы начали ее использовать. Мы чувствовали что если другие люди будут на нее полагаться, она должна быть легка в обучении и полна функций чтобы помогать в работе.

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

Так было и с XTree. Дейл занимался контролем фич, которые входили в продукт. Чтобы он был взрывным по возможностям. Генри контролировал, чтобы мы не писали плохого кода. Том контролировал нас, чтобы мы делали понятный пользовательский интерфейс (его неустанная работа обеспечивала согласованность в интерфейсе продукта. И он был действительно оценен сотнями и миллионами пользователей.Каждый раз, когда мы думали что XTree готов, Том всегда указывал на то, что можно еще доработать). И, наконец, Кен. Он был отличным тестировщиком.

В итоге все что осталось сделатьм – это название.

Многие месяцы, сидя в офисе мы придумывали множество имен, но никак не могли договориться. И однажды ночью, моя жена предложила XTree. “X-Tree… X-Tree… почитайте о нем!”

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

Отлично, теперь у нас было имя, была программа и у нас была проблема: как мы протащим его в магазины чтобы такие люди, как вы могли бы купить ее, а мы смогли бы сделать на этом *ллиарды долларов? В то время у нас было всего два варианта: мы могли опубликовать ее сами, либо мы могли найти того, кто знал в этом вопросе больше чем мы: а в 1985 году было не так много людей, которые понимали хоть что-то в этом вопросе.

1-го марта 1985 года мы приняли решение опубликовать XTree самостоятельно.В момент безумия и находясь в West Coast Computer Faire в Сан-Франциско Дейл взял на себя ответственность и пообещал что XTree готов абсолютно полностью.

Все мануалы написаны, отпечатаны и что все сотни деталей, которые только могли бы быть полностью будут готовы в течении 30 дней. Как тогда казалось, мы взяли на себя непосильную ношу и всемирный День Дурака был прекрасным выбором для нашей премьеры.

Единственное, чего мы не знали — у Дейва был туз в рукаве: Майкл Кахлин, президент компании Cahlin/Williams Communications.

В течении следующих четырех недель у Кахлина был готовый продукт, дизайн упаковки, печатная продукция, пресс-материалы для изданий. Первая брошюра XTree «прочитайте все о XTree». И вместе с Дейлом Сайнором и Джуди Масоном был поставлен стенд на берегу West Coast Computer Faire.

Из-за огромной популярности Norton Commander, он оказал большое культурное влияние. Прежде всего слово Norton стало синонимом хорошего файлового менеджера. Он также породил огромное количество юмористических историй:

«Товарищи, мы должны отказаться от ложных ценностей, которые привили наши враги! То что пользователь Windows GUI счастливее пользователя командной строки похоже на то, как пьяный счастливее трезвого»

Про несовместимость Norton Commander и алкоголя:

Пьяный программист сидит с открытым Norton Commander на экране. На обоих панелях открыт диск С. «Ну и зачем мне два диска С с обними и теми же файлами?» — подумал он и стер все его содержимое, нажав F8 и Enter.

А это – запись одного из новичков на викторине, организованной мной на лаборатории в Киевском университете экономики и коммерции (который в тот момент заменил все копии Norton Commander на Volkov Commander в 1992-1994 годах):

Q: Как называется операционная система, в которой вы выполняли задание?
A:Volkov Commander.

Автор: sidristij

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js