Новости и события » Hi-Tech » Classic AppleWorks: сотворение мира

Classic AppleWorks: сотворение мира

Classic AppleWorks: сотворение мира

AppleWorks для Apple II предоставил Apple абсолютно реальный шанс занять лидирующую позицию в офисах всего мира. Шанс из разряда единственных в жизни. Воспользоваться им было несложно: надо было всего лишь не мешать. А еще лучше помочь. Но... Apple не была бы Apple.

Подобные шансы (единственные в жизни) выпадали Apple Computer неоднократно. И почти все они были высокомерно проигнорированы. Само существование Apple, строго говоря, ненаучно и нелогично. Или жизнь сложнее и разнообразнее, чем нам кажется.

В заголовке главный герой повествования назван несколько необычно - при жизни он не был классиком, его звали просто AppleWorks. Дело в том, что AppleWorks назывались три совершенно разных программных продукта, в которых не было ни единой общей строчки кода. Пока их было только два (AppleWorks и AppleWorks GS), сложностей не возникало.

В 1998 году Стив Джобс ликвидировал Claris Inc, превратив ее в FileMaker Inc, забрал часть программных продуктов под крыло Apple - и переименовал ClarisWorks в AppleWorks. Вот так и возникла необходимость как-то их различать.

ClarisWorks/AppleWorks и AppleWorks для Apple II - длинновато и неэстетично. А вот Classic AppleWorks, просто AppleWorks, и AppleWorks GS, по-моему, вполне. Если вам не нравится, я тут ни при чем: название Classic AppleWorks придумал не я.

В этом тексте AppleWorks всегда обозначает "AppleWorks для Apple II".

AppleWorks соблазняет Apple

AppleWorks разработал Руперт Лисснер. Когда программа была готова (Руперт разработал две версии, для Apple II и Apple III), Apple Computer купила у него исходный код и все права на версию для Apple II. Исходный код и права на версию для Apple III Руперт очень выгодно продал компании Haba Systems, которая выпустила ее под названием E-Z Pieces.

Во время разработки AppleWorks Руперт консультировался с группой пользовательского интерфейса на Apple и бывал в кампусе компании. Но в те времена так поступал не только он. Руководство интересовалось только готовыми программами.

Хотя до конца 1984 года никакой AppleWorks вообще не было. В детстве ее звали ApplePie, "яблочный пирог".

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

Например, текстовый процессор AppleWrite убил все попытки сторонних авторов создать свой собственный текстовый процессор для Apple II. Никто не решался.

Но и устоять против AppleWorks компания не могла, соблазн был слишком велик - она мучилась угрызениями совести и совершала по отношению к соблазнителю странные поступки.

Между тем, Руперт Лисснер - тот самый независимый сторонний разработчик из тех, кто "не мог конкурировать с Apple" и за чьи права так настойчиво боролось компьютерное сообщество. Просто очень талантливый.

Совершенно необходимо сказать пару слов об авторе.

Руперт Лисснер, UCSD-Паскаль и p-Code

Apple Computer неслучайно приглядывалась к разработкам Лисснера. Руперта там уже знали.

В 1980 году Руперт Лисснер попытался сам продавать систему управления базами данных (СУБД) для Apple III, QuickFile III. Продавал он настолько же бездарно, насколько гениально проектировал и программировал.

Программа была написана на UCSD-Паскале, специально для которого Apple создала в 1979 году операционную систему Apple Pascal. UCSD-Паскаль был неплохим расширением стандартного Паскаля, превращавшим этот игрушечный язык в реальный инструмент для написания сложных программ, Правда, программы, написанные на UCSD-Паскале, отличала от остальных "фирменная" медлительность.

В компьютерных кругах даже ходил слух о том, что якобы Apple Pascal (люди не знали, что это не язык, а операционная система!) не компилируемый язык, а интерпретируемый.

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

Интерпретируемый Паскаль - экзотика. Но, как ни странно, в некоторой степени так оно и было, правда менее глупо. UCSD-Паскаль компилировал исходный код, но не в машинный язык процессора, а в p-Code, универсальный ассемблер для несуществующего процессора, который исполнялся в виртуальной машине (как у Java), которая переводила p-Code, фразу за фразой. Это намного быстрее, чем синхронно переводить с Паскаля, но медленнее, чем просто выполнять машинный код.

