Clarion: Potencia en Desarrollo de Bases de Datos

28/01/2025

Valoración: 4.17 (8903 votos)

La búsqueda de información puede llevarnos a caminos diversos. Inicialmente, se nos planteó la pregunta de cómo contactar a la Libreria Clarin. Si bien la información específica para establecer contacto directo con esta librería no fue proporcionada en el material que se nos facilitó, sí se mencionó su dominio web: http://www.libreriaclarin.es. Esto sugiere una presencia en línea, lo cual es fundamental en el panorama actual para cualquier negocio, incluyendo las librerías, permitiendo a los usuarios explorar su catálogo y servicios de forma virtual. La disponibilidad de información de contacto como números de teléfono, direcciones físicas o correos electrónicos suele encontrarse directamente en sus sitios web oficiales.

Sin embargo, el grueso de la información proporcionada nos sumerge en un ámbito completamente diferente y de gran profundidad tecnológica: el lenguaje de programación Clarion. Este es un sistema robusto y con una rica historia en el desarrollo de aplicaciones de bases de datos. A continuación, desglosaremos sus características, evolución y particularidades que lo hacen una herramienta notable en el mundo de la programación.

Índice de Contenido

¿Qué es Clarion? Una Visión General Detallada

Clarion es un lenguaje de programación comercial y patentado, clasificado como de cuarta generación (4GL) y multi-paradigma. Desarrollado por SoftVelocity, se presenta como un entorno de desarrollo integrado (IDE) diseñado específicamente para la creación de aplicaciones de bases de datos. Su versatilidad es uno de sus puntos fuertes, ofreciendo compatibilidad con una amplia gama de métodos de acceso a datos, incluyendo el método de acceso secuencial indexado (ISAM), el lenguaje de consulta estructurado (SQL) y los objetos de datos ActiveX (ADO).

La capacidad de Clarion para interactuar con diversos formatos de bases de datos es impresionante. Puede leer y escribir archivos planos de escritorio como ASCII, valores separados por comas (CSV), DOS (binario), FoxPro, Clipper y dBase. Además, se integra con bases de datos relacionales a través de ODBC, Microsoft SQL Server, Sybase SQL Anywhere y Oracle Database, utilizando controladores de base de datos nativos acelerados. No se limita solo a datos estructurados, ya que también soporta XML y puede generar resultados en múltiples formatos, incluyendo HTML, XML, texto plano y el popular formato de documento portátil (PDF).

El Entorno de Desarrollo Integrado (IDE) de Clarion

El corazón de Clarion reside en su IDE, que está programado en el propio lenguaje Clarion. Este entorno se distingue por sus facilidades de generación de código, las cuales se logran mediante un sofisticado sistema de plantillas. Estas plantillas permiten a los programadores describir el programa desde un nivel abstracto superior, en lugar de centrarse directamente en las declaraciones de código. Posteriormente, el generador traduce esta descripción de alto nivel a código, que es compilado y enlazado por un compilador y enlazador estándar. Esta capa de generación es lo que a menudo se denomina programación 4GL, diferenciándose de la programación a nivel de código (3GL), la cual también es posible y opcional en Clarion.

Una característica poderosa del IDE es la flexibilidad que ofrece para la inyección de código. Los desarrolladores pueden insertar su propio código en el código generado para modificar o extender las funcionalidades que las plantillas proporcionan. Este proceso se realiza mientras se visualiza el código generado circundante, asegurando que las actualizaciones de la configuración de la plantilla y la regeneración del código no resulten en la pérdida del código incrustado personalizado. Las plantillas se suministran en formato fuente, lo que brinda a los desarrolladores la libertad de crear sus propias plantillas, y de hecho, una comunidad activa ha desarrollado numerosas plantillas, tanto comerciales como gratuitas.

En cuanto a sus productos principales, Clarion se ofrece en tres ediciones: Professional Edition, Enterprise Edition y .NET, cada una adaptada a diferentes necesidades de desarrollo.

Historia de Clarion: Un Viaje a Través de las Versiones

