Delphi (software)

Lenguaje de programación de propósito general y un producto de software.
Delfos
Autor(es) original(es)Borland , CodeGear y Embarcadero
Desarrollador(es)Tecnologías Embarcadero
Lanzamiento inicial1995
Versión estable
RAD Studio 12.2 Atenas [1]  / 12 de septiembre de 2024 ; hace 36 días ( 12 de septiembre de 2024 )
Escrito enPrincipalmente Delphi (Object Pascal)
Sistema operativoFunciona en Windows ; [2] está destinado a Windows , Linux , macOS , Android , iOS
TipoDesarrollo de software , Diseñador , IDE , Compilador , RTL
LicenciaFreemium
Sitio webwww.embarcadero.com/products/delphi

Delphi es un lenguaje de programación de propósito general y un producto de software que utiliza el dialecto Delphi del lenguaje de programación Object Pascal y proporciona un entorno de desarrollo integrado (IDE) para el desarrollo rápido de aplicaciones de software de escritorio, móviles , web y consola , [3] actualmente desarrollado y mantenido por Embarcadero Technologies .

Los compiladores de Delphi generan código nativo para Microsoft Windows , macOS , iOS , Android y Linux ( x64 ). [4] [5] [6]

Delphi incluye un editor de código, un diseñador visual, un depurador integrado, un componente de control de código fuente y soporte para complementos de terceros . El editor de código incluye Code Insight ( completado de código ), Error Insight (verificación de errores en tiempo real) y refactorización . El diseñador de formularios visuales tiene la opción de utilizar la Biblioteca de componentes visuales (VCL) para el desarrollo puro de Windows o el marco FireMonkey (FMX) para el desarrollo multiplataforma. El soporte de bases de datos es una característica clave y lo proporciona FireDAC (Componentes de acceso a bases de datos). Delphi es conocido por su rápida velocidad de compilación, código nativo y productividad para desarrolladores. [ cita requerida ]

Delphi fue desarrollado originalmente por Borland como una herramienta de desarrollo rápido de aplicaciones para Windows como sucesor de Turbo Pascal . Delphi agregó programación orientada a objetos completa al lenguaje existente, y el lenguaje ha crecido para admitir genéricos, métodos anónimos , cierres y compatibilidad nativa con el Modelo de objetos componentes (COM).

Delphi y su contraparte en C++ , C++Builder , son interoperables y se venden conjuntamente bajo el nombre de RAD Studio. Existen ediciones Professional, Enterprise y Architect, y las ediciones superiores tienen más funciones a un precio más elevado. También existe una edición Community gratuita, con la mayoría de las funciones de Professional, pero restringida a usuarios y empresas con bajos ingresos. [7]

Características

Delphi admite el desarrollo rápido de aplicaciones (RAD). Las características más destacadas son un diseñador visual y dos marcos de aplicaciones : Visual Component Library (VCL) para Windows y FireMonkey (FMX) para el desarrollo multiplataforma.

Delphi utiliza el lenguaje de programación basado en Pascal , Object Pascal, creado por Anders Hejlsberg para Borland (ahora IDERA) como sucesor de Turbo Pascal. Admite compilación cruzada nativa para muchas plataformas, incluidas Windows, Linux, iOS y Android.

Para brindar un mejor soporte al desarrollo para Microsoft Windows e interoperar con el código desarrollado con otras herramientas de desarrollo de software, Delphi admite interfaces independientes del Modelo de objetos componentes (COM) con implementaciones de clases de conteo de referencias y compatibilidad con muchos componentes de terceros. Las implementaciones de interfaces se pueden delegar en campos o propiedades de clases. Los controladores de mensajes se implementan etiquetando un método de una clase con la constante entera del mensaje que se va a manejar. [ cita requerida ]

La conectividad de la base de datos está ampliamente respaldada por componentes de acceso a la base de datos y reconocimiento de bases de datos VCL.

Las versiones posteriores han incluido rutinas de biblioteca de tiempo de ejecución mejoradas y actualizadas, algunas proporcionadas por el grupo comunitario FastCode .

Características

