4D ( 4th Dimension , o Silver Surfer , como se le conocía durante el desarrollo inicial) es un sistema de gestión de bases de datos relacionales y un IDE desarrollado por Laurent Ribardière . [3] 4D fue creado en 1984 [4] y tuvo un lanzamiento público ligeramente retrasado para Macintosh en 1987 [5] [6] [7] con su propio lenguaje de programación [1]
Diseñada por | Laurent Ribardière |
---|---|
Desarrollador | SAS 4D |
Apareció por primera vez | 1984 [1] | (dev) 1987 (oficial)
Lanzamiento estable | v18 R5 / 19 de enero de 2021 |
Versión de vista previa | v18 R6 Beta |
Lenguaje de implementación | C, C ++ |
Plataforma | Multiplataforma |
SO | Windows, macOS |
Licencia | Propiedad |
Extensiones de nombre de archivo | 4DB, 4DC |
Formatos de archivo | Interpretado, compilado |
Sitio web | nosotros |
Autor (es) original (es) | Laurent Ribardière |
---|---|
Desarrollador (es) | SAS 4D |
Versión inicial | 1984 | (ss) 1987 (v1)
Lanzamiento estable | v18 R5 / 19 de enero de 2021 [2] |
Versión de vista previa | v18 R6 Beta |
Escrito en | C ++ , C |
Sistema operativo | Windows , Mac OS |
Tipo | Servidor web RAD RDBMS IDE Language GUI Designer |
Licencia | Propiedad |
Sitio web | nosotros |
Autor (es) original (es) | Laurent Ribardière |
---|---|
Desarrollador (es) | SAS 4D |
Versión inicial | 1993 | (v1)
Lanzamiento estable | v18 R5 / 19 de enero de 2021 [2] |
Versión de vista previa | v18 R6 Beta |
Escrito en | C ++ , C |
Sistema operativo | Windows , Mac OS |
Tipo | RDBMS Servidor web Servidor de aplicaciones SQL Server Base de datos del servidor Idioma |
Licencia | Propiedad |
Sitio web | nosotros |
Desde entonces, la línea de productos 4D se ha expandido a un back-end SQL , compilador integrado, integración de PHP y varios complementos e interfaces de productividad. Algunos de los complementos creados por 4D incluyen 4D Write (un procesador de texto), 4D View (algo parecido a una hoja de cálculo, pero con funcionalidad adicional) y Comandos de Internet 4D (que le permiten agregar todo tipo de funciones relacionadas con Internet a una base de datos) . También hay más de 100 complementos de terceros, gratuitos y comerciales.
4D también se puede utilizar como servidor web para ejecutar aplicaciones de bases de datos compiladas.
En la actualidad, 4D es una publicación de la empresa francesa 4D SAS y tiene presencia de ventas, distribución y soporte en la mayoría de los principales mercados, siendo Estados Unidos, Reino Unido y Francia los principales mercados. El producto está localizado en más de una docena de idiomas, incluidos inglés, francés, alemán, japonés, checo, hebreo, árabe, coreano y persa.
Historia
Silver Surfer, como se le conocía durante el desarrollo inicial, fue desarrollado por Laurent Ribardière en 1984. Tras las negociaciones con Ribardiere, se planeó que Apple Inc. (antes Apple Computer Inc) publicaría el software, pero Apple canceló el plan, supuestamente debido a la presión. de otros posibles editores de bases de datos que afirmaron que si Apple tuviera su propia base de datos de "marcas", los productos de terceros se verían en desventaja en el mercado. [8] Apple intentó en ese momento asegurarse de que los editores de software reconocidos apoyaran la plataforma Macintosh y, como resultado, el proyecto volvió a Laurent Ribardière , quien con la empresaria francesa Marylene Delbourg-Delphis publicó 4th Dimension. Aunque se publicó de forma independiente, Apple apoyó la nueva empresa y utilizó 4D ampliamente en toda la organización para proyectos que incluyen la gestión de centros de fitness y CIM (Computer Integrated Manufacturing). Varios miembros del personal de Apple se convirtieron en expertos en 4D, incluido Lance McAndrew en la sede de Apple en Cupertino y Andrew O'Donoghue en la sede de fabricación europea de Apple con sede en Irlanda , donde una aplicación de 4th Dimension gestionaba toda la administración del Centro de Servicio Europeo.
Durante los años siguientes, la base instalada de 4th Dimension creció y la editorial ACI estableció una subsidiaria con sede en EE. UU., ACIUS, inicialmente dirigida por Guy Kawasaki . Después de 16 años de operar como ACIUS hasta 2000, el nombre fue cambiado oficialmente a 4D Inc . [9]
En 1993, 4D Server v1.1, la versión cliente / servidor de 4th Dimension se introdujo junto con el lanzamiento de 4th Dimension v3.1. [10]
En 1995, 4D v3.5 pasó a ser multiplataforma y desde entonces ha sido compatible con los sistemas operativos Microsoft Windows y Apple Macintosh . [11]
En 1997, 4D v6 fue la primera versión de 4D que contenía un servidor web totalmente integrado, lo que permitía a los desarrolladores traducir formularios 4D a HTML sobre la marcha utilizando únicamente el lenguaje 4D. [12]
En 2004, 4D 2004 fue la primera versión de 4D que permitió a los desarrolladores crear aplicaciones independientes, cliente / servidor, web y aplicaciones orientadas a servicios (SOA) sin cambiar ningún código. [13]
En 2008, 4D v11 agregó una capa SQL al motor de base de datos 4D y extendió el SQL nativo al lenguaje de programación 4D, lo que permitió a los desarrolladores 4D escribir código SQL nativo para conectarse a servidores locales o remotos [14] [15]
En 2010, 4D v12 integró la capacidad de ejecutar funciones / scripts PHP desde dentro del lenguaje de programación 4D. Esta versión también admitía nuevos comandos de replicación y sincronización e incluía una versión de 64 bits de 4D Server [16]
Historial de versiones
Rama | Ultima versión | Versión inicial | Lanzamiento final | Estado Feb 2019 | Notas |
---|---|---|---|---|---|
v18.x | v18.LTS | 16 de enero de 2020 | En marcha | Soportado | Bases de datos de proyectos para control de versiones, herramientas de cifrado integradas, 4D para iOS, 4D Write Pro, 4D View Pro |
v17.x | v17.4 | 10 de julio de 2018 | En marcha | Soportado | ORDA (acceso a datos relacionales de objetos), colecciones, notación de objetos, formularios dinámicos |
v16.x | v16.6 | 10 de ene. De 2017 | En marcha | El soporte finalizó el 24 de julio de 2019 | Nuevo sistema de gestión de caché, multiproceso preventivo, 4D Dev Pro de 64 bits |
v15R | v15R5 | 10 de noviembre de 2015 | 14 de sep. De 2016 | Reemplazado por 16.x | Vista previa de funciones para estar en v16.x |
v15.x | v15.6 | 16 de julio de 2015 | 25 abr 2017 | El soporte finalizó el 25 de abril de 2018 | Servidor 4D de 64 bits para servidores Mac; Nueva capa de red |
v14R | v14R5 | Mayo de 2014 | Marzo de 2015 | Ya no es compatible | vista previa de las funciones que estarán en v15.x |
v14.x | v14.6 | 12 dic 2013 | 20 dic 2016 | Ya no es compatible | 4D Mobile (opciones de conectividad para 4D Server como fuente de datos para Wakanda (software) ); Objetos JSON estructurados (C_Object); Vistas SQL; nuevas herramientas de mantenimiento y seguimiento, nuevo sistema de diario. |
v13.x | v13.6 | 14 de febrero de 2012 | 18 junio 2015 | Ya no es compatible | Nuevo servidor HTTP multiproceso; gestión automática de sesiones; nuevo cliente HTTP extensible; integración de webkit y soporte extendido de Javascript; cuadro de lista enriquecido; gestión de documentos externos. |
v12.x | v12.6 | 3 de junio de 2010 | 8 de octubre de 2013 | Ya no es compatible | Servidor 4D de 64 bits para servidores Windows; Integración PHP; Sincronización y replicación |
v11.x | v11.9 | 23 de septiembre de 2008 | 7 de julio de 2011 | Ya no es compatible | Motor SQL; centro de mantenimiento integrado (MSC); Gestión de SVG; Área web integrada |
2004.x | 2004.8 | 31 de agosto de 2004 | 30 de junio de 2009 | Ya no es compatible | Interfaz renovada; Integración de comandos ODBC de alto nivel, 4D Customizer, 4D Backup y 4D Engine |
2003.x | 2003.8r2 | 17 de marzo de 2003 | 11 de abril de 2006 | Ya no es compatible | XML; Servicios web; Compilador incrustado |
v6.8.x | 6.8.6 | 15 de abril de 2002 | 24 de septiembre de 2004 | Ya no es compatible | |
v6.7.x | 6.7.5 | Ya no es compatible | |||
v6.5.x | 18 de mayo de 1999 | Ya no es compatible | |||
v6.0.x | 6.0.5 | 1997 | 27 de febrero de 1998 | Ya no es compatible | Servidor web integrado |
v3.x | Ya no es compatible | 4D v3.5 fue la primera versión multiplataforma (mac / win), | |||
v1.x | 1987 | Ya no es compatible | Solo Mac |
[2]
Arquitectura
Una aplicación 4D puede ejecutarse tanto en modo autónomo como en modo cliente-servidor.
Usuario unico
En modo autónomo, la aplicación 4D (4D.exe en Windows o 4D.app en Mac) se utiliza para abrir el archivo de estructura (4DB / 4DC) directamente junto con el archivo de datos asociado (4DD).
Servidor de cliente
En el paradigma Cliente-Servidor, la aplicación 4D Server (4DServer.exe en Windows o 4DServer.app en Mac) se usa para abrir el archivo de estructura (4DB / 4DC) directamente junto con el archivo de datos asociado (4DD). Luego, 4D puede usarse en modo remoto para conectarse al 4D Server.
Ediciones de la aplicación
4D tiene dos aplicaciones; Servidor 4D y 4D. 4D Server se ejecuta solo como servidor, pero 4D se puede ejecutar en modo autónomo o remoto.
4D
4D se puede ejecutar en dos modos. 4D en modo de usuario único permite que 1 persona ejecute la aplicación. 4D en modo remoto se utiliza para conectarse a un 4D Server.
Servidor 4D
4D Server se utiliza para la conectividad Cliente-Servidor a la aplicación. En este modo, 4D Server carga el archivo de estructura (4DB o 4DC) y también el archivo de datos (4DD) y proporciona acceso de red a 4D (en remoto). Cada estación de trabajo tiene un caché actualizado dinámicamente de los recursos con los que está trabajando, mientras que 4D Server mantiene los datos y el código.
Sintaxis
Esta sección incluirá ejemplos de sintaxis que demuestran diferentes construcciones de programación utilizadas en 4D, como bucles for y uso de variables.
Tipos de datos
Los campos, variables y expresiones 4D pueden ser de los siguientes tipos de datos:
Tipo de datos | Campo | Variable | Expresión |
---|---|---|---|
Cuerda | sí | sí | sí |
Número (doble) | sí | sí | sí |
Fecha | sí | sí | sí |
Hora | sí | sí | sí |
Booleano | sí | sí | sí |
Imagen | sí | sí | sí |
Puntero | No | sí | sí |
GOTA | sí | sí | No |
Formación | No | sí | No |
Entero 64 bits | sí | No | No |
Flotador | sí | No | No |
Objeto | sí | sí | sí |
Indefinido | No | sí | sí |
Puede encontrar más información sobre el tipo de datos 4D en la página de documentación de tipos de datos 4D
Alcance variable
Las variables locales tienen un prefijo $
similar $myLocalVariable
y solo están vigentes durante la duración del método.
Las variables de proceso no tienen prefijo como myProcessVariable
y viven durante toda la duración del proceso.
Las variables entre procesos (o globales) tienen como prefijo un me <>
gusta <>myGlobalVariable
y se mantienen activas durante la duración de la aplicación.
Comparación de bucle
Para
Para (vCounter; 1; 100) // Hacer algoFin para
Tiempo
$ i: = 1 // Inicializar el contador Mientras ($ i <= 100) // Repite 100 veces // Hacer algo $ i: = $ i +1 // Necesita incrementar el contador Terminar mientras
Repetir
$ i: = 1 // Inicializar el contador Repetir // Hacer algo $ i: = $ i +1 // Necesita incrementar el contador Hasta ($ i = 100) // Repite 100 veces
Optimización de bucles
Puede utilizar variables reales, enteras y enteras largas, así como contadores de variables locales, de proceso y entre procesos. Para ciclos repetitivos prolongados, especialmente en modo compilado, utilice variables locales de Entero largo.
Aquí hay un ejemplo:
C_LONGINT ($ vlCounter) // usa variables locales de enteros largos Para ($ vlCounter; 1; 10000) // Hacer algo Fin para
Bucles anidados
El siguiente ejemplo pasa por todos los elementos de una matriz bidimensional:
Para ($ vlElem; 1; Tamaño de la matriz (anArray)) // ... // Haz algo con la fila // ... Para ($ vlSubElem; 1; Tamaño de la matriz (anArray {$ vlElem})) // Haz algo con el elemento anArray {$ vlElem} {$ vlSubElem}: = ... Fin para Fin para
El siguiente ejemplo crea una matriz de punteros a todos los campos de fecha presentes en la base de datos:
PUNTERO DE ARRAY ($ apDateFields; 0) $ vlElem: = 0 For ($ vlTable; 1; Obtener el último número de la tabla) // recorre cada número de tabla con $ vTable como número If (Es el número de tabla válido ($ vlTable)) // comprobar si el número de tabla $ vTable es válido // solo bucle en la tabla válida For ($ vlField; 1; Obtener el último número de campo ($ vlTable)) // recorrer cada número de campo dentro de la tabla actual // con $ vlField como el número de campo actual If (Es el número de campo válido ($ vlTable; $ vlField)) // comprobar si el número de campo es válido $ vpField: = Field ($ vlTable; $ vlField) // obtener el puntero al campo If (Escriba ($ vpField ->) = Es la fecha) // comprobar si el campo actual es una fecha // solo realiza estas acciones si el campo es una fecha $ vlElem: = $ vlElem + 1 INSERTAR EN ARRAY ($ apDateFields; $ vlElem) $ apDateFields {$ vlElem}: = $ vpField Terminara si Terminara si Fin para Terminara si Fin para
Referencias
- ^ a b "La base de datos Mac de gama alta ofrece su propio lenguaje de programación" . InfoWorld. 16 de marzo de 1987.
- ^ a b c "Ciclo de vida del producto 4D" . 4D . Consultado el 10 de enero de 2016 .
- ^ "Personas 4D - 4D" . 4d.com .
- ^ "Una historia de innovación" . 4d.com .
- ^ "El servidor de Apple vencido sale al mercado" . Mundo de la informática. 26 de enero de 1987.
- ^ "Nuevo programa de software de base de datos mueve Macintosh en las grandes ligas" . chicagotribune.com .
- ^ "¿Buscando la cuarta dimensión? Anímate, ya está en la ciudad" . chicagotribune.com .
- ^ Guy, Kawasaki (1989). El estilo Macintosh . Estados Unidos: Scott Foresman Trade. pp. 18 . ISBN 0673461750.
- ^ "Adiós ACI EE. UU., Hola 4D, Inc" . MacNews.com .
- ^ InfoWorld (27 de diciembre de 1993 - 3 de enero de 1994). 4D Server cumple las promesas de otros . InfoWorld Media Group, Inc.
- ^ ComputerWorld (24 de julio de 1995). El creador de bases de datos abre una nueva ventana . Mundo de la informática.
- ^ InfoWorld (9 de junio de 1997). 4th Dimension adecuado para sitios mixtos de Mac y Windows . InfoWorld Media Group, Inc.
- ^ "4D, Inc. envía 4D 2004 con un nuevo entorno de diseño optimizado y nuevas tecnologías de implementación | Business Wire" . www.businesswire.com . Consultado el 29 de febrero de 2016 .
- ^ "4D anuncia el lanzamiento mundial de 4D Server V11 SQL" . www.prnewswire.com . Consultado el 29 de febrero de 2016 .
- ^ "4D Server v11 agrega SQL, optimiza el rendimiento | MacNN" . MacNN.com . Archivado desde el original el 5 de marzo de 2016 . Consultado el 29 de febrero de 2016 .
- ^ "4D v12 ya está disponible" . iClarified . Consultado el 29 de febrero de 2016 .
enlaces externos
- Página web oficial
- Documentación 4D ( estática y en vivo )
- Base de conocimientos 4D
- 4th Dimension (software) en Curlie
- Base de datos 4d en Stack Overflow