Не спешите обливать грязью Университет Калифорнии в Сан Диего (и всех, кто придумал и реализовывал эту концепцию с 1966 года), у такого подхода много достоинств, а скорость выполнения - всего лишь плата за них.

QuickFile III для Apple III попала в поле зрения Apple, программа была потрясающе гибкой и легкой в использовании - и Apple взяла на себя ее продвижение и реализацию. В конце 1980-го или в начале 1981-го Руперт разработал QuickFile IIe, версию для Apple IIe, которую Apple тоже взяла под свое крыло.

Похоже, в QuickFile IIe и QuickFile III это было реализовано впервые: у файлов программ были одинаковые расширения и структура. Другими словами, файл, созданный в QuickFile III, мог использоваться QuickFile IIe, как если бы он был ее файлом, и наоборот. Может, кто-то уже делал это - но очень часто обходились без подобных тонкостей.

Загадочным для меня способом Лисснер смог познакомиться с Apple Lisa за пару лет до ее выхода в свет. Хотя до параноидальной защиты секретов в Apple Computer тогда еще не дошли, а в кампус компании он был вхож.

Знакомство с Lisa Office System не прошло бесследно для Руперта, у него возникла мысль: а что, если объединить в одной программе электронные таблицы, базу данных и текстовый процессор?

Lisa Office System не была интегральной программой. Это был интерфейс для конечных пользователей, графический и дружелюбный, в котором пользователей ждали семь программ: LisaWrite, LisaCalc, LisaDraw, LisaGraph, LisaProject, LisaList и LisaTerminal. По мнению Apple, это было "все, что может понадобиться пользователю". Писать в Lisa для самой Lisa было непросто, и до самого конца платформы для нее был выпущен только один сторонний программный продукт.

К 1982 году замысел окончательно созрел и превратился в проект ApplePie ("яблочный пирог").

ApplePie

Замысел был слишком красив, чтобы убивать его медлительностью, тем более что теперь от процессора требовалась куда большее напряжение - поэтому код ApplePie, от первой строчки до последний, написан на ассемблере 6502.

Программа писалась с педантичной тщательностью (чеки от Apple Computer, на очень даже приличные суммы, поступали регулярно), с вниманием к мельчайшим деталям.

Точнее, две программы: варианты для Apple II и для Apple III слишком сильно отличались один от другого, из-за отличий в архитектуре и системе управления памятью.

Как и в случае с QuickFile, расширения и структура файлов для всех типов документов новой программы, были сделаны одинаковыми. Кроме того, предусматривался импорт данных из внешнего мира - программа нескольких чужих для ApplePie форматов (включая файлы QuickFile, ASCII-файлы, таблицы VisiCalc и DIF-файлы).

DIF-файлы (текстовые файлы специальной организации) до сих пор используются для обмена данными между электронными таблицами разных типов. Формат поддерживался в начале 80-х электронными таблицами Excel, Lotus 1-2-3, dBase и многими другими).

У файлов "яблочного пирога" расширения (на Apple II и Apple III, и даже на Mac’е на ранней стадии его разработки, тип файла обозначался расширениями) были:

  • .AWP - документы текстового процессора;
  • .ADB - документы базы данных;
  • .ASP - документы электронных таблиц, вообще должно было быть.ASS, но это было бы слишком вызывающе.

Еще одна интересная особенность - общий буфер обмена данными между всеми частями программы...

Classic AppleWorks: сотворение мира

Classic AppleWorks: сотворение мира

Classic AppleWorks: сотворение мира

Apple


Магія східної кухні: особливості та традиції

Магія східної кухні: особливості та традиції

Східна кухня відома різноманіттям ароматів та смаків. Вона заснована на глибоких традиціях, історії та має особливості приготування. Звички формувалися впродовж багатьох століть під впливом різних культур та географічних особливостей. Вони присутні в кожній...

вчера 15:32

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

Вверх