Delphi

Delphi sert à désigner à la fois un environnement de développement intégré et un langage de programmation orienté objet.



Catégories :

Environnement de développement intégré - Langage orienté objet - Borland

Recherche sur Google Images :


Source image : sjrd.developpez.com
Cette image est un résultat de recherche de Google Image. Elle est peut-être réduite par rapport à l'originale et/ou protégée par des droits d'auteur.

Page(s) en rapport avec ce sujet :

  • On peut dorénavant construire ses applications en posant des composants.... Borland Delphi est vraiment une pure merveille. Je programme déjà depuis la... (source : ciao)
  • ... NET, il n'en est pas de même pour l'ensemble des composants développés par... Cette nouvelle version de Delphi est d'autant plus réussie que les ... (source : hachesse.developpez)
  • BDE : Borland Database Engine. Cela permet d'avoir accès aux bases de données.... Librairie de composants fonctionnant sous Windows et Linux (Delphi et Kylix)... Delphi : Delphi est un langage de programmation sous Winows utilisant le ... (source : delphipage.free)

Delphi sert à désigner à la fois un environnement de développement intégré et (familièrement) un langage de programmation orienté objet.

L'EDI Delphi est un EDI propriétaire fonctionnant sous Windows créé en 1995 et édité par Borland. À l'époque, créer des programmes graphiques sous Windows se faisait en grande majorité en utilisant soit la chaîne de compilation Visual C++, soit le RAD Visual Basic. Le premier outil étant excessivement complexe et le second assez peu structuré, Delphi apparut alors comme une alternative viable pour énormément de développeurs qui souhaitaient créer des programmes standard pour Windows.

En 2001, Borland édita une version Linux de Delphi nommé Kylix, qui ne rencontra pas le succès attendu par l'éditeur.

Comme c'est un outil RAD (Rapid Application Development), Delphi est particulièrement simple à prendre en main et il est particulièrement aisé de créer toutes sortes d'applications.

Actuellement, Delphi reste l'un des rares outils avec lequel il est envisageable de produire des programmes Win32 ou . NET à partir du même langage et de la même bibliothèque de composants.

Le Pascal Objet

Delphi implémente une version orientée objet (POO) du langage Pascal, le Pascal Objet (Object Pascal), renommé Langage de programmation Delphi au fil des modifications apportées par Borland. Le Pascal Objet de Delphi possède plusieurs avantages qui perfectionnent la productivité du développeur comparé au C++ : typage fort, déclarations de variables dans une section précise, contrôle strict du compilateur pour éviter les erreurs de mémoire, de débordement, gestion intégrée des chaînes de caractères et des tableaux dynamiques, etc. La compilation ne se fait qu'en une seule passe et il n'y a pas de séparation entre l'implémentation et l'interface comme en C ou en C++ : la génération d'un projet Delphi est par conséquent particulièrement rapide, ce qui a accru à sa sortie la popularité de l'outil vite reconnu pour ses temps de compilation record.

Bien que Pascal Objet introduise une grande variété de concepts intéressants et novateurs (de nombreux ont été repris avec C#), il souffre de faiblesses connues. Il ne permet pas certaines fonctionnalités de POO tel que l'héritage multiple de classes (qui peut cependant être contournée par l'utilisation des interfaces), la surchage d'opérateurs n'a été introduite que tard (Delphi 2005), et il est impossible de reproduire le particulièrement utile dispositif de "template" qu'on retrouve en C++. Qui plus est , sa parenté avec le Pascal rebute de nombreux programmeurs plus habitués à des styles de programmation proches de Java ou C. Enfin, il n'est ni standardisé ni géré par un comité indépendant : propriété de Borland, l'éditeur est l'unique à pouvoir décider de l'avenir et de l'ajout de nouvelles fonctionnalités du langage.

L'interface de développement

L'environnement de développement s'appuie sur un éditeur d'interface graphique associé à un éditeur de code source. Il doit son succès à sa facilité d'utilisation pour développer des applications graphiques et/ou liées aux bases de données. On l'a fréquemment comparé à Visual Basic de Microsoft pour cette facilité de développement. On peut même dire que par un amusant mouvement de balancier et de personne, le VB influença Delphi qui à son tour influença ensuite le VB (Anders Hejlsberg lors de son passage chez Microsoft).

Delphi (le programme) auto-génère du code pour favoriser le travail du programmeur. Il maintient une correspondance automatique entre la vue de conception (la fenêtre que le programmeur bâtit en déposant des composants graphiques) et l'éditeur de code (la vue affichant le code source qui créera ces composants à l'exécution). Les données spécifiques aux composants sont stockés dans des fichiers d'extension. DFM tandis que le code source Pascal Objet est sauvegardé dans des fichiers d'extension. PAS.