La historia de Clarion es un testimonio de adaptación y evolución en el mundo del software:

  • Clarion 1.0 (Abril de 1986): El primer lanzamiento para DOS, creado por Bruce Barrington y un pequeño equipo. Su objetivo era un lenguaje compacto y expresivo, maximizando el uso de la pantalla mapeada en memoria de la PC IBM con un diseñador de pantalla. Inicialmente, requería un dongle, que fue eliminado en la versión 1.1. Una versión más básica, Personal Developer, también se lanzó para aplicaciones muy sencillas.
  • Clarion Professional Developer (CPD) 2.0 (Mayo de 1988): Introdujo el componente Designer con un Diccionario de Datos, generando código Clarion basado en este diccionario y un 'archivo modelo'. Este modelo implementaba el paradigma 'navegar y formar', creando el código CRUD (crear, leer, actualizar, eliminar) esencial. Se introdujeron los Módulos de Extensión de Lenguaje (LEM).
  • Clarion Database Developer (CDD) 3.0 (1993): Un producto revolucionario que añadió una interfaz de usuario 'similar a Windows' (CUA). El IDE fue completamente nuevo, basado en el IDE de JPI (Jensen & Partners International), e incluía herramientas profesionales como editor, sistema de proyectos, compilador, enlazador y depurador visual. El compilador JPI producía .exes, LIB y DLLs en código máquina. Se mejoró el lenguaje con nuevos tipos de datos y un sistema de controlador de archivos robusto. A pesar de sus avances, la complejidad inicial y algunos errores en las primeras versiones generaron dificultades para los usuarios existentes.
  • Clarion para DOS (CFD) 3.1 (1995): Más estable que su predecesor, aunque el interés en las herramientas de desarrollo para DOS ya era limitado. Incluyó el importante controlador de archivos TopSpeed.
  • Fusión y TopSpeed Corporation (1992): Clarion se fusionó con JPI, formando una entidad que eventualmente se conocería como TopSpeed Corporation.
  • Clarion para Windows 1.0 (Enero de 1995): Lanzado por TopSpeed, el IDE fue una GUI de Windows completa, capaz de producir archivos binarios Win16 EXE y DLL. El lenguaje se adaptó para soportar la interfaz de usuario de Windows impulsada por eventos, permitiendo aplicaciones MDI multiproceso y añadiendo un controlador ODBC. El modelo de plantilla monolítica de DOS fue reemplazado por uno que permitía múltiples plantillas por ventana.
  • Clarion para Windows 1.5 (Septiembre de 1995): Añadió soporte para la creación de binarios Win32 nativos para Windows 95 y NT 4, aunque el IDE siguió siendo de 16 bits.
  • Clarion para Windows 2 (CW20) (Junio de 1996): Incorporó características clásicas de programación orientada a objetos (herencia, encapsulación, métodos virtuales y sobrecarga), mejoró la compatibilidad con 32 bits y añadió soporte para ActiveX y SQL.
  • Clarion 4 (C4) (Diciembre de 1997): Se omitió la versión 3.x. Introdujo un nuevo conjunto de plantillas y la biblioteca de clases ABC (Application Builder Classes), que generaba menos código y aprovechaba la lógica de la biblioteca. Mejoró la programación orientada a objetos con constructores y destructores.
  • Clarion 5 (C5) (Mayo de 1998): El producto se dividió en ediciones Professional y Enterprise.
  • Clarion 5.5 (C55) (Agosto de 2000): Añadió interfaces a OOP.
  • Clarion 6.0 (C6) (Noviembre de 2003): Integró soporte directo para multiproceso preventivo. Las versiones 6.1 (2004), 6.2 (2005) y 6.3 (2006) siguieron, siendo la 6.3 la última versión del entorno de desarrollo de 16 bits, aunque producía ejecutables Win32.
  • Clarion 7 (C7) (Abril de 2009): SoftVelocity lanzó un nuevo IDE basado en SharpDevelop, integrando la tecnología de generación de código de Clarion. Incluyó un sistema de compilación basado en MSBuild y compatibilidad con versiones anteriores. Se anunció Clarion# (versión .NET Framework beta), pero su futuro sigue siendo incierto.
  • Clarion 8 (Septiembre de 2011), C9.1 Gold (Agosto de 2014), Clarion 10 (Noviembre de 2015), Clarion 11 (Octubre de 2018): Continuaron la evolución del producto, con C10 siendo retrabajado para construir en .NET 4.

Características y Propiedades Clave del Lenguaje Clarion

Clarion es históricamente notable por ser una de las primeras herramientas de programación 4GL, desarrollada por primera vez en la década de 1980, lo que subraya su legado en la informática.

Propiedades del Lenguaje

El lenguaje Clarion es imperativo y soporta una sintaxis de programación orientada a objetos. No distingue entre mayúsculas y minúsculas, y los finales de línea actúan como terminadores de instrucciones implícitos, a menos que se use un carácter de continuación de línea. Las etiquetas de datos y programas siempre se declaran en la columna 1, mientras que el código se sangra a partir de la columna 2. Su sintaxis se asemeja estructuralmente a BASIC y Pascal, aunque el lenguaje en sí es bastante diferente.

Los bloques de código en Clarion suelen tener un inicio implícito y un final explícito o implícito. Por ejemplo:

If x = 5
y = z * 3
end

Un período también puede usarse como terminador:

If x = 5
y = z * 3.

