Delphi
Delphi
El Delphi es un lenguaje muy versátil se usa para casi cualquier proyecto como por ejemplo
servicios del sistema operativo, establecer comunicación entre un servidor web y un programa,
aplicaciones de consola, conectividad con bases de datos, para realizar aplicaciones visuales, etc.
Este lenguaje produce aplicaciones en código máquina, por lo que la computadora las interpreta
inmediatamente y no precisa de un lenguaje interprete como es necesario en otros lenguajes
de programación.
Antes conocido como CodeGear Delphi, Inprise Delphi y Borland Delphi, es un entorno de
desarrollo de software diseñado para la programación de propósito general con énfasis en la
programación visual. En Delphi se utiliza como lenguaje de programación una versión moderna
de Pascal llamada Object Pascal. Es producido comercialmente por la empresa estadounidense
CodeGear (antes lo desarrollaba Borland), adquirida en mayo de 2008 por Embarcadero
Technologies, una empresa del grupo Thoma Cressey Bravo, en una suma que ronda los 30
millones de dólares.
En sus diferentes variantes, permite producir archivos ejecutables para Windows, GNU/Linux y
la plataforma .NET.
CodeGear ha sido escindida de la empresa Borland, donde Delphi se creó originalmente, tras un
proceso que pretendía en principio la venta del departamento de herramientas para desarrollo.
Embarcadero Delphi
Entre las aplicaciones más populares actualmente destaca Skype, un programa de telefonía por
IP.
Delphi inicialmente sólo producía ejecutables binarios para Windows: Delphi 1 para Win16 y
con Delphi 2 se introdujo Win32.
Soporte del lenguaje de programación Delphi:
Soporte para la programación orientada a objetos también existente desde Turbo Pascal
5.5, pero más evolucionada en cuanto a:
Encapsulación: declarando partes privadas, protegidas, públicas y publicadas de las
clases.
Propiedades: concepto nuevo que luego han adaptado muchos otros lenguajes. Las
propiedades permiten usar la sintaxis de asignación para setters y getters (en Delphi,
setters = write y getters = read).
Simplificación de la sintaxis de referencias a clases y punteros.
Soporte para manejo estructurado de excepciones, mejorando sensiblemente el control
de errores de usuario y del sistema.
Programación activada por eventos (event-driven), posible gracias a la técnica de
delegación de eventos. Esta técnica permite asignar el método de un objeto para
responder a un evento lanzado sobre otro objeto. Fue adoptada por Niklaus Wirth, autor
del Pascal Original, e incorporada a otros de sus lenguajes como Component Pascal.
Implementación de Métodos, los cuales contienen procedimientos y funciones.
Manejo de la herencia simple, que permite la reutilización de código, ampliamente
utilizada en el desarrollo de componentes.
Una parte importante, que es de resaltarse, la Programación Multihilos.
La potencia del lenguaje de programación Delphi, se basa principalmente en la gestión
y administración de Base de Datos.
Una gran parte de los componentes disponibles para Delphi son controles (derivados de
Control), que encapsulan los elementos de interacción con el usuario como botones, menús,
barras de desplazamiento, etcétera.
Delphi incluye una biblioteca de clases bien diseñada denominada VCL (Visual Component
Library, Biblioteca de Componentes Visuales) y, en sus versiones 6 y 7, una jerarquía
multiplataforma paralela denominada CLX. Ésta también se incluye en Kylix. Estas jerarquías de
objetos incluyen componentes visuales y no visuales, tales como los pertenecientes a la
categoría de acceso a datos, con los que puede establecerse conexiones de forma nativa o
mediante capas intermedias (como ADO, BDE u ODBC) a la mayoría de las bases de datos
relacionales existentes en el mercado. La VCL también está disponible para el desarrollo en .NET.
Eventos de Ejecución:
Delphi permite de manera sencilla ejecutar trozos de código en respuesta a acciones o eventos
(sucesos) que ocurren durante el tiempo que un programa se ejecuta. Por ejemplo, cuando se
presiona un botón, la VCL captura la notificación estándar de Windows, y detecta si hay algún
método asociado al evento OnClick del botón. Si lo hay, manda ejecutar dicho método. Los
eventos pueden generarse debido a la recepción de señales desde elementos de hardware como
el ratón o el teclado, o pueden producirse al realizar alguna operación sobre un elemento de la
propia aplicación (como abrir un conjunto de datos, que genera los eventos
BeforeOpen/AfterOpen).
La VCL ha demostrado estar bien diseñada y el control que se tiene a través de los eventos de
la misma es suficiente para la gran mayoría de aplicaciones.
Bases de Datos:
El programador de Delphi cuenta con una gran cantidad de componentes para realizar la
conexión, manipulación, presentación y captura de los datos, algunos de ellos liberados bajo
licencias de código abierto o gratuito. Estos componentes de acceso a datos pueden enlazarse
a una gran variedad de controles visuales, aprovechando las características del lenguaje
orientado a objetos, gracias al polimorfismo. En la paleta de componentes pueden encontrarse
varias pestañas para realizar una conexión a bases de datos usando diferentes capas o motores
de conexión.
Hay motores que permiten conectarse a bases de datos de diferentes fabricantes tales como
BDE, DBExpress o ADO, que cuentan con manejadores para los formatos más extendidos.
También hay componentes de conexión directa para un buen número de bases de datos
específicas: Firebird, Interbase, Oracle, etcétera. A continuación, un breve resumen (aun
recopilándose) de las capas de conexión disponibles para las bases de datos más populares:
Interbase/Firebird: IBX (InterBase eXpress), IBO (IB Objects), MDO (Mercury Data
Objects), *DBExpress, BDE, FibPlus, Zeos.
Oracle: DOA (Direct Oracle Access), NCOci8.
dBase: BDE.
FoxPro: BDE.
Paradox: BDE.
Microsoft SQL Server: BDE, ADO, *DBExpress.
mySQL: Zeos (nativo), *DBExpress, BDE y ADO (usando ODBC).
Postgres: BDE, ADO, ZEOSDBO.
Entorno visual:
Como entorno visual, la programación en Delphi consiste en diseñar los formularios que
componen al programa colocando todos sus controles (botones, etiquetas, campos de texto,
etc.) en las posiciones deseadas, normalmente usando un ratón.
Luego se asocia código a los eventos de dichos controles y también se pueden crear módulos de
datos, que regularmente contienen los componentes de acceso a datos y las reglas de negocio
de una aplicación
En las ediciones Client/Server y Enterprise el EID también ofrece integración con una
herramienta de control de versiones (PVCS).
Depurador integrado:
Es una potente característica que nos permite establecer puntos de ruptura (breakpoints), la
ejecución paso a paso de un programa, el seguimiento de los valores de las variables y de la
ejecución, así como la evaluación de expresiones con datos de la ejecución del programa.
Turbo Delphi:
En septiembre de 2006 Borland lanzó TurboDelphi como una versión reducida de Delphi. Hay
dos versiones: Turbo Delphi for Windows (Win32) y Turbo Delphi for .NET, ambas disponibles
en dos ediciones Professional y Explorer, ésta última era gratuita.