L'interface de développement permet l'ajout de composants tiers (graphiques ou non) via un dispositif de composants. La modularité est obtenue à la conception mais peut aussi être exploitée à l'exécution via un dispositif de chargement dynamique de paquets d'exécution, Borland ayant étendu le concept de bibliothèques partagées et le format Windows DLL en introduisant un modèle propriétaire permettant d'enregistrer dynamiquement et d'exporter des classes entre modules. Le même dispositif sera repris par Microsoft sous Visual Basic avec le format VBX, puis ensuite à l'échelle du dispositif avec les composants COM et ActiveX.

Historique

Éditée par Borland, la première version (Delphi 1) était destinée aux versions 16 bits de Windows (Windows 3, 3.1, etc. ). Dès la seconde version, la cible était les Windows 32 bits (Windows 95, NT, etc. ). Le logiciel ne change pas radicalement entre chaque version, la différence se fait plus sur des ajouts de composants utilisables dans les programmes et la prise en compte de nouvelles technologies.

C'est le créateur de Turbo Pascal (et non pas du Pascal), Anders Hejlsberg qui était un des chefs du projet Delphi chez Borland et qui, passé chez Microsoft, devint l'inventeur du C#.

Pour la version 6, 7 et la version 2005, il existe une version en téléchargement gratuit qui permet d'écrire des programmes sous licence GPL (et uniquement sous cette licence). Elle a pour nom Édition Personnelle.

La version actuelle est la version 2009 (sortie fin 2008), disponible seule ou faisant partie de la suite RAD Studio 2009. Elle intègre le support complet d'Unicode dans la VCL. Elle regroupe au sein d'un même EDI la possibilité de générer du code Win32 ou du code Delphi. NET ou encore C#. Le langage Delphi pour. NET a été adapté à la plateforme . NET de Microsoft et le langage Delphi pour Win32 bénéficie de quelques améliorations. Delphi 7 est destiné au développement pour l'environnement Win32 de Microsoft et Delphi 8 à l'environnement. NET de Microsoft. Il s'agit de 2 compilateurs différents. La fusion Win32/. net ne s'est effectué qu'avec Delphi 2005.

La VCL a aussi été adaptée, sous Delphi 8 et Delphi 2005, pour favoriser la migration des application Delphi Win32 vers. NET. A titre d'exemple, l'ensemble des références à des pointeurs ont été remplacées par des références vers des objets.

Exemple de code généré

Le code suivant montre ce que Delphi génère lors de la création d'une application vide. La fenêtre à l'écran est représentée par une classe (TForm1) qui sera instancié à l'exécution et dont l'instance sera assignée à la variable Form1. Les autres composants sont aussi définis sous forme de classes dont le code source est stocké dans les fichiers décrits dans la clause uses de l'unité :

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

end.

Cependant, c'est environ tout ce que Delphi génère (mis à part le code des éléments positionnés par le biais de l'EDI). Si un programmeur averti veut générer des classes de manière efficace pour mieux concevoir et structurer ses données, Borland propose d'autres outils basés sur UML : ModelMaker de ModelMakerTools qui lui, sert à générer tout le code d'interface d'une classe mais aussi d'appliquer aisément des design patterns, ou bien Together, produit Borland résultant du rachat de TogetherSoft.

Autres branches issues ou en rapport avec Delphi

Kylix est un produit particulièrement proche de Delphi (même principe, même interface) qui fonctionne sous Linux et qui sert à créer des programmes pour ce dispositif. Le même code source peut-être compilé sous Linux et Windows (respectivement avec Kylix et Delphi) grâce à l'utilisation de la bibliothèque objet CLX qui s'appuie sur la bibliothèque graphique Qt en suivant les même principe que la bibliothèque VCL. Actuellement Borland a abandonné le développement de Kylix mais la bibliothèque CLX reste présente au sein des nouvelles versions de Delphi.

Lazarus est un projet libre d'EDI pour Free Pascal. Copiant au widget près ainsi qu'aux fonctions près l'outil Delphi (et s'utilisant comme ce dernier), le logiciel, associé à Free Pascal, sert à concevoir des projets 99% compatibles avec Delphi. Avec quelques directives de compilation, un même code orienté traitement (n'utilisant pas directement des fonctions d'interface graphique) peut être compilé sous Delphi, Kylix et Free-Pascal. L'inconvénient de ce logiciel est lié à son caractère récent : une légère instabilité (beaucoup compensée par sa fonction de sauvegarde automatique) et un manque de widgets, surtout le composant TFrame. Enfin, la documentation officielle n'est pas aussi complète qu'avec le Delphi de Borland mais de particulièrement nombreux sites existent palliant ce défaut.

Bibliothèque de composants VCL

Icône de détail Article détaillé : Visual Component Library.

Delphi bénéficie d'une excellente bibliothèque de composants visuels et non visuels, la Visual Component Library (VCL), dont le concept est identique aux MFC de Visual Studio. La VCL permet entre autres de dessiner rapidement une application graphique, en masquant les appels aux complexes API Windows. Depuis Delphi 1, la VCL est perfectionnée par Borland à chaque nouvelle version de Delphi en veillant à une compatibilité (quasi) totale dans l'interface de la bibliothèque, ce qui sert à migrer des projets en limitant la réécriture du code.

