Введение
Программное обеспечение для электронных таблиц
Lotus 1 2 3 — программа для электронных таблиц от Lotus Software (впоследствии вошедшая в IBM). Она стала первым «приложением-убийцей» для IBM PC, пользовалась огромной популярностью в 1980-х годах и внесла значительный вклад в успех IBM PC-совместимых компьютеров на бизнес-рынке. Первая электронная таблица VisiCalc помогла вывести Apple II на рынок как один из первых персональных компьютеров, используемых в бизнесе. С выходом IBM на рынок VisiCalc медленно реагировала, и когда это сделала, представила по сути прямой порт своей существующей системы, несмотря на значительно возросшие возможности аппаратного обеспечения. Решение Lotus позиционировалось как интегрированное решение «три в одном»: оно выполняло вычисления в электронных таблицах, обеспечивало функциональность базы данных и создание графиков, отсюда и название «1 2 3». Однако объём возможностей базы данных продукта оставался под вопросом, учитывая ограниченный объем памяти, оставшийся после запуска 1 2 3. Она быстро обогнала VisiCalc, а также Multiplan и SuperCalc — двух конкурентов VisiCalc. Lotus 1 2 3 была передовой электронной таблицей и стандартом на протяжении 1980-х и начала 1990-х годов, входя в состав неофициального набора из трех автономных продуктов для автоматизации офисной работы, включающего dBase и WordPerfect, для создания полноценной бизнес-платформы. Lotus Software также разработала собственный текстовый процессор под названием Lotus Manuscript, который получил некоторую известность в академических кругах, но не заинтересовал бизнес и потребительский рынок. С распространением Windows 3.0 в 1990 году рынок настольного программного обеспечения расширился еще больше. Ни один из крупных разработчиков электронных таблиц всерьез не рассматривал графический пользовательский интерфейс (GUI) в качестве дополнения к своим программам для DOS, поэтому они медленно отреагировали на продукты Microsoft с GUI, Excel и Word. В начале 1990-х годов Lotus уступила лидерство Microsoft и больше не смогла его вернуть. IBM приобрела Lotus в 1995 году и продолжала продавать продукты Lotus, официально прекратив продажи только в 2013 году.
ВизиКальк
VisiCalc был выпущен в 1979 году на Apple II и сразу же стал бестселлером. По сравнению с более ранними программами, VisiCalc позволял легко создавать гибкие вычислительные системы практически для любых задач, при этом ограничения были связаны главным образом с объемом памяти и скоростью компьютера. Программа была настолько привлекательной, что ходили многочисленные истории о людях, покупавших компьютеры Apple II только для того, чтобы на ней работать (см. статью «Программа-убийца»). Огромный успех VisiCalc на Apple II привел к созданию прямых, совместимых с ошибками версий для других платформ, включая 8-битные компьютеры Atari, Commodore PET и многие другие. Это касалось и IBM PC, выпущенного в 1981 году, где он быстро стал еще одним бестселлером, с предполагаемым объемом продаж в 300 000 экземпляров за первые шесть месяцев на рынке. В VisiCalc были известные недостатки, и появилось несколько конкурентов, которые стремились их устранить. Одним из ранних примеров был SuperCalc 1980 года, который решил проблему циклических ссылок, а чуть позже, в 1981 году, Microsoft Multiplan предложил более крупные таблицы и другие улучшения. Несмотря на это и другие альтернативы, VisiCalc продолжал опережать всех конкурентов по продажам.
Начало
Корпорация Lotus Development была основана Митчеллом Капором, другом разработчиков VisiCalc. 1 2 3 изначально был написан Джонатаном Саксом, который ранее, работая в Concentric Data Systems, Inc., создал две программы для электронных таблиц. Чтобы способствовать росту как в Великобритании, так и, возможно, в других странах, Lotus 1 2 3 стал первым компьютерным программным обеспечением, использовавшим телевизионную рекламу для потребителей. Капор был прежде всего гуру маркетинга. Его способность развивать продукт, чтобы он был привлекателен для нетехнических пользователей, была одним из секретов его быстрого успеха. В отличие от многих специалистов в области технологий, Капор опирался на отзывы фокус-групп, чтобы сделать инструкции для пользователей более понятными. Например, в инструкции, прилагаемой к дискете, было написано: "Снимите защитную обложку и вставьте диск в компьютер". Некоторые участники фокус-группы пытались оторвать жесткий пластиковый конверт, в котором находился диск. Признание Капором необходимости переводить инструкции, написанные техническим языком, на общеупотребительный английский, внесло значительный вклад в популярность продукта. Lotus 1 2 3 был выпущен 26 января 1983 года и сразу же превзошел Visicalc по объему продаж. В отличие от Microsoft Multiplan, он оставался очень близок к модели VisiCalc, включая обозначение ячеек буквами и цифрами "A1" и структуру меню с использованием косой черты. Программа была чисто написана, относительно свободна от ошибок, получила высокую скорость благодаря тому, что была полностью написана на языке ассемблера x86 (так было во всех версиях DOS до 3.0, когда Lotus перешел на C) и записывала данные непосредственно в видеопамять, а не использовала медленные функции вывода текста DOS и/или BIOS. Среди других нововведений, представленных Lotus, был конструктор графиков, который мог отображать различные типы графиков (включая круговые диаграммы, столбчатые диаграммы или линейные графики), но требовал наличия у пользователя видеокарты. На этом раннем этапе единственными видеокартами, доступными для ПК, были Color Graphics Adapter и Monochrome Display и Printer Adapter от IBM, причем последняя не поддерживала графику. Однако, поскольку обе видеокарты использовали разные адреса оперативной памяти и портов, обе могли быть установлены в одном компьютере, и Lotus воспользовался этим, поддерживая режим "разделенного" экрана, позволяющий пользователю отображать часть рабочего листа 1 2 3 на более четком монохромном дисплее, а графику – на дисплее CGA. Первоначальный выпуск 1 2 3 поддерживал только три видеоконфигурации: CGA, MDA (в этом случае конструктор графиков был недоступен) или режим двойного монитора. Однако, через несколько месяцев была добавлена поддержка Hercules Graphics Adapter от Hercules Computer Technology, которая была клоном MDA и позволяла использовать растровый режим. Возможность иметь текст и графику с высоким разрешением (за счет цвета) оказалась чрезвычайно популярной, и Lotus 1 2 3 заслуживает признания за популяризацию графической карты Hercules. Последующие выпуски Lotus 1 2 3 поддерживали все больше видеостандартов, включая EGA, AT&T/Olivetti и VGA. Важно отметить, что поддержка режимов PCjr/Tandy так и не была добавлена, и пользователи этих компьютеров были ограничены графикой CGA. Ранние версии 1 2 3 также имели защиту от копирования на дискете. Хотя программу можно было установить на жесткий диск, пользователю приходилось вставлять оригинальную дискету при запуске 1 2 3. Эта схема защиты была легко взломана и доставляла небольшие неудобства домашним пользователям, но оказалась серьезной проблемой в офисной среде. Начиная с версии 3.0, Lotus больше не использовал защиту от копирования. Однако тогда необходимо было "инициализировать" системный диск, указав свое имя и название компании, чтобы настроить копию программы. Эта функция была реализована в релизах 2.2 и более поздних версиях. Это был необратимый процесс, если только у вас не было точной копии оригинального диска, чтобы иметь возможность изменять имена и передавать программу другим. Зависимость от конкретного оборудования IBM PC привела к тому, что 1 2 3 использовался в качестве одного из двух приложений для стресс-тестирования, наряду с Microsoft Flight Simulator, для обеспечения 100% совместимости при появлении клонов ПК в начале 1980-х годов. 1 2 3 требовал два дисковода и не менее 192 КБ памяти, что делало его несовместимым с IBM PCjr; Lotus выпустил версию для PCjr, которая была на двух картриджах, но в остальном идентична. К началу 1984 года программное обеспечение стало "killer app" для IBM PC и совместимых компьютеров, нанося ущерб продажам компьютеров, которые не могли его запустить. "Они ищут 1 2 3. Да, они действительно ищут 1 2 3!" – писала InfoWorld. Отмечая, что покупатели компьютеров не так сильно хотят совместимость с ПК, как совместимость с определенным программным обеспечением для ПК, журнал предложил: "Давайте говорить прямо. Давайте не будем говорить 'совместимый с ПК' или даже 'совместимый с MS DOS'. Вместо этого давайте скажем 'совместимый с 1 2 3'. Реклама клонов ПК часто подчеркивала их совместимость с 1 2 3. Компания, занимающаяся разработкой программного обеспечения для Apple II, пообещала, что ее электронная таблица обладает "мощью 1 2 3". Поскольку электронные таблицы используют большой объем памяти, 1 2 3 способствовал популяризации увеличения объема оперативной памяти в ПК и, особенно, появлению расширенной памяти, которая позволяла получить доступ к памяти больше 640 КБ.
Соперники
Lotus 1 2 3 вдохновил множество имитаторов, первым из которых был "The Twin" от Mosaic Software, написанный осенью 1985 года преимущественно на языке программирования C, за которым последовал VP Planner, поддерживаемый Адамом Осборном. Эти программы могли не только читать файлы 1 2 3, но и выполнять многие или большинство макропрограмм, используя ту же командную структуру. Первоначально закон об авторском праве понимался как распространяющийся только на исходный код программы. После успеха судебных исков, утверждавших, что под защиту авторского права подпадает и "внешний вид и ощущение" программы, Lotus попытался запретить любые программы с совместимой структурой команд и меню. Ранее команды программ не считались объектом авторского права, но команды 1 2 3 были встроены в текст меню, отображаемого на экране. В 1990 году 1 2 3 выиграл трехлетний судебный процесс против Paperback Software International и Mosaic Software Inc. Однако, когда Lotus подал в суд на Borland из-за ее электронной таблицы Quattro Pro в деле Lotus v. Borland, шестилетняя тяжба, завершившаяся в Верховном суде в 1996 году, привела к решению, которое, по сути, сузило применимость закона об авторском праве к программному обеспечению. Это произошло потому, что решение нижестоящего суда о том, что наличие совместимого командного меню или языка не является нарушением авторских прав, было подтверждено, но лишь из-за тупиковой ситуации. В 1995 году Первый апелляционный суд постановил, что командные меню являются не подлежащим защите авторским правом "способом осуществления деятельности" в соответствии с разделом 102(b) Закона об авторском праве. Структура меню 1 2 3 (например, /File Erase) сама по себе была усовершенствованной версией однобуквенных меню, впервые представленных в VisiCalc. Когда дело дошло до Верховного суда, судьи оказались в тупике – 4 голоса против 4. Это означало, что Borland одержал победу, но вопрос о том, в какой степени закон об авторском праве применим к компьютерному программному обеспечению, остался без ответа и не был определен. В начале 1990-х годов Windows набирала популярность, а вместе с ней и Excel, который постепенно вытеснил Lotus с лидирующих позиций. Планировалась полная переработка 1 2 3 для Windows, но она не состоялась, и компания смогла лишь адаптировать существующую электронную таблицу для Windows, не внося никаких изменений, кроме использования графического интерфейса. Кроме того, различные версии 1 2 3 имели разные функции и немного отличающиеся интерфейсы. Lotus Symphony, предполагаемый преемник Lotus 1 2 3, стал попыткой Lotus выйти на рынок "интегрированного программного обеспечения". Предполагалось расширить базовый "все в одном" функционал 1 2 3 до полноценной электронной таблицы, графического редактора, базы данных и текстового процессора для DOS, но ни одному из интегрированных пакетов так и не удалось добиться значительного успеха. Lotus 1 2 3 перешла на платформу Windows в составе Lotus SmartSuite. Продолжающаяся разработка и маркетинг IBM Lotus SmartSuite и OS/2 в 1990-х годах поставили IBM в прямую конкуренцию с Microsoft Office и Microsoft Windows соответственно. В результате Microsoft "наказала IBM PC Company, установив более высокие цены, предоставив лицензию на Windows 95 с задержкой и отказав в технической и маркетинговой поддержке". Microsoft предоставила IBM права OEM на Windows 95 лишь за 15 минут до выпуска Windows 95 24 августа 1995 года. Из-за этой неопределенности машины IBM продавались без Windows 95, в то время как Compaq, HP и другие компании продавали машины с Windows 95 с самого начала. 11 июня 2013 года IBM объявила о прекращении использования бренда Lotus: IBM Lotus 1 2 3 Millennium Edition V9.x, IBM Lotus SmartSuite 9.x V9.8.0 и Organizer V6.1.0. IBM заявила: "Клиенты больше не смогут получать поддержку для этих продуктов после 30 сентября 2014 года. Продление срока поддержки не предлагается. Программы замены не предусмотрены".
Пользовательские функции
Название "1 2 3" произошло от интеграции продукта трех основных возможностей: наряду с основной функциональностью электронной таблицы, 1 2 3 также предлагал встроенные функции построения графиков и элементарные операции с базами данных. Возможности работы с данными включали сортировку данных в любом заданном прямоугольнике по порядку информации в одном или двух столбцах в пределах этой области. Выравнивание текста в диапазоне по абзацам позволяло использовать программу в качестве примитивного текстового процессора. В ней были клавиатурные всплывающие меню и команды, выполняемые одной клавишей, что обеспечивало высокую скорость работы. Программа также была удобна в использовании, представляя собой один из первых примеров контекстной справки, доступной по клавише F1. Макросы в первой версии и дополнения (представленные в версии 2.0) внесли значительный вклад в популярность 1 2 3, позволяя десяткам сторонних разработчиков продавать пакеты макросов и дополнений – от специализированных финансовых таблиц, таких как F9, до полноценных текстовых процессоров. В однозадачной MS DOS 1 2 3 иногда использовался как полноценный офисный пакет. Поддерживались все основные графические стандарты: изначально CGA и Hercules, а затем EGA, AT&T и VGA. Ранние версии использовали расширение файла "WKS". В версии 2.0 расширение сначала изменилось на "WK1", затем на "WK2". Впоследствии оно стало "WK3" для версии 3.0 и "WK4" для версии 4.0. Версия 2 представила макросы с синтаксисом и командами, сопоставимыми по сложности с продвинутым интерпретатором BASIC, а также строковые переменные. Более поздние версии поддерживали несколько рабочих листов и были написаны на языке C. Подпрограммы построения графиков были написаны на языке Forth Джереми Саганом (сыном Карла Сагана), а подпрограммы печати – Полом Фанком (основателем Funk Software).
Реальный режим (8088+)
Эти издания 1 2 3 для DOS были в основном написаны на языке ассемблера x86. Релиз 1 был первым релизом для ПК, работающих под DOS. Представлен в январе 1983 года. Выпуск 1A – в апреле 1983 года. Официально поддерживалась кодировка ASCII, неофициально – расширенный набор символов IBM (но не LICS). Представлен в сентябре 1985 года. Японская версия Lotus 1 2 3 Release 2J для компьютеров NEC PC 98 была выпущена 5 сентября 1986 года. Выпуск 2.01 – в июле 1986 года. Версия Lotus 1 2 3 Release 2.1J+ последовала в феврале 1989 года. Релиз 2.2 обеспечил повышенную скорость, автоматизированные инструменты макросов и графику презентационного качества. Представлен в 1989 году. Японская версия Lotus 1 2 3 Release 2.2J была выпущена в феврале 1990 года. Релиз 2.3 привнес редактирование в стиле WYSIWYG в линейку 2.x. Представлен в 1991 году. Японская версия Lotus 1 2 3 Release 2.3J была выпущена в сентябре 1991 года. Версия 2.4 добавила значки и дополнительные инструменты и стала последней версией, поддерживающей 2D электронные таблицы. Представлена в 1992 году. Японская версия Lotus 1 2 3 Release 2.4J была выпущена в сентябре 1993 года. В июле 1995 года Lotus выпустила Lotus 1 2 3 Release 2.5J для DOS.
Win32 (Windows 9x/NT)
97 Edition была первой 32-битной версией, требующей Windows 95 или Windows NT 4.0, и имела измененный интерфейс и поддержку LotusScript. Представлена в 1997 году. Японская версия Lotus 1 2 3 98J была выпущена 5 июня 1998 года, за ней последовала Lotus 1 2 3 2000J 2 июля 1999 года, а затем Lotus 1 2 3 2001J 27 июля 2001 года. Millennium Edition (версия 9.8) содержала новые функции, улучшенную поддержку Y2K, поддержку Интернета и повышенную совместимость с Excel. Это последняя версия 1 2 3 для любой платформы, получившая обновления в составе Fixpack 2. Представлена в 2002 году. Linux В 2022 году Lotus 1 2 3 для Unix System V/386 была адаптирована для GNU/Linux Тависом Орманди. SunOS / Solaris Было выпущено как минимум три версии для систем на базе SPARC. Версия 1.1 поддерживала как SunView, так и оконные системы OpenWindows / OPEN LOOK, а также обеспечивала обновление данных в реальном времени. Представлена в 1991 году. Версия 1.2 поддерживала "Classic" в xterm, "Classic" в X Window, OPEN LOOK и OSF/Motif. На основе версии для Solaris, другие порты UNIX были разработаны в офисах Lotus в Дублине. Включала в себя 1 2 3 HP UX, работающую на аппаратном обеспечении HP 9000 (серии 300/400 и 700), AIX, работающую на рабочих станциях RS/6000, DECstations, процессоре 88000 и другие версии UNIX, работающие на ПК Intel. Все эти версии поддерживали оконную систему X11. OpenVMS Для OpenVMS была доступна версия Lotus 1 2 3 с терминалом для отображения символов. HP MS DOS Palmtop В результате сотрудничества Hewlett Packard и Lotus, HP 95LX, HP 100LX, HP 200LX и HP OmniGo 700LX (1991–1994) имели порты Lotus 1 2 3 R2.2 и R2.4, встроенные в ПЗУ. Apple Macintosh Первая по-настоящему WYSIWYG-электронная таблица Lotus, в полной мере использующая возможности Mac OS, имела два выпуска: выпуск 1.0 дебютировал в 1991 году, а выпуск 1.1 был представлен в следующем году. Lotus 1 2 3 для Macintosh 1.0 получила оценку 4 мыши (из 5) в мартовском выпуске журнала MacUser за 1992 год, за то, что она стала первой электронной таблицей на Macintosh, предлагающей редактирование непосредственно в ячейках, а не использование строки формул, как в конкурирующих продуктах, а также за другие улучшения интерфейса. Пользовательский интерфейс предоставлял пользователям Macintosh расширенные возможности построения графиков версии для ПК с интерфейсом Macintosh, а также предлагал "классический" интерфейс, управляемый с клавиатуры, знакомый пользователям версии DOS, получив оценку 4 1/2 мыши (из 5). В 1987 году Lotus анонсировала мейнфрейм-версию Lotus 1 2 3, Lotus 1 2 3/M; 1 2 3/M была разработана для использования с терминалами IBM 3270 и работала как под операционными системами VM/CMS, так и MVS. Lotus 1 2 3/M была разработана совместно IBM и Lotus и продавалась исключительно IBM.
Форматы файлов
Форматы файлов Lotus 1-2-3 используют различные расширения имен файлов, включая 123, wks, wk1, wk2, wk3, wk4. Некоторые из них могут открываться в настольных приложениях Collabora Online, LibreOffice и Apache OpenOffice, после чего их можно сохранить в формате OpenDocument или других форматах файлов.
Прием
После предварительного просмотра 1 2 3 на IBM PC в 1982 году журнал BYTE назвал его "скромно революционным" за элегантное сочетание функций табличного процессора, базы данных и построения графиков. В журнале высоко оценили скорость и простоту использования программы, отметив, что благодаря встроенным справочным экранам и учебному пособию, "1 2 3 – одна из немногих программ, которыми буквально может пользоваться любой человек. Вы можете купить 1 2 3 и [IBM PC] и запустить их вместе в тот же день". В 1983 году PC Magazine назвал 1 2 3 "мощной и впечатляющей программой, а как табличный процессор – он превосходен", и объяснил его очень высокую производительность тем, что он был написан на языке ассемблера.
Клопы
Лотус 1 2 3 исходит из предположения, что 1900 год — високосный. Это неверно, так как хотя 1900 год делится на четыре, годы, кратные 100, не считаются високосными, если они не кратны 400. Эта ошибка сохраняется до сих пор, поскольку её конкурент, Microsoft Excel, намеренно поддерживает её для обеспечения совместимости со старыми электронными таблицами Lotus 1 2 3.