Kaleida Labs

редактировать

Kaleida Labs образована в 1991 году для производства мультимедиа кроссплатформенного Kaleida Media Player и объектно-ориентированный язык сценариев ScriptX, который использовался для программирования его поведения. Система была нацелена на производство интерактивных CD-ROM заголовков, что было основной областью усилий в начале 1990-х годов. Когда система была поставлена ​​в 1994 году, у нее были относительно высокие системные требования и объем памяти, а также отсутствовала собственная версия PowerPC на платформе Mac. Примерно в то же время быстрые изменения на рынке, особенно распространение World Wide Web и языка программирования Java, вытолкнули рынок интерактивных компакт-дисков в нишевую роль. Платформа Kaleida не получила значительного развития, и в 1996 году компания была закрыта.

Kaleida была одним из трех совместных предприятий Apple и IBM в 1990-х годах, в том числе Taligent . system и альянс AIM с Motorola для платформы PowerPC. ScriptX была одной из нескольких аналогичных программных платформ, начатых Apple в то время. Система SK8 также была нацелена на рынок мультимедиа, хотя она эволюционировала от того, что изначально было серьезным обновлением, до HyperCard. Язык программирования Dylan был более полнофункциональной платформой, предназначенной для общего программирования, а не только для мультимедиа. Разработка всех этих программных проектов закончилась примерно в одно время.

Содержание
  • 1 История
    • 1.1 Формирование
    • 1.2 Переориентация и выпуск
    • 1.3 Изменение рынка
    • 1.4 Закрытие
    • 1.5 После Kaleida
  • 2 Описание
    • 2.1 ScriptX
    • 2.2 Пример
    • 2.3 ScriptX и Java
  • 3 Ссылки
  • 4 Дополнительная литература
  • 5 Внешние ссылки
История

Формирование

Объявленный в 1991 г. Компания начала свою деятельность летом 1992 года, когда Нат Голдхабер стал ее первым генеральным директором. Компания была укомплектована вручную выбранными членами команды Apple QuickTime, а также сотрудниками IBM, занимающимися поставкой большого количества контента. Корпоративные офисы Kaleida располагались в Маунтин-Вью, Калифорния, на объектах рядом с амфитеатром Shoreline на восточной стороне шоссе США 101. Kaleida была одной из первых компаний, разместивших корпоративный веб-сайт.

Первой моделью системы был Kaleida Media Player или KMP. По сути, это была кроссплатформенная интерактивная версия QuickTime Player, которая будет работать на клонах Apple Macintosh, IBM PC, а также на наборе ящики-верхние и другие платформы. Он задумывался как единая универсальная мультимедийная система. На вершине этой модели был язык программирования ScriptX и библиотека объектов, которые позволили разработчикам сделать мультимедийные файлы полностью интерактивными.

Согласно заявлениям, сделанным на конференции Digital World, Goldhaber заявил, что ScriptX позволит разработчикам распространять свою работу практически на любом устройстве, просто «нажав кнопку на экране и выбрав« Сохранить как ScriptX »». Грандиозно заявления были типичными, и Голдхабер позже заявил, что «это действительно имеет некоторую подлинную социальную значимость».

Яркий стиль Голдхабера, дорогостоящая ведомость заработной платы и отсутствие очевидного прогресса привели к негативным сообщениям в прессе. Один руководитель, который описал, что «компания потратила около 20 миллионов долларов за год своего существования, и что Apple и IBM не хотят продолжать тратить деньги с такой скоростью. Он сказал, что зарплаты в Kaleida высоки и что у компании слишком много сотрудников для текущего этапа развития ".

В начале 1993 года Goldhaber и совет директоров начали спорить по поводу опционов на акции и Компания должна стать публичной. 18 июля 1993 года компания объявила, что Голдхабер заменен на посту генерального директора Майком Брауном, ранее работавшим в IBM. Компания заявила, что Голдхабер останется в совете директоров в усилиях по налаживанию отраслевых партнерств, но обвинила в этом отсутствие прогресс на этом фронте и «отказ от управления» Goldhaber как основные причины перехода. На прощание Голдхабер пошутил, что разные культуры и политические маневры в IBM и Apple с самого начала обрекли компанию на гибель.

Refocus и выпуск