C++ Builder exploite la même bibliothèque de composants et comporte un "traducteur" Pascal Objet vers C++, tout du moins un C++ contenant des extensions propres à Borland compréhensible par le frère C++ de Delphi. Ainsi, tout code Delphi peut être exploité avec C++ Builder.

Le recul de Delphi

Jusqu'à la sortie du Framework. NET par Microsoft, de nombreux développeurs utilisaient Delphi du fait de la robustesse de son langage et de l'excellent niveau d'abstraction introduit par sa bibliothèque de composants. Avec l'arrivée de . NET et C#, Microsoft a fait un pas de géant en produisant un outil reprenant l'ensemble des concepts qui avaient fait la popularité de Delphi : langage adapté au RAD, conception de composants par glisser-déposer, framework cohérent...

De nombreux développeurs ont alors abandonné Delphi qui n'évoluait plus vraiment (puisque Borland recentrait alors son activité vers des outils de gestion du cycle de vie des applications) pour Visual Studio et C# (ou VB. NET). En effet, puisque Microsoft proposait un équivalent moins cher via des langages et des jeux de composants standardisés en s'y investissant beaucoup plus que Borland, il n'y avait plus vraiment de raison d'utiliser Delphi.

De nombreux (mauvais) choix marketing et un manque évident de moyens attribué au projet Delphi par Borland amorça un déclin de l'outil, qui conserve cependant une réelle communauté unie d'utilisateurs. A titre d'exemple, la décision particulièrement tardive de créer un compilateur natif 64 bits et une VCL supportant Unicode fut vécue par énormément comme une très mauvaise décision et fut une autre raison pour amorcer une migration vers d'autres langages comme C++ ou C#.

La vente de la branche IDE de Borland, décidée en février 2006, est censé être un moyen d'obtenir un nouveau cadre de travail et en particulier le support d'une nouvelle société totalement dévouée au développement d'outils de programmation comme le furent Delphi ou C++ Builder. Le déclin n'est pas fatal et sera peut être enrayé par la sortie de nouveaux produits innovants comme le fut Delphi il y a plus de 10 ans.

Ceci étant, Delphi reste une solution efficace pour développer diverses applications. Qui plus est , Microsoft a trop fréquemment changé de technologie en cours de route pour rassurer certaines entreprises ou développeurs qui savent que Delphi garde sa pérennité depuis 1991. Néanmoins, Delphi souffre de petits ou gros manquements dans certains domaines. Mais c'est le lot de l'ensemble des langages de programmation. D'autre part, la communauté Delphi reste particulièrement active et soudée comme le montre l'activité toujours importante des sites internet consacrés au langage.

L'apparition de CodeGear

En février 2006, Borland a annoncé son intention de se séparer du développement de ses EDI pour se consacrer à la Gestion du Cycle de Vie des applications. Finalement, ne trouvant pas de repreneurs valides, elle créa CodeGear, une entité dédiée aux EDI, à laquelle participe toute l'équipe de développement de Delphi, C++ Builder, et JBuilder. CodeGear est possédé par Borland, mais possède ses moyens propres conçus pour la création d'outils pour développeurs ("Where developers matter"). Delphi n'est par conséquent plus à l'heure actuelle pris en charge par Borland.

Le futur de Delphi

En août 2006, la division RAD en cours de vente par Borland annonce la création de la nouvelle ligne de produits Turbo, signant comme un retour aux sources (puisque c'est largement à partir de Turbo Pascal que fut bâti le succès de Borland). Initialement distribués en outils scindés (Delphi, C++ Builder, C# Builder), puis fusionnés en une suite logicielle appelée BDS (pour Borland Developper Studio, dont énormément critiquaient la lourdeur), les composants originels redeviennent, avec la gamme Turbo, utilisables scindément suivant de nouvelles conditions.

Les prochaines avancées majeures devraient introduire la compilation native 64 bit et le support de la généricité.

Après 2 ans de recherche, la société Embarcadero Technologies rachète CodeGear. Dans un soucis d'homogénéité, les bases de données issus d'Embarcadero sont regroupées sous l'expression DataBaseGear. CodeGear continue à opérer comme entreprise privée sous la direction de l'actuelle CEO d'Embarcadero.

Exemples de projets connus réalisés en Delphi

Liens externes

Recherche sur Amazone (livres) :




Ce texte est issu de l'encyclopédie Wikipedia. Vous pouvez consulter sa version originale dans cette encyclopédie à l'adresse http://fr.wikipedia.org/wiki/Delphi_(informatique).
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 17/03/2009.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.
Accueil Recherche Aller au contenuDébut page
ContactContact ImprimerImprimer liens d'évitement et raccourcis clavierAccessibilité
Aller au menu