Y el código puede concatenarse en una línea usando el separador ';':

If x = 5 then y = z * 3.

Uso de Plantillas

La generación de código en Clarion se realiza mediante plantillas. El código generado por estas plantillas es altamente confiable, especialmente cuando las plantillas han sido utilizadas por un tiempo. Aunque las plantillas se envían en formato fuente y pueden editarse, no se recomienda modificar las plantillas estándar. En su lugar, el código generado puede aumentarse o modificarse creando plantillas personalizadas adicionales o incrustando código específico. La versatilidad de las plantillas permite generar cualquier archivo basado en texto, no limitándose a declaraciones de lenguaje.

Amplia Variedad de Extensiones y Compatibilidad entre Lenguajes

El lenguaje Clarion tiene una excelente capacidad de interacción con archivos DLL producidos por otros lenguajes, soportando bibliotecas que utilizan los métodos de paso de parámetros Pascal o C. Las llamadas a la interfaz de programación de aplicaciones (API) de Windows se pueden realizar directamente desde el lenguaje, lo que ofrece una gran flexibilidad.

Flexibilidad de la Base de Datos

Clarion se centra en los datos, lo que significa que está diseñado para ser utilizado con una amplia variedad de proveedores de bases de datos. Este enfoque comienza con el Diccionario de Datos, un método para declarar formalmente tablas de datos. Este diccionario es ampliamente utilizado por las plantillas durante la generación del programa, permitiendo que los cambios a nivel del diccionario se propaguen automáticamente al programa.

El Diccionario de Datos proporciona un método independiente del proveedor para declarar tablas, lo que facilita el cambio de un programa de un proveedor de base de datos a otro con mínimos o nulos cambios en el programa. Clarion soporta bases de datos SQL y almacenes de datos no SQL. El soporte para tipos de archivos ISAM populares (dBase, Btrieve) está integrado, y también se proporcionan dos sistemas de archivos ISAM propietarios: Topspeed (TPS) y Clarion (DAT).

En el código del programa, las tablas son un tipo de datos nativo. El acceso a la tabla se proporciona mediante una interfaz DLL estándar (denominada controlador de base de datos), que separa el programa del almacén de datos elegido. Esta abstracción permite que el backend cambie con cambios mínimos o nulos en el programa.

Clarion soporta de forma nativa numerosos formatos de bases de datos, incluyendo:

  • ASCII
  • Básico
  • BTrieve
  • Clarion (.DAT)
  • Velocidad máxima (.TPS)
  • Clíper
  • DBaseIII
  • DBaseIV
  • DOS
  • FoxPro / FoxBase
  • Ms-SQL (T-SQL)
  • ODBC
  • SQL generalizado
  • SQLite
  • MySQL
  • Oracle
  • ADO (Objetos de datos ActiveX)

El controlador ODBC permite el acceso a cualquier fuente compatible con ODBC, siendo Firebird y Postgres opciones populares. Además, gracias a su facilidad para interactuar con cualquier biblioteca de clases .NET, Clarion puede aprovechar las últimas tecnologías de bases de datos de Microsoft, como ASP.NET, Windows Communication Foundation y Windows Workflow Foundation.

Aprendizaje y Habilidades del Diccionario

Clarion es un lenguaje simple, similar a BASIC o Pascal, pero con la adición de objetos y clases. Una de sus características más potentes son las "secciones de declaración de datos del Diccionario de Datos". Al declarar cualquier tipo de dato o variable, se pueden definir atributos como su "mensaje o etiqueta", "máscara" o "imagen", si es de solo lectura, si se debe omitir en el formulario, colores de primer plano y fondo, transparencia y muchos otros. Si esa variable se ingresa en un formulario en el IDE de Clarion, adopta automáticamente estas propiedades. Cuanto más tiempo dedique un desarrollador a definir el Diccionario de Datos, más tiempo ahorrará al generar aplicaciones 4GL, que suelen incluir listas de datos con capacidades CRUD completas, validación y búsqueda automática de tablas secundarias.

Ejemplo de 'Hola Mundo' en Clarion

Un programa simple de 'Hola Mundo' en Clarion se vería así:

PROGRAM MAP END CODE MESSAGE('Hello World!','Clarion') RETURN

Programación para No Programadores

Aunque el código de muestra anterior es un ejemplo de código escrito a mano, la mayoría de los desarrolladores de Clarion no escriben programas completos a nivel de código, sino que utilizan las plantillas para generar código. Gracias a esta capacidad de describir un programa en un nivel superior al del código, Clarion ha ganado popularidad entre no programadores y programadores con habilidades limitadas. Es posible generar programas sofisticados basados en datos sin escribir código de lenguaje o añadiendo solo cantidades mínimas de código propio.