Delphi utiliza un lenguaje de programación de alto nivel fuertemente tipado , pensado para ser fácil de usar y basado originalmente en el lenguaje Object Pascal. Pascal fue desarrollado originalmente como un lenguaje de propósito general "apropiado para expresar las construcciones fundamentales conocidas en ese momento de una manera concisa y lógica", y "su implementación debía ser eficiente y competitiva con los compiladores FORTRAN existentes" [8] pero sin facilidades de programación de bajo nivel o acceso a hardware. Turbo Pascal y sus descendientes, incluido Delphi, admiten el acceso a hardware y la programación de bajo nivel, con la posibilidad de incorporar código escrito en lenguaje ensamblador y otros lenguajes. La orientación a objetos de Delphi presenta solo polimorfismo basado en clases e interfaces . [9] Las metaclases son objetos de primera clase. Los objetos son referencias a los objetos (como en Java ), que Delphi desreferencia implícitamente, por lo que generalmente no hay necesidad de asignar manualmente memoria para punteros a objetos o usar técnicas similares que necesitan otros lenguajes. Hay tipos de cadena con recuento de referencias dedicados y también cadenas terminadas en nulo.

Las cadenas se pueden concatenar utilizando el operador '+', en lugar de utilizar funciones. Para tipos de cadenas dedicados, Delphi se encarga de la gestión de memoria sin la intervención del programador. Desde Borland Developer Studio 2006, existen funciones para localizar fugas de memoria .

Delphi incluye un IDE integrado. Todos los productos de Delphi se entregan con una biblioteca de tiempo de ejecución (RTL) y una biblioteca de componentes visuales (VCL), que incluye la mayor parte de su código fuente. Hay disponibles componentes de terceros (a veces con el código fuente completo ) y herramientas para mejorar el IDE o para otras tareas de desarrollo relacionadas con Delphi, algunas de ellas gratuitas. El IDE incluye una interfaz gráfica de usuario para la localización y traducción de programas creados que se pueden implementar en un traductor; también hay herramientas de terceros con más funciones para este propósito. El marco VCL mantiene un alto nivel de compatibilidad de código fuente entre versiones, lo que simplifica la actualización del código fuente existente a una versión más nueva de Delphi. Las bibliotecas de terceros normalmente necesitan actualizaciones del proveedor pero, si se proporciona el código fuente, la recompilación con la versión más nueva puede ser suficiente. VCL fue una de las primeras en adoptar la inyección de dependencia o inversión de control ; utiliza un modelo de componentes reutilizable, extensible por el desarrollador. Con los ayudantes de clase, se puede introducir nueva funcionalidad en las clases RTL y VCL principales sin cambiar el código fuente original de RTL o VCL.

El compilador optimiza y es un compilador de una sola pasada . Opcionalmente, puede compilar en un único ejecutable que no requiere DLL . Delphi también puede generar DLL estándar, DLL ActiveX , servidores de automatización COM y servicios de Windows .

Los IDE de Delphi desde Delphi 2005 admiten cada vez más funciones de refactorización como la extracción de métodos y la posibilidad de crear modelos UML a partir del código fuente o modificar el código fuente a través de cambios realizados en el modelo.

Delphi tiene comunidades en la web , donde también participan activamente sus empleados.

Compatibilidad con versiones anteriores

Delphi es uno de los lenguajes en los que la compatibilidad con versiones anteriores es cercana al 100 %. Si bien cada nueva versión de Delphi intenta mantener la mayor compatibilidad posible con versiones anteriores para permitir la reutilización del código existente, las nuevas características, bibliotecas y mejoras a veces hacen que las versiones más nuevas sean menos compatibles del 100 % con versiones anteriores.

Desde 2016, se han publicado nuevos lanzamientos de Delphi cada seis meses y se han añadido nuevas plataformas aproximadamente cada segundo lanzamiento. [10]

Marcos

Delphi ofrece dos marcos para el desarrollo de aplicaciones visuales, VCL y FireMonkey (FMX):

  • Visual Component Library (VCL) es el marco para desarrollar aplicaciones puras de Windows. VCL es un marco de trabajo de larga data, incluido en la primera versión de Delphi y desarrollado activamente desde entonces.
  • FireMonkey (más tarde abreviado como FMX) se lanzó en 2011 como parte de Delphi XE2, junto con un conjunto adicional de compiladores integrados para plataformas distintas de Windows. FireMonkey es un marco multiplataforma para Windows, macOS, iOS, Android y Linux (x64). Las partes de la interfaz gráfica de usuario de FireMonkey se basan principalmente en Direct3D y OpenGL. FireMonkey no es compatible con VCL; son dos marcos independientes. Sin embargo, las aplicaciones FireMonkey permiten compartir fácilmente unidades de código no visuales con aplicaciones VCL, lo que permite portar o compartir fácilmente una gran cantidad de código entre las plataformas.

