Helix es un sistema de gestión de bases de datos para la plataforma Apple Macintosh , creado en 1983. Helix utiliza un " lenguaje de programación " gráfico para añadir lógica a sus aplicaciones, lo que permite a los no programadores construir aplicaciones sofisticadas. Helix fue la primera base de datos multiusuario en cualquier plataforma de PC, la primera herramienta de programación visual basada en objetos y la primera base de datos relacional en una plataforma de PC.
Historia
Creado originalmente por Odesta Corporation de Northbrook, IL en 1983 en la Macintosh original, Helix debutó con excelentes críticas cuando se lanzó por primera vez a fines de 1984.
En ese momento, Mac solo admitía disquetes de 440 kB como almacenamiento. Los usuarios inicialmente ejecutaban Helix desde un disquete con Helix instalado en el "disco del sistema", que era donde se encontraba el sistema operativo antes de la era del almacenamiento en disco duro. Esta configuración dejaba poco espacio para aplicaciones o datos. Se suponía que los usuarios agregarían un segundo disquete para cualquier tipo de uso en el mundo real, con el SO y Helix en un disquete y los datos en otro. A pesar de estas limitaciones iniciales, Helix era una poderosa base de datos relacional .
En mayo de 1986, Odesta lanzó Double Helix . El nuevo conjunto de características principales permitía la construcción de menús y barras de menú personalizados, lo que daba como resultado aplicaciones "autónomas". En comparación, el Helix original producía aplicaciones que claramente se ejecutaban dentro de Helix. Lanzado como parte de una suite de software más grande, el paquete Helix también incluía una versión de tiempo de ejecución independiente conocida como RunTime Helix que permitía a los usuarios ejecutar aplicaciones Double Helix sin la versión completa instalada, así como MultiUser Helix que operaba en modo cliente-servidor .
Las actualizaciones de la línea de productos Helix fueron continuas durante la década de 1980, pero la empresa gastó una enorme cantidad de tiempo y dinero trabajando en una versión conocida como Remote Helix que ejecutaba el sistema de desarrollo básico de Helix sobre bases de datos basadas en VAX . La idea era ofrecer una experiencia similar a la de Mac en sistemas " grandes ", un tema común a principios de la década de 1990. La empresa también lanzó una serie de herramientas relacionadas, GeoQuery y Data Desk , para analizar bases de datos. Sin embargo, no pasó mucho tiempo antes de que la popularidad de VAX se desvaneciera y el producto nunca fue un gran éxito.
En 1992, Odesta se separó y las aplicaciones originales de Helix se separaron. Double Helix resurgió como Helix Express en Helix Technologies , comercializada como líder en rendimiento en lugar de "fácil de usar". La empresa matriz se enredó en una batalla legal no relacionada pero costosa, y Helix languideció. En 1998, Helix Technologies fue comprada por The Chip Merchant, un proveedor de memoria con sede en San Diego, que lanzó una importante actualización en 2000, agregando capacidades TCP/IP a Helix Client/Server y mejorando significativamente el rendimiento de toda la línea de productos. Sin embargo, la caída de los precios de la memoria y una economía en recesión se combinaron para llevar a The Chip Merchant a la quiebra en 2002, enviando a Helix a un limbo legal. Fue comprada en 2004 por dos de las personas que dirigían sus operaciones diarias, Gil Numeroff y Matt Strange, con el respaldo financiero de un empresario anónimo y usuario de Helix desde hace mucho tiempo, formando una nueva empresa: QSA ToolWorks .
QSA trajo de vuelta al cocreador de Helix, Larry Atkin, y más tarde trajo de vuelta a Steve Keyser, el arquitecto original de MultiUser Helix. Este nuevo equipo de gestión y programación, denominado Helix Recovery Team , comenzó la tarea de reescribir los productos Classic Helix para que se ejecutaran de forma nativa en Mac OS X. El servidor OS X Helix, junto con tres herramientas nativas de diagnóstico y mantenimiento, se envió en diciembre de 2005.
Un mes después, Apple anunció los primeros productos basados en su cambio de procesadores PowerPC a procesadores Intel , lo que provocó que QSA tuviera que "cambiar de marcha" y comenzar el proceso de conversión de su código al formato binario universal . Esto obligó a una conversión del IDE CodeWarrior a Xcode , después de lo cual produjeron versiones nativas de Intel de sus tres productos para " usuarios finales ". Las primeras versiones (conocidas como "Versiones preliminares") no tenían todas las características y eran inestables, pero las actualizaciones frecuentes (cinco solo en 2008) abordaron estos problemas. Nueve actualizaciones más en 2009 y 2010 se centraron en completar el conjunto de características, erradicar los errores restantes y mejorar el rendimiento.
Al mismo tiempo, QSA comenzó a trabajar en llevar el IDE Helix (conocido como "Helix RADE") a OS X. Originalmente anunciado en diciembre de 2009, el proyecto tenía el nombre en código de Europa , como una referencia oblicua a la película 2010. [1] En junio de 2011, QSA comenzó a enviar "lanzamientos preliminares", versiones con algunas, pero no todas las características portadas a OS X. [2] La portabilidad de características continuó hasta su finalización en junio de 2013. [3]
En septiembre de 2022, QSA Toolworks vendió la familia de software Helix a Big Giant Donut Inc., con sede en Nuevo México, una empresa que había implementado soluciones basadas en Helix en varias empresas de fabricación y tecnología. [4] Larry Atkin y Steve Keyser se unieron a Big Giant Donut para trabajar en una nueva plataforma de software llamada "Donut", basada en los conceptos de Helix. [5] Donut está diseñado para ejecutarse en hardware moderno de 64 bits y para ejecutar software cliente dentro de un navegador. Mientras trabajan en esto, Big Giant Donut ha hecho que las versiones más recientes del software Helix se puedan descargar desde su sitio web de forma gratuita. [6]
Descripción
Un proyecto Helix se conoce como Colección , un "documento" creado por Helix RADE (que significa "Rapid Application Development Environment"). Está representado en el sistema por una especie de "pseudo-escritorio" similar al Finder de Macintosh. Una colección puede contener miles de bases de datos individuales (también conocidas como relaciones o tablas). Las aplicaciones Helix solo abren una Colección a la vez. Sin embargo, se pueden comprar licencias para permitir el acceso a numerosas colecciones simultáneamente, limitado principalmente por la memoria disponible.
Al abrir una colección se abre una ventana de proyecto con dos partes principales controladas completamente por un conjunto único de objetos de la GUI . A la izquierda hay una serie de pozos de iconos que representan nuevos objetos que se pueden crear y una ventana desplazable a la derecha (conocida como la Ventana de colección ) muestra los objetos que el usuario ha creado. Los iconos se arrastran desde los pozos de la izquierda hacia la ventana para crear nuevos objetos en la colección. Estos objetos incluyen relaciones (tablas) para almacenar datos, secuencias (macros) para automatizar tareas y usuarios para crear menús personalizados para el usuario final. Esta es una de las características más inusuales y poderosas de Helix.
En la Relación se crean las tablas de la base de datos (grupos de datos relacionados). Las relaciones contienen campos para definir los tipos de datos, un ábaco para definir las relaciones entre los datos y crear información que los campos por sí solos no pueden presentar, índices para organizar los datos y mejorar el rendimiento, consultas para buscar datos, "plantillas" para estructurar la información visualmente y para introducir, modificar, eliminar e imprimir desde "Vistas" que combinan plantillas, consultas e índices para dar al usuario acceso a la información y control sobre ella.
El ábaco utiliza un sistema completamente gráfico para crear cálculos. Describe el cálculo deseado arrastrando iconos que representan operaciones y campos a la ventana del editor del ábaco y luego organízalos en un diagrama de flujo de datos. Por ejemplo, para decir "nombre seguido de espacio seguido de apellido", arrastra un icono "seguido de", luego arrastra el campo "nombre" a su primera parte y establece un carácter de espacio como su segunda parte; luego arrastra un segundo icono "seguido de", introduce la flecha de salida del primero en la primera parte del segundo y arrastra el campo "apellido" a su segunda parte.
Helix RADE se ejecuta en dos modos: modo de diseño y modo de usuario. En el modo de usuario, la colección Helix se abre en una de las barras de menú de usuario definidas, lo que permite al usuario utilizar la base de datos como lo haría con cualquier otra aplicación. El modo de diseño permite al desarrollador (o usuario avanzado) modificar el diseño de la base de datos, agregando campos, creando nuevos informes, etc.
Aunque su objetivo es simplificar la programación, los lenguajes de programación icónicos a menudo "no dan en el clavo": programar es difícil no porque haya que escribir, sino porque la complejidad alcanza muy rápidamente un nivel en el que el proyecto ya no se puede entender. En teoría, un lenguaje gráfico puede ayudar a reducir considerablemente esta complejidad (consulte la programación intencional para ver ejemplos). En algunos casos, lo hacen, pero en muchos casos empeoran el problema. Helix es una herramienta muy indulgente, que permite numerosas rutas para el mismo resultado. En manos de un usuario inexperto, como ocurre con cualquier herramienta, los cálculos complejos pueden volverse rápidamente difíciles de manejar, lo que requiere que el programador tenga un monitor grande (o dos) para trabajar de manera eficiente. Sin embargo, los usuarios expertos encuentran que su enfoque visual ahorra tiempo y es liberador, con pocas limitaciones graves.
Aunque Helix es bastante hábil para manejar bases de datos de tamaño pequeño a mediano, un problema común para Helix es que durante gran parte de su vida útil, sólo se ha ejecutado en el entorno multitarea cooperativo del Mac OS clásico, lo que lo hace bastante inestable para bases de datos grandes. Aunque el lenguaje de programación en sí tiene la escalabilidad necesaria para crear bases de datos complejas, la incapacidad de ejecutarse de manera confiable en un entorno 24/7 relega a Helix a grupos de trabajo de 100 usuarios o menos. Sin embargo, estas limitaciones están pasando rápidamente a la historia. QSA lanzó una versión OS X de su Helix Server en diciembre de 2005 y está lanzando el resto de su línea de productos en versiones OS X en 2006 y 2007.
Para alguien familiarizado con Helix, el ahorro en tiempo de desarrollo puede ser significativo. Un experto que también es un destacado formador/desarrollador de Microsoft Access estima que, dependiendo del tamaño del proyecto, un proyecto Helix puede terminarse en un 30-70% del tiempo que el mismo proyecto Access. El ahorro se debe en particular a la ausencia de un "lenguaje" de programación, por lo que se eliminan todos los errores de sintaxis. Dado que Helix, por sí mismo, impide que un desarrollador cometa errores sintácticos o de programación, las fuentes restantes de problemas provienen de errores en la lógica empresarial. Todos los lenguajes se enfrentan a este problema, pero Helix una vez más suaviza la dificultad de rastrear los problemas debido a su naturaleza gráfica y basada en objetos. Debido a que todos los objetos están vinculados (a través de iconos, no a través de codificación), el sistema "sabe" qué objetos utilizan otros objetos y de qué manera, y simplifica el seguimiento de los errores de lógica empresarial y también proporciona un método simple para determinar todo lo que está a punto de verse afectado por un cambio propuesto en cualquier objeto.
Limitaciones de la programación visual Helix
En Helix, uno debe componer todo el código gráficamente; por lo tanto, se crea una construcción if...then...else utilizando widgets de tipo diagrama de flujo, como diamantes de decisión, y los bucles se implementan utilizando conectores.
Si bien la programación visual de Helix es posiblemente más fácil de aprender para los novatos (porque utiliza un paradigma de diagrama de flujo que es comprendido intuitivamente por personas no técnicas), puede volverse tediosa cuando la cantidad de código a escribir se vuelve significativa, especialmente para una persona que puede escribir código mucho más fácil y convenientemente que si se ve obligada a arrastrar íconos desde una paleta.
Con este fin, cuando Helix RADE se actualizó para ejecutarse de forma nativa en Mac Intel, se agregó un "lenguaje de expresión de ábaco" para brindar esta capacidad a quienes la necesitaban.
Referencias
- ^ "La última palabra: algo va a pasar…".
- ^ "Lo último: Por aquí: Helix RADE llega a macOS (6.2 PR1)".
- ^ "La última palabra: Helix RADE 6.2: Las preliminares han terminado".
- ^ Con la adquisición de Helix Software de QSA Toolworks, el gigante Donut apuesta a lo grande por el atractivo del desarrollo de aplicaciones sin código para una nueva generación, 1 de septiembre de 2022 [1]
- ^ [2]
- ^ "Descargas de software Helix".
Enlaces externos
- QSA ToolWorks, LLC