El Mapa Global

Una característica distintiva de Clarion es el Mapa Global. Dentro de este, se declaran las definiciones de los procedimientos, incluyendo, si es necesario, declaraciones a bibliotecas o DLL externas escritas en lenguajes que no son Clarion. Clarion también puede generar archivos DLL que pueden ser consumidos por aplicaciones externas, aprovechando al máximo todas sus capacidades 4GL. Dentro del Mapa Global, se pueden aprovechar todas las declaraciones de la API de Windows, utilizando tipos de datos fundamentales para el sistema operativo.

Interoperación con Bibliotecas .NET

Dado que Clarion# se basa en la versión 4 de .NET, permite al desarrollador utilizar otras bibliotecas .NET. La ventaja de usar Clarion# directamente es que la compilación de una DLL de Clarion# genera un archivo LIB compatible con Clarion para Windows, permitiendo que un programa de Clarion para Windows llame a las funciones .NET en la DLL de Clarion# de la misma manera que a otras DLL de Win32. Además, los desarrolladores pueden exponer funciones .NET a lenguajes nativos de Windows utilizando paquetes como 'Unmanaged Exports', lo cual es útil para mantener productos Clarion sin necesidad de actualizar herramientas de terceros.

Críticas a Clarion

A pesar de sus muchas fortalezas, Clarion ha enfrentado algunas críticas:

  • No hay Versión de Prueba Disponible: A partir de 2016, no existía una versión de prueba gratuita de ninguna edición de Clarion, lo que impedía a los interesados probar el lenguaje sin adquirir una licencia. Aunque se anunció una edición comunitaria gratuita en la Conferencia Internacional de Desarrolladores de Clarion (CIDC) en 2019, aún no está disponible.
  • Documentación Deficiente: La calidad de la documentación de Clarion ha sido inconsistente. A menudo mezcla capacidades de "Nivel empresarial" y ".NET" en una única fuente de ayuda, lo que puede llevar a descripciones de funciones que no están presentes en el producto específico que se está utilizando. Además, la documentación se ha quedado rezagada con respecto al producto, con numerosas referencias a versiones anteriores (por ejemplo, "Clarion 7" en la documentación de "Clarion 9") y una falta de revisión completa en cada lanzamiento, afectando también a los tutoriales y aplicaciones de muestra.

Preguntas Frecuentes sobre Clarion

¿Clarion es un lenguaje de código abierto?
No, Clarion es un lenguaje de programación comercial y patentado, desarrollado por SoftVelocity.
¿Qué tipos de bases de datos soporta Clarion?
Clarion soporta una amplia variedad de bases de datos, incluyendo archivos planos (ASCII, CSV, DOS, FoxPro, Clipper, dBase), ISAM propietarios (Topspeed, Clarion), y bases de datos relacionales a través de ODBC (MS-SQL, Sybase, Oracle, SQLite, MySQL, Firebird, Postgres) y ADO.
¿Puedo usar Clarion para desarrollar aplicaciones web?
Sí, Clarion puede generar resultados en HTML y XML, y su interoperabilidad con bibliotecas .NET, especialmente a través de Clarion#, permite el desarrollo de aplicaciones web y la integración con tecnologías como ASP.NET.
¿Es Clarion adecuado para programadores principiantes?
Sí, Clarion es considerado un lenguaje relativamente simple de aprender, con una sintaxis que se asemeja a BASIC o Pascal. Su enfoque 4GL y el uso de plantillas facilitan el desarrollo de programas sofisticados con poca o ninguna codificación manual, lo que lo hace accesible para no programadores.
¿Cómo se maneja la programación orientada a objetos (POO) en Clarion?
Clarion ha ido incorporando características de POO a lo largo de sus versiones, incluyendo herencia, encapsulación, métodos virtuales, sobrecarga, constructores, destructores e interfaces, especialmente a partir de Clarion para Windows 2 y Clarion 4.

Conclusión

Clarion se erige como un lenguaje de programación con una trayectoria notable y capacidades avanzadas, especialmente en el ámbito del desarrollo de aplicaciones de bases de datos. Su enfoque en la generación de código mediante plantillas y un robusto Diccionario de Datos, junto con su flexibilidad para interactuar con múltiples formatos de bases de datos y otros lenguajes, lo convierten en una herramienta potente para la creación de software empresarial. A pesar de algunas críticas relacionadas con la documentación y la accesibilidad de una versión de prueba, su evolución continua y su adaptabilidad a nuevas tecnologías como .NET demuestran su relevancia y capacidad para seguir siendo un actor importante en el desarrollo de software.

Si quieres conocer otros artículos parecidos a Clarion: Potencia en Desarrollo de Bases de Datos puedes visitar la categoría Librerías.

Subir