Interoperabilidad

Delphi y su contraparte en C++ , C++Builder , son interoperables. Comparten muchos componentes básicos, en particular el IDE, los marcos VCL y FMX, y gran parte de la biblioteca de tiempo de ejecución . Además, se pueden utilizar conjuntamente en un proyecto. Por ejemplo, C++Builder 6 y versiones posteriores pueden combinar código fuente de Delphi y C++ en un proyecto, mientras que los paquetes compilados con C++Builder se pueden utilizar desde Delphi. En 2007, los productos se lanzaron conjuntamente como RAD Studio, un host compartido para Delphi y C++Builder, que se puede comprar con uno o ambos. A partir de Rio, también existe interoperabilidad con Python.

Ejemplo de programa "Hola mundo"

programa ObjetoPascalEjemplo ; tipo THelloWorld = clase procedimiento Put ; fin ;      procedimiento THelloWorld . Put ; begin Writeln ( '¡Hola, mundo!' ) ; end ;  var HelloWorld : THelloWorld ; { este es un puntero implícito }   begin HelloWorld := THelloWorld . Create ; { el constructor devuelve un puntero a un objeto de tipo THelloWorld } HelloWorld . Put ; HelloWorld . Free ; { esta línea desasigna el objeto THelloWorld al que apunta HelloWorld } end .       

Tenga en cuenta que la construcción de objetos todavía está disponible en Delphi.

Historia

Usos en las escuelas

Delphi es el medio utilizado para enseñar programación en las escuelas sudafricanas como materia de tecnología de la información (TI). [11]

Hojas de ruta

Embarcadero solía publicar "hojas de ruta" que describían sus planes de desarrollo futuros. La última se publicó en noviembre de 2020. [12] La versión 10.5 a la que se hace referencia en la hoja de ruta de noviembre de 2020 pasó a llamarse 11.0. A partir de Delphi 11, Embarcadero decidió no publicar más hojas de ruta formales. En su lugar, las posibles nuevas características ahora se presentan en un orden flexible a través de entradas de blog y seminarios web en línea. Marco Cantú (gerente de producto) tiene un papel importante con su blog.

  • Borland Enterprise Studio, precursor de RAD Studio, es una suite de desarrollo de software que incluye compatibilidad con varios lenguajes. Borland Enterprise Studio para Windows es compatible con Delphi. [13]
  • Borland Kylix : similar a Delphi, pero para Linux, lanzado en 2001. Este fue el primer intento de agregar soporte para Linux a la familia de productos Delphi. [14] Kylix utilizó el nuevo marco multiplataforma CLX (basado en Qt ), en lugar del VCL de Delphi. Kylix se suspendió después de la versión 3. Hoy en día, el soporte para Linux está integrado en el producto principal de Delphi y utiliza el marco multiplataforma FireMonkey.
  • InterBase es una base de datos SQL embebible que se integra de forma nativa con Delphi y C++Builder para desarrollo cliente/servidor o embebido. Sus características distintivas son requisitos de administración reducidos, seguridad de datos de nivel comercial, recuperación ante desastres y sincronización de cambios. También es accesible desde todos los principales lenguajes y plataformas del mercado con protocolos de conexión de bases de datos como ODBC, ADO, ADO.NET e incluso con Java mediante JDBC/ODBC Bridge o conectores Java tipo 4.
  • JBuilder fue una herramienta para el desarrollo Java basada en Eclipse desde la versión JBuilder 2007.
  • RadPHP (posteriormente reemplazado por HTML5 Builder) era un IDE para PHP que proporcionaba una verdadera funcionalidad RAD. Tiene un diseñador de formularios similar al de Delphi o Visual Basic , y un depurador integrado basado en el servidor web Apache . También incluye una biblioteca VCL trasladada a PHP. A diferencia de otros IDE, admite funciones Web 2.0 como Ajax . Delphi para PHP se anunció el 20 de marzo de 2007, cambió su nombre en octubre de 2010 a RadPHP y se basa en Qadram Q studio. Embarcadero adquirió Qadram en enero de 2011.
  • Delphi Prism (que luego pasó a llamarse Embarcadero Prism) se derivaba del lenguaje Oxygene (anteriormente llamado Chrome) de RemObjects. Se ejecutaba en el IDE de Microsoft Visual Studio en lugar de RAD Studio. Embarcadero lo licenció y le cambió el nombre para reemplazar a Delphi.NET cuando se discontinuó ese producto.
  • Free Pascal es un compilador multiplataforma de código abierto que admite la mayor parte del código Object Pascal de Delphi. Free Pascal también tiene sus propias extensiones de lenguaje, múltiples modos de compilación [sintaxis del lenguaje] y admite más de 18 sistemas operativos y más de 9 arquitecturas de procesador. [15] Lazarus es un IDE RAD multiplataforma que utiliza el compilador Free Pascal.

