В этой статье есть несколько проблем. Помогите улучшить ее или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти сообщения )
|
Helix — это система управления базами данных для платформы Apple Macintosh , созданная в 1983 году. Helix использует графический « язык программирования » для добавления логики в свои приложения, позволяя непрограммистам создавать сложные приложения. Helix была первой многопользовательской базой данных на любой платформе ПК, первым объектно-ориентированным визуальным инструментом программирования и первой реляционной базой данных на платформе ПК.
Первоначально созданная корпорацией Odesta Corporation из Нортбрука, штат Иллинойс, в 1983 году на оригинальном Macintosh, игра Helix дебютировала и получила восторженные отзывы, когда была впервые выпущена в конце 1984 года.
В то время Mac поддерживал только дискеты на 440 КБ в качестве хранилища. Первоначально пользователи запускали Helix с дискеты с Helix, установленной на «системном диске», где операционная система находилась до эпохи жестких дисков. Такая конфигурация оставляла мало места для приложений или данных. Предполагалось, что пользователи добавят вторую дискету для любого вида использования в реальном мире, с ОС и Helix на одной дискете и данными на другой. Несмотря на эти первоначальные ограничения, Helix была мощной реляционной базой данных .
В мае 1986 года Odesta выпустила Double Helix . Основной новый набор функций позволял создавать пользовательские меню и панели меню, что приводило к «автономным» приложениям. Для сравнения, оригинальный Helix создавал приложения, которые явно работали в Helix. Выпущенный как часть более крупного пакета программного обеспечения, пакет Helix также включал автономную версию среды выполнения, известную как RunTime Helix , которая позволяла пользователям запускать приложения Double Helix без установки полной версии, а также MultiUser Helix , которая работала в режиме клиент-сервер .
Обновления линейки продуктов Helix продолжались в течение 1980-х годов, но компания потратила огромное количество времени и денег на работу над версией, известной как Remote Helix , которая запускала базовую систему разработки Helix поверх баз данных на основе VAX . Идея заключалась в том, чтобы предложить Mac-подобный опыт на системах « большого железа », что было распространенной темой в начале 1990-х годов. Компания также выпустила ряд связанных инструментов, GeoQuery и Data Desk , для анализа баз данных. Однако вскоре популярность VAX сошла на нет, и продукт так и не стал пользоваться большим успехом.
В 1992 году Odesta разделилась, и оригинальные приложения Helix были выделены в отдельную компанию. Double Helix возродился как Helix Express в Helix Technologies , позиционировался как лидер производительности, а не как «простой в использовании». Материнская компания оказалась втянута в несвязанную, но дорогостоящую юридическую тяжбу, и Helix зачах. В 1998 году Helix Technologies была куплена The Chip Merchant, поставщиком памяти из Сан-Диего, который выпустил крупное обновление в 2000 году, добавив возможности TCP/IP к Helix Client/Server и значительно улучшив производительность всей линейки продуктов. Однако падение цен на память и спад экономики привели The Chip Merchant к банкротству в 2002 году, отправив Helix в юридическую неопределенность. В 2004 году компанию приобрели двое людей, которые руководили ее повседневной деятельностью, Джил Нумерофф и Мэтт Стрэндж, при финансовой поддержке неназванного бизнесмена и давнего пользователя Helix, в результате чего была создана новая компания: QSA ToolWorks .
QSA вернула в Helix соавтора Ларри Аткина, а позже и Стива Кейзера, первоначального архитектора MultiUser Helix. Названная Helix Recovery Team , эта новая команда управления и программирования начала задачу переписывания продуктов Classic Helix для работы под Mac OS X. OS X Helix Server, вместе с тремя собственными инструментами диагностики и обслуживания, был выпущен в декабре 2005 года.
Месяц спустя Apple анонсировала первые продукты, основанные на их переходе с процессоров PowerPC на процессоры Intel , заставив QSA «переключить передачи» и начать процесс преобразования своего кода в формат Universal Binary . Это заставило перейти от CodeWarrior IDE к Xcode , после чего они выпустили собственные релизы Intel своих трех « конечных пользовательских » продуктов. Ранние версии (известные как «Preview Releases») были неполными и нестабильными, но частые обновления (пять только в 2008 году) решали эти проблемы. Еще девять обновлений в 2009 и 2010 годах были сосредоточены на завершении набора функций, устранении оставшихся ошибок и повышении производительности.
В то же время QSA начала работу над переносом Helix IDE (известной как «Helix RADE») в OS X. Первоначально анонсированный в декабре 2009 года проект имел кодовое название Europa , как косвенную отсылку к фильму 2010. [1] В июне 2011 года QSA начала поставлять «предварительные релизы» — версии с некоторыми, но не всеми функциями, перенесенными в OS X. [2] Перенос функций продолжался вплоть до завершения в июне 2013 года. [3]
В сентябре 2022 года QSA Toolworks продала семейство программного обеспечения Helix компании Big Giant Donut Inc. из Нью-Мексико, которая внедрила решения на основе Helix в нескольких производственных и технологических компаниях. [4] Ларри Аткин и Стив Кейзер присоединились к Big Giant Donut для работы над новой программной платформой под названием «Donut», основанной на концепциях Helix. [5] Donut предназначен для работы на современном 64-разрядном оборудовании и запуска клиентского программного обеспечения в браузере. Пока они работают над этим, Big Giant Donut предоставила возможность бесплатно загружать последние версии программного обеспечения Helix со своего веб-сайта. [6]
Проект Helix известен как Коллекция , «документ», созданный Helix RADE (что означает «Rapid Application Development Environment»). Он представлен в системе своего рода «псевдо-рабочим столом», похожим на Macintosh Finder. Коллекция может содержать тысячи отдельных баз данных (также известных как отношения или таблицы). Приложения Helix открывают только одну Коллекцию за раз. Однако можно приобрести лицензии, чтобы разрешить доступ к многочисленным коллекциям одновременно, ограниченный в первую очередь доступной памятью.
Открытие коллекции приводит к появлению окна проекта с двумя основными частями, полностью управляемыми уникальным набором объектов GUI . Слева находится ряд колодцев значков , представляющих новые объекты, которые могут быть созданы, а прокручиваемое окно справа (известное как Окно коллекции ) отображает объекты, созданные пользователем. Значки перетаскиваются из колодцев слева в окно для создания новых объектов в коллекции. Эти объекты включают отношения (таблицы) для хранения данных, последовательности (макросы) для автоматизации задач и пользователей для создания пользовательских меню для конечного пользователя. Это одна из самых необычных и мощных функций Helix.
В Relation создаются таблицы базы данных (группы связанных данных). Relations содержат поля для определения типов данных, счеты для определения связей между данными и создания информации, которую поля сами по себе не могут представить, индексы для организации данных и повышения производительности, запросы для поиска данных, «шаблоны» для визуального структурирования информации и для ввода, изменения, удаления и печати из «Views», которые объединяют шаблоны, запросы и индексы для предоставления пользователю доступа к информации и контроля над ней.
Счеты используют полностью графическую систему для создания вычислений. Вы описываете желаемое вычисление, перетаскивая значки, представляющие операции и поля, в окно редактора счетов, а затем размещаете их в диаграмме потока данных. Например, чтобы сказать «имя, затем пробел, затем фамилия», вы перетаскиваете значок «далее», затем перетаскиваете поле «имя» в его первую часть и устанавливаете символ пробела в качестве его второй части; затем вы перетаскиваете второй значок «далее», подаете выходную стрелку из первого в первую часть второго и перетаскиваете поле «фамилия» во вторую часть.
Helix RADE работает в двух режимах: Design mode и User mode. В User Mode коллекция Helix открывается в одной из определенных пользовательских панелей меню, позволяя пользователю использовать базу данных так же, как и любое другое приложение. Design mode позволяет разработчику (или продвинутому пользователю) изменять дизайн базы данных, добавлять поля, создавать новые отчеты и т. д.
Хотя и призваны упрощать программирование, знаковые языки программирования часто «упускают суть»: программирование сложно не потому, что вам нужно печатать, а потому, что сложность очень быстро достигает уровня, на котором проект больше не может быть понят. Теоретически графический язык может помочь значительно снизить эту сложность (см. примеры в преднамеренном программировании ). В некоторых случаях они это делают, но во многих случаях они усугубляют проблему. Helix — очень снисходительный инструмент, позволяющий множество путей к одному и тому же результату. В руках неопытного пользователя, как и любой инструмент, сложные вычисления могут быстро стать громоздкими, требуя от программиста большого монитора (или двух) для эффективной работы. Однако опытные пользователи считают его визуальный подход экономящим время и освобождающим с небольшим количеством серьезных ограничений.
Хотя Helix вполне пригоден для работы с базами данных малого и среднего размера, распространенной проблемой для Helix является то, что большую часть своего существования он работал только в кооперативной многозадачной среде Classic Mac OS, что делает его довольно нестабильным для больших баз данных. Хотя сам язык программирования обладает масштабируемостью , необходимой для создания сложных баз данных, неспособность надежно работать в среде 24/7 низводит Helix до рабочих групп из 100 пользователей или менее. Однако эти ограничения быстро становятся историей. QSA выпустила версию своего Helix Server для OS X в декабре 2005 года и выпускает остальную часть своей линейки продуктов в версиях OS X в 2006 и 2007 годах.
Для тех, кто знаком с Helix, экономия времени разработки может быть значительной. Один эксперт, который также является ведущим тренером/разработчиком Microsoft Access, оценивает, что в зависимости от размера проекта проект Helix может быть завершен за 30–70% времени, как тот же проект Access. Экономия достигается, в частности, за счет отсутствия «языка» программирования, что исключает все синтаксические ошибки. Поскольку сам Helix не позволяет разработчику делать синтаксические или программные ошибки, оставшиеся источники проблем возникают из-за ошибок в бизнес-логике. Все языки сталкиваются с этой проблемой, но Helix снова смягчает трудности в отслеживании проблем из-за своей объектно-ориентированной и графической природы. Поскольку все объекты связаны (через значки, а не через кодирование), система «знает», какие объекты используются другими объектами и каким образом, и упрощает отслеживание ошибок бизнес-логики, а также предоставляет простой метод определения всего, на что может повлиять предлагаемое изменение любого объекта.
В Helix необходимо составлять весь код графически — таким образом, конструкция if...then...else строится с использованием виджетов типа блок-схем, таких как ромбы решений, а циклы реализуются с использованием соединителей.
Хотя визуальное программирование Helix, возможно, проще для освоения новичками (поскольку оно использует парадигму блок-схем, интуитивно понятную нетехническим людям), оно может стать утомительным, когда объем кода, который нужно написать, становится значительным, особенно для человека, которому писать код гораздо проще и удобнее, чем если бы ему приходилось перетаскивать иконки из палитры.
С этой целью, когда Helix RADE был обновлен для работы на компьютерах Intel Mac, был добавлен «язык выражений абакуса», чтобы предоставить эту возможность тем, кому она была нужна.