FOCUS es un lenguaje de programación de cuarta generación (4GL) y un entorno de desarrollo que se utiliza para crear consultas de bases de datos . Producido por Information Builders Inc., se desarrolló originalmente para el manejo y análisis de datos en el mainframe de IBM . Posteriormente, se implementaron versiones para minicomputadoras y plataformas como VAX y otras [ 1 ] . [ 2 ] [ 3 ] Más tarde, FOCUS se extendió a las computadoras personales y (en 1997) a la World Wide Web : el producto WebFOCUS .
Historia
El producto FOCUS de Information Builders comenzó como un producto alternativo a RAMIS de Mathematica , el primer lenguaje de programación de cuarta generación (4GL).
National CSS (NCSS), un proveedor de tiempo compartido , obtuvo la licencia para poner RAMIS a disposición en su sistema VP/CSS . [ 4 ]
En algún momento Mathematica cambió el precio de su licencia. [ 5 ]
Las partes interesadas fueron: [ 4 ]
- NCSS, que comercializaba RAMIS (y otros productos) para su uso en su sistema de tiempo compartido.
- Mathematica, propietaria de RAMIS
- Desarrolladores/programadores clave de RAMIS
- algunos se quedaron con Mathematica
- Otros se marcharon para formar la empresa que se convirtió en Information Builders, conocida por su producto FOCUS.
Relación con otros lenguajes de cuarta generación (4GL)
RAMIS fue el antepasado directo de FOCUS. [ 6 ]
Gerald D. Cohen y Peter Mittelman fueron los principales desarrolladores de RAMIS mientras trabajaban en Mathematica Products Group en 1970. Mathematica licenció RAMIS a varios clientes internos (incluidos Nabisco y AT&T Corporation ), y también fue ofrecido por la empresa de tiempo compartido National CSS . En [ 7 ] octubre de 1975 [ 8 ] Cohen dejó Mathematica y formó Information Builders, después de lo cual recreó el producto que había creado en Mathematica en forma de FOCUS, que era muy similar a RAMIS: "los mismos errores y los mismos mensajes de error mal escritos". [ 4 ] [ 9 ]
La sintaxis de FOCUS en sus elementos más simples es casi un clon directo de la sintaxis de RAMIS, con una semejanza similar a las diferencias entre los distintos dialectos iniciales de SQL. Al mismo tiempo, NCSS decidió trabajar en su propio producto, posteriormente llamado NOMAD . Los tres productos prosperaron durante la década de 1970 y principios de la de 1980, y FOCUS también se ofreció mediante un sistema de tiempo compartido a través de Tymeshare . [ 4 ]
El tiempo de Mathematica se agotó a mediados de los 80, y NCSS también fracasó, víctima de la revolución de la informática personal que dejó obsoleto el sistema de tiempo compartido comercial.
RAMIS fue vendida a varias compañías, hasta que finalmente quedó en manos de Computer Associates . NOMAD corrió una suerte similar. FOCUS, bajo la dirección de Cohen, siguió prosperando gracias a la expansión de su línea de productos.
FOCUS, que competía de forma limitada con SAS , [ 10 ] nunca alcanzó el mismo grado de adopción generalizada, quizás porque solo contaba con funciones analíticas y estadísticas básicas y carecía de la amplia gama de herramientas analíticas especializadas que convirtieron a SAS en el estándar en campos como los ensayos clínicos farmacéuticos . En cambio, FOCUS se centró en una flexibilidad extrema en la importación y exportación de datos, así como en la generación de informes personalizados para el usuario final .
Integración
Entre los paquetes de software con los que FOCUS se ha vinculado e integrado se incluyen:
Competidores de Business Intelligence
Entre los competidores del software de inteligencia empresarial se incluyen: [ 13 ]
Descripción
Aunque FOCUS se asemeja a otras herramientas de acceso y análisis de datos, como SQL y SAS , también incluye funciones de visualización y presentación de informes y gráficos. Automatiza el proceso de identificación de archivos para el sistema operativo , la apertura del archivo de entrada, la lectura del siguiente registro, la apertura del archivo de salida, la escritura del siguiente registro y el cierre de los archivos. Esta operación básica permite al usuario/programador concentrarse en los detalles del trabajo con los datos dentro de cada registro, trabajando prácticamente en su totalidad dentro de un bucle de programa implícito que se ejecuta para cada registro, de forma similar a RPG (Report Program Generator) . Otros procedimientos operan sobre el conjunto de datos en su conjunto, por ejemplo, la impresión o el análisis estadístico , y solo requieren que el usuario/programador identifique el conjunto de datos.
En comparación con los lenguajes de programación de propósito general , esta estructura permite que el usuario/programador esté menos familiarizado con los detalles técnicos de los datos y su almacenamiento, y relativamente más familiarizado con la información que contienen. Esto difumina la línea entre usuario y programador, resultando atractivo para personas cuyos roles laborales se encuentran en el ámbito empresarial o de investigación, en lugar de la tecnología de la información . Esto, a su vez, tiene la doble ventaja de permitir respuestas rápidas a preguntas empresariales o de investigación, incluso aquellas que requieren varias iteraciones para llegar desde los resultados iniciales hasta la respuesta final; pero también puede contribuir a la creación de un gran volumen de código fuente mal escrito o difícil de mantener .
Descripción del archivo maestro (MFD)
Una característica que era única en ese momento es que FOCUS presenta la capacidad para que el usuario construya un archivo de descripción de datos (llamado "descripción de archivo maestro") [ 14 ] [ 15 ] que hace referencia al archivo de datos real, o incluso varios archivos de descripción de datos diferentes que abordan el mismo archivo de datos de diferentes maneras, en lugar de la práctica habitual de tener la estructura de archivos codificada de forma fija en el programa.
De esta forma, se puede acceder a archivos de cualquier estructura y origen, o generarlos de diversas maneras, eliminando gran parte de la manipulación de datos (por ejemplo, concatenación o análisis sintáctico) que a veces era necesaria con otros lenguajes de programación anteriores. Por ejemplo, se puede acceder (leer o escribir) al mismo archivo de datos como si cada registro fuera una cadena de texto de 80 bytes, o como 40 campos numéricos de 2 caracteres, o como 10 números de coma flotante de 8 bytes, etc., simplemente modificando la descripción del archivo maestro según sea necesario.
Muestras
- (lote)
- IMPRIMA APELLIDO NOMBRE CÓDIGO DE ÁREA TELÉFONO NOTAS
- IMPRIMIR NOMBRE DEL PROYECTO Y COSTO DEL PROYECTO POR NOMBRE DEL CLIENTE SUBTOTAL COSTO DEL PROYECTO POR ID DEL CLIENTE
El segundo comando generaría un informe con los encabezados CUSTNAME CUSTID PROJNAME PROJCOST
- seguido de una o más líneas de detalle, seguido de
- _TOTAL_ NOMBRE DEL CLIENTE xxxxx (y $z,zzz.zz para ese NOMBRE DEL CLIENTE)
- En la parte inferior del informe figuraría el total de TODOS los proyectos.
- (interactivo)
- MODIFICAR ARCHIVO PHONEIDX
- CÓDIGO DE ÁREA TELÉFONO APELLIDO NOMBRE NOTAS
- COINCIDIR CON EL CÓDIGO DE ÁREA DEL TELÉFONO
- RECHAZO DE PARTIDO
- EN NOMATCH INCLUYE
- DATOS
Existen palabras clave para facilitar la modificación (o eliminación) de los datos existentes, y los mensajes de aviso y de error de la sesión interactiva se pueden personalizar.
Enfoque web
En 1997, [ 16 ] se introdujo una versión basada en la web de FOCUS llamada "WebFOCUS" que se basó en la base de acceso a datos e informes de FOCUS, [ 17 ] expandiendo estos a un paradigma de cliente ligero orientado visualmente accesible desde cualquier navegador web .
El lenguaje de WebFOCUS tiene una estructura de comandos tanto "procedimental" como "no procedimental". La primera es para una ejecución más inmediata, mientras que la segunda "se coloca en una pila de memoria para su ejecución posterior". [ 18 ]
Referencias
- ↑ incluyendo UNIX
- ↑ "FOCUS 4GL de Information Builders" . Computerworld . 5 de marzo de 1990.
- ↑ "Information Builders Focus/VAX" . Computerworld . 31 de marzo de 1986. pág. 52.
- 1 2 3 4 "RAMIS y NOMAD - CSS Nacional" (PDF) . 20 de mayo de 2005.
- ↑ Nick Rawlings (17 de marzo de 2014). "La historia de NOMAD: un lenguaje de cuarta generación". IEEE Annals of the History of Computing . 36 : 30–38 . doi : 10.1109/MAHC.2014.10 . S2CID 19419272 .
- ↑ "RDBMS Plenaria 1: Primeros años" (PDF) (Entrevista). Entrevista realizada por Burton Grad. Computer History Museum. 12 de junio de 2007. Consultado el 30 de mayo de 2025 .
- ↑ 1970 o
- ↑ "Una breve historia de las lenguas de cuarta generación" .
- ↑ Véase también "Una breve historia de las lenguas de cuarta generación" de Nick Rawlings.
- ↑ Un consultor escribió: "Cuando investigué la traducción de SAS al producto WebFOCUS BI (basado en un lenguaje de programación 4GL), personalmente consideré algunas de las siguientes características de SAS como obstáculos" y enumeró 11 elementos. "Software de inteligencia empresarial" . 30 de abril de 2012. Archivado del original el 26 de diciembre de 2017. Consultado el 26 de diciembre de 2017 .
- ↑ "Se refuerza el vínculo entre WebFocus y Excel" . Computerworld . 28 de mayo de 2007.
- ↑ "Information Builders integra AJAX" . InformationWeek . 9 de marzo de 2006.
- ↑ Steve Lohr (20 de mayo de 2007). "La minería de datos se populariza en busca de beneficios" . The New York Times .
- ↑ "DESCRIPCIÓN DEL ARCHIVO MAESTRO (MFD)" .
- ↑ "Sinopsis FOCUS: Definición de archivo describe los componentes de una Descripción de archivo maestro. Audiencia Este curso está dirigido a profesionales de procesamiento de datos y negocios que utilizan FOCUS." "FOCUS: Definición de archivo" . Archivado del original el 20 de julio de 2002. Recuperado el 28 de diciembre de 2017 .
- ↑ "Introducido en 1997,..." "WebFOCUS" .
- ↑ "WebFocus S/390" . Computerworld . 9 de junio de 1997.
... incluye toda la funcionalidad de ... Focus
- ↑ "Software de BI - WebFOCUS" . 13/11/2011.
Enlaces externos
- Sitio web corporativo (Informationbuilders.com)
- Manuales para desarrolladores de FOCUS
- Lenguajes de programación de cuarta generación
- Inteligencia empresarial
- Software para ordenadores centrales