Bibliotecas de terceros destacadas

Referencias

  1. ^ "Anuncio de la disponibilidad de RAD Studio 12.2 Athens". 12 de septiembre de 2024. Consultado el 12 de septiembre de 2024 .
  2. ^ "Notas de instalación: requisitos del sistema operativo". Archivado desde el original el 2020-08-06 . Consultado el 2020-09-05 .
  3. ^ William Buchanan (4 de febrero de 2003). Mastering Delphi Programming [Dominar la programación en Delphi]. Palgrave Macmillan. pp. 10–. ISBN 978-1-137-17356-0.[ enlace muerto permanente ]
  4. ^ "Comparación de rendimiento de Delphi 2010 con XE6 (parte 2)". Riversoft AVG. 12 de mayo de 2014. Archivado desde el original el 26 de julio de 2015. Consultado el 9 de marzo de 2016 .
  5. ^ "The Delphi Geek: Built For Speed" (El experto en Delphi: diseñado para la velocidad). Archivado desde el original el 23 de marzo de 2016. Consultado el 9 de marzo de 2016 .
  6. ^ "Discusión en Hacker News sobre la existencia de Delphi". Hacker News. Archivado desde el original el 2 de julio de 2016. Consultado el 9 de marzo de 2016 .
  7. ^ "Delphi: App Development Product Editions". Embarcadero . Archivado desde el original el 14 de marzo de 2021 . Consultado el 13 de marzo de 2021 .Con enlace de descarga para Matriz de características de Delphi
  8. ^ "Recuerdos sobre el desarrollo de Pascal" (PDF) . Archivado (PDF) desde el original el 2016-05-12 . Consultado el 2016-01-12 .
  9. ^ Lingfeng Wang; Kay CHen Tan (20 de enero de 2006). Diseño moderno de software de automatización industrial. John Wiley e hijos. págs.113–. ISBN 978-0-471-77627-7.
  10. ^ "Lista de características del lenguaje Delphi y versión en la que se introdujeron o dejaron de usarse". Stack Overflow. Archivado desde el original el 28 de febrero de 2016 . Consultado el 9 de marzo de 2016 .
  11. ^ Redactor. "Embarcadero Delphi nombrado lenguaje de desarrollo preferido por las escuelas sudafricanas". Archivado desde el original el 2022-03-31 . Consultado el 2022-03-17 .
  12. ^ "Comentario del PM sobre la hoja de ruta de RAD Studio de noviembre de 2020". blogs.embarcadero.com. 17 de noviembre de 2020. Archivado desde el original el 28 de noviembre de 2020. Consultado el 27 de noviembre de 2020 .
  13. ^ "Borland Enterprise Studio". Archivado desde el original el 5 de febrero de 2002. Consultado el 5 de febrero de 2002 .
  14. ^ "¡Kylix está aquí!". Archivado desde el original el 4 de septiembre de 2019. Consultado el 5 de septiembre de 2020 .
  15. ^ "Página de inicio de Free Pascal". freepascal.org. Archivado desde el original el 25 de enero de 1999. Consultado el 27 de abril de 2016 .

Lectura adicional

  • Sitio web oficial
Obtenido de "https://es.wikipedia.org/w/index.php?title=Delphi_(software)&oldid=1251893733"