После вытеснения Goldhaber сфера деятельности компании сузилась. От планов по созданию системы для приставок официально отказались в апреле 1994 года. С этого момента миссия Kaleida заключалась в завершении и поддержке языка ScriptX и мультимедиа. объект ct, которые к этому моменту были очень поздно. Kaleida стремилась связать KMP в качестве системного программного обеспечения с новыми персональными компьютерами. В то же время разработчики CD-ROM могли поставлять KMP с контентом для поддержки существующих систем Windows и Macintosh. В рамках новой направленности компания была сокращена, и увольнения составили от 20 до 25% персонала.

В конце 1993 - начале 1994 года целью компании было запустить Kaleida Media Player на компьютере. эталонная платформа, состоящая из процессора Motorola 68030 с тактовой частотой 25 МГц или процессора Intel 80486 с тактовой частотой 25 МГц, работающего с 4 МБ оперативной памяти. Такая система была типичной для установленной базы в то время, и большинство новых компьютеров поставлялись с приводом только для чтения CD-ROM. Toshiba, поддерживавшая проект Kaleida по созданию телевизионных приставок, стала миноритарным акционером. На протяжении всей своей краткой истории Kaleida поддерживала усилия по кроссплатформенной разработке для Windows (как Windows 3.1, так и Windows 95), Macintosh (с поддержкой платформ 68000 и PowerPC) и OS / 2.

Комплект разработчика ScriptX и версия 1.0 Kaleida Media Player были наконец выпущены 19 декабря 1994 года, но теперь значительно позже. Тем не менее, обзоры в целом были положительными, назвав его «замечательным своей простотой использования» и заявив, что основные «классы, обеспечивающие высокий общий знаменатель набора функций для разработки на основе ScriptX». Однако производительность была совершенно другой проблемой. Версия 1.0 KMP требовала 3,3 МБ ОЗУ в Windows и 2,9 МБ на Mac, и это было только для базовой среды выполнения, а не для фактического содержимого, которое в ней запускалось. Чтобы представить это в перспективе, Mac среднего уровня того времени был LC 475, который поставлялся только с 4 МБ стандартной оперативной памяти, из которых ОС использовала значительный объем. Более того, система не была выпущена в формате PowerPC, хотя к этому моменту PPC уже составляли верхнюю часть линейки Mac за восемь месяцев.

Меняющийся рынок

Kaleida была основана отчасти как среда разработки приложений на основе CD-ROM. Но жизненный цикл CD-ROM, который многие годы провозглашался системой доставки контента, оказался на удивление коротким. К 1995 году стало ясно, что World Wide Web будет поставлять многие из легких интерактивных систем, которые ранее поставлялись на CD-ROM, а видео и аналогичные системы с высокой пропускной способностью еще не подходили для Web, им не нужна была среда разработки или интерактивность, предлагаемая чем-то вроде Kaleida.

Kaleida также была создана, в некоторой степени, чтобы предложить альтернативу платформе Wintel для того, что на тот момент казалось развивающимся рынком в мире компакт-дисков. Гольдхабер неоднократно упоминал об этом, описывая грядущую «войну» за мультимедиа. После публичного предложения Netscape в начале 1995 года многие разработчики программного обеспечения осознали, что браузер сам по себе станет проблемой для Windows и что браузер сам по себе станет мультимедийной платформой. Автономная платформа для атаки на Wintel теперь существует. Затем Kaleida начал работу по доставке объектов через Интернет и доставке веб-контента.

Большинство потенциальных разработчиков Kaleida использовали выжидательный подход к системе, ожидая, пока Kaleida решит проблемы с производительностью и выпустит более стабильная версия ScriptX. Однако компания не смогла продемонстрировать систему, которая работала бы приемлемо при менее чем 16 МБ ОЗУ, что в то время было «верхним пределом» рынка. Программа Macromedia Director и связанная с ней программа Lingo воспользовались вакуумом для создания сильного рынка. Тем временем Sun Microsystems продвигала свой новый язык программирования Java как специализированную веб-систему, разработанную специально для работы даже на самых маленьких платформах.

Завершение

К концу 1995 года стало ясно, что ScriptX потерял свою популярность на рынке, хотя компания была на грани выпуска ScriptX версии 1.5. В ноябре 1995 года Apple Computer и IBM объявили о закрытии Kaleida Labs с января 1996 года. Материнские компании объявили, что они все равно выпустят ScriptX 1.5. Дальнейшая разработка ScriptX переместится в группу внутри Apple Computer, и Apple предложит работу большинству членов команды разработчиков ScriptX.

ScriptX версии 1.5 был выпущен почти одновременно с закрытием Kaleida Labs в январе 1996 года. Отправив ScriptX, Apple и IBM выполнили взятые на себя договорные обязательства перед разработчиками и избежали юридических трудностей. В конечном итоге, только два проекта мультимедийного контента были отправлены с использованием ScriptX 1.5. Одним из них была версия Шведской национальной энциклопедии Nationalencyklopedin на компакт-диске, разработанная Linné Data из Гетеборга, Швеция. Другой был интерактивным музыкальным названием, Безумный для регтайма Роберта Уинтера.

После Калейды

В течение нескольких месяцев разработка ScriptX в Apple прекратилась, а оставшиеся сотрудники либо перешли на другие должности. в Apple или ушел в другие компании отрасли. Приложение Director какое-то время оставалось главной силой на рынке мультимедиа, но было вытеснено, а затем заменено на Flash. Ранние версии Flash во многом являются клоном ScriptX, использующим небольшую среду выполнения подключаемого модуля с языком, управляемым событиями, и аналогичными требованиями к ресурсам.

Описание

ScriptX

Основным разработчиком программного обеспечения ScriptX был Джон Уэйнрайт, ученый-компьютерщик австралийского происхождения. ScriptX был реализован на C с использованием обширной библиотеки под названием Objects in C, которую Уэйнрайт разработал до того, как присоединился к Kaleida, и продал компании с самого начала. Объекты в C использовали директивы препроцессора для имитации объектной системы в библиотеках. Библиотека содержит более 240 классов, многие из которых предназначены для поддержки мультимедиа, а также для создания настраиваемых пользовательских интерфейсов. Общие структуры данных, такие как массивы и связанные списки, были реализованы как классы коллекций в библиотеке.

ScriptX был объектно-ориентированным языком сценариев, в котором использовались элементы дизайна из «Smalltalk, Dylan, Hypertalk, Lisp, Object Logo, C ++ и Pascal». В Smalltalk он разделял концепцию классов, объектов и наследования, но также имел множественное наследование как в классах, так и в объектах, а также динамическое связывание объектов во время выполнения. ScriptX не имел примитивных типов данных; даже целые числа были определены как объекты. Все объекты были экземплярами класса, а сами классы были экземплярами объекта MetaClass. Как и в LISP, здесь не было операторов, и каждая строка в программе ScriptX была выражением, которое возвращало значение.

ScriptX использовал сборку мусора, выполняемую в отдельном потоке для обработки памяти, и признакам хранилище предметов для постоянных коллекций. ScriptX поддерживал многопоточность, но не многопроцессорность, и предлагал скриптовое управление такими функциями операционной системы нижнего уровня, как события и одновременно выполняющиеся потоки. В ранних средствах разработки мультимедиа отсутствовали методы синхронизации презентаций, за исключением опроса собственных часов операционной системы. Рэй Вальдес, пишет в Dr. Dobb's Journal отмечает, что «ключевой функцией ScriptX является класс Clock, который предоставляет средства для синхронизации заданных по времени последовательностей действий, требуемых мультимедийными приложениями».

После закрытия Kaleida Labs Уэйнрайт продолжил в качестве главного архитектора языка сценариев для 3D Studio Max, который использовался для обработки контента для игр и 3D-приложений, таких как программы Maxis Sims. Таким образом, ScriptX можно считать прародителем MaxScript, который очень похож на ScriptX.

Пример

Следующий код иллюстрирует уникальный синтаксис языка ScriptX. Это часть класса, который обрабатывает отслеживание мыши в более крупной программе, написанной Доном Хопкинсом.

. Метод sendTrackDrop отправляет сообщение trackDrop другому объекту. метод sendTrackDrop self {class Tracker} service target xy data doit ->(local coords: = new Point repeat while (true) do (if (canObjectDo target trackDrop) then (return (trackDrop target service xy data doit)) else (coords. x: = x coords.y: = y local t: = findFirstAtPoint target coords if (t == empty) действительно возвращает false x: = x - tx y: = y - ty target: = t)))

Этот код отвечает за пересылку сообщений trackDrop между объектами и иллюстрирует ряд необычных функций языка ScriptX. Незначительный интерес представляет оператор присваивания : =, подобный тому, что используется в Паскале.

Переменные помечаются локальнымидля определения их области. Это противоположно большинству современных языков, где "local" является областью действия по умолчанию, и такое объявление было бы избыточным. В традиционных языках видимость области видимости определяется местоположением в файле исходного кода - переменные, объявленные внутри метода, являются локальными для этого метода, те, которые определены вне методов или другие объявления, являются глобальными для класса (или программы).

Отсутствие масштабирования на основе файлов является базовой особенностью языка ScriptX и ему подобных, в частности, Дилана. В традиционных языках, таких как Java, классы и подобные конструкции определяются в одном файле или, по крайней мере, в «главном файле». Область действия определяется файловой системой и расположением кода в ней. Напротив, в ScriptX любой метод может быть определен для любого класса в любом файле. В этом примере метод sendTrackDropприменяется к классу Trackerи может быть помещен в любой файл, к которому будет осуществляться доступ во время выполнения. Это позволяет программистам упорядочивать свой код по классам или по функциям за счет некоторого дополнительного синтаксиса.

ScriptX и Java

Java имеет много общего со ScriptX. Как и ScriptX, это объектно-ориентированный язык с элементами синтаксиса, аналогичными C и C ++. Классы Java поддерживают ограниченную форму множественного наследования через интерфейсы , а среда выполнения Java использует сборщик мусора для управления памятью с архитектурой «трассировки», аналогичной ScriptX. И Java, и ScriptX переводят программы в независимый от платформы байт-код.

В отличие от ScriptX, Java не является чисто объектной системой и имеет примитивные типы данных. В отличие от выражений ScriptX, программы Java всегда пишутся внутри определения класса и возвращают либо значение, либо void . Это значительно упрощает защиту кода Java от подделки и злонамеренного вмешательства. Java с самого начала была способна поддерживать многопроцессорные и многопоточные приложения и, следовательно, была естественно масштабируемой. Эти функции и другие атрибуты Java сделали его более подходящим для распределенной и сетевой среды, чем ScriptX.

Хотя и ScriptX, и Java были разработаны как платформенно-независимые среды виртуальных машин, их философия и реализация были совершенно разными. Kaleida Media Player представлял собой сложный интерпретатор, для работы которого требовалось несколько мегабайт, и Kaleida никогда не добивался эффективной производительности в системе с оперативной памятью менее 16 МБ. Напротив, Java была разработана для запуска скомпилированного байт-кода на урезанной виртуальной машине, которая могла быть реализована практически на любом 16-битном или более крупном процессоре. Таким образом, Java можно было использовать где угодно, от карманных устройств или бытовых устройств до мэйнфреймов.

В 1995 году Java демонстрировалась в основном как среда выполнения для небольших апплетов, как код, который можно было встроить в веб-страницы и загрузить для запуска в браузере. Sun Microsystems предоставила подробные спецификации для Java, выпустила множество классов с открытым исходным кодом и агрессивно сформировала альянсы для распространения и распространения своей разработки с другими компаниями в индустрии компьютерного оборудования и программного обеспечения.

Ссылки
Дополнительная литература
  • Kaleida Labs Inc. (1994). Руководство по архитектуре Scriptx. Эддисон Уэсли. ISBN 0-201-40729-9. Документация, сопровождающая ScriptX версии 1.0.
  • Kaleida Labs Inc. (1994). Справочник основных классов ScriptX. Эддисон Уэсли. ISBN 0-201-40730-2. Документация, сопровождающая ScriptX версии 1.0.
  • Kaleida Labs Inc. (1996). Руководство по архитектуре и компонентам ScriptX. Документация, сопровождающая ScriptX версии 1.5.
  • Kaleida Labs Inc. (1996). Справочник основных классов ScriptX. Документация, сопровождающая ScriptX версии 1.5.
  • Kaleida Labs Inc. (1996). Справочник по языку ScriptX. Документация, сопровождающая ScriptX версии 1.5.
  • Kaleida Labs Inc. (1995). Технический обзор ScriptX.
Внешние ссылки
Последняя правка сделана 2021-05-25 10:26:27
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте