Delphi : de Borland a Embarcadero



Tout sur Delphi et Pascal Objet.

Embarcadero Delphi (souvent abrégé à Delphi) désigne à la fois un environnement de développement intégré et 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 beaucoup de développeurs qui souhaitaient créer des programmes standard pour Windows.
En 2001, Borland édita une version Linux de Delphi appelé Kylix, qui ne connut pas le succès attendu par l'éditeur.
Comme il s'agit d'un outil RAD (Rapid Application Development), Delphi est très simple à prendre en main et il est tout à fait aisé de créer toutes sortes d'applications.


Le Object Pascal

Delphi implémente une version orientée objet (POO) du langage Pascal, le Object Pascal, renommé Langage de programmation Delphi au fil des modifications apportées par Borland. Le Object Pascal de Delphi possède plusieurs avantages qui améliorent la productivité du développeur par rapport 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 donc très rapide, ce qui a accru à sa sortie la popularité de l'outil vite réputé pour ses temps de compilation record.


Bien que Object Pascal introduise une multitude de concepts intéressants et novateurs (de nombreux ont été repris avec C#), il souffre de faiblesses connues. Par exemple, il ne permet pas certaines fonctionnalités de POO tel que l'héritage multiple de classes ou l'utilisation d'interfaces non liées à COM. Certaines fonctionnalités comme la surchage d'opérateurs et la généricité n'ont été introduits que tard (respectivement avec Delphi 2005 et Delphi 2009). De plus, 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 le seul à 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 souvent 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 par la suite le VB (Anders Hejlsberg lors de son passage chez Microsoft).


L'environnement de développement auto-génère du code pour faciliter 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 alors que le code source Object Pascal est sauvegardé dans des fichiers d'extension .PAS. Alors que d'autres langages (comme C# avec Winforms) génèrent les instructions nécessaire à la création des composants de l'interface et l'injectent dans une section du code source du programme; Delphi sépare les données statiques de description des objets d'interface, à la manière de XAML, et se base sur des routines de la VCL pour relire et présenter l'interface lors de l'exécution.


L'interface de développement permet l'ajout de composants tiers (graphiques ou non) via un système de composants. La modularité est obtenue à la conception mais peut aussi être exploitée à l'exécution via un système 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 système sera repris par Microsoft sous Visual Basic avec le format VBX, puis ensuite à l'échelle du système avec les composants COM et ActiveX.

Historique de Delphi :



  • 1995 : Delphi 1 est édité par Borland. Cette première version était destinée aux versions 16 bits de Windows (Windows 3, 3.1, etc.).
Dès la deuxième 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.
  • À la fin des années 90, Microsoft débauche une grande partie de l'équipe initiale ayant conçue Delphi, dont Anders Hejlsberg (le créateur de Turbo Pascal, et du Pascal). Anders Hejlsberg travaillera d'abord sur la librairie de classes du langage Visual J++, puis sur le projet.NET et sera l'inventeur du C#. Le départ de nombreux membres coïncide avec une baisse générale de la qualité du produit ainsi qu'un manque d'investissement marketting de la part de Borland, menant à un déclin progressif de Delphi. Néanmoins, au début des années 2000, Borland reste un des seuls éditeurs permettant (sur le papier) de développer à partir d'un même ensemble d'outils des applications natives, des applications .NET ainsi que des applications fonctionnant sous Linux grâce à Kylix.
  • 2001 : première édition de Kylix, l'environnement Delphi pour Linux.
  • 2002 : Kylix 3. Le succès n'étant pas au rendez-vous de ce Delphi pour Linux, ce sera sa dernière version.
  • 2006 (février) : Borland annonce son intention de se séparer du développement de ses EDI pour se consacrer à la Gestion du Cycle de Vie des applications.
Ne trouvant pas de repreneurs valides, Borland crée CodeGear, une entité dédiée aux EDI, à laquelle participe toute l'équipe de développement de Delphi, C++Builder, et JBuilder. Au départ, CodeGear appartient à Borland mais possède ses moyens propres destinés à la création d'outils pour développeurs (“Where developers matter”).

Après deux ans de recherche, la société Embarcadero Technologies rachète CodeGear pour un montant de 23 millions de dollars. Dans un souci d'homogénéité, les bases de données issues d'Embarcadero sont regroupées sous la dénomination DataBaseGear. CodeGear continue à opérer en tant qu'entreprise privée sous la direction de l'actuelle CEO d'Embarcadero. Borland, ou ce qu'il en restait, sera racheté par Micro Focus International en 2009 pour 75 millions de dollars.

  • 2008 : pour des questions de moyens, le compilateur Delphi .NET est abandonné au profit de Delphi Prism, une solution proposée par un éditeur tiers, RemObjects.
  • 2009 (août) : Delphi 2010 consolide le support d'Unicode dans la VCL, propose le support de Windows 7, intègre de nombreuses corrections de bogues et améliore la productivité dans l'environnement de développement.
Langage : Support de la généricité. Cela permet de réduire de façon significative les lignes de codes à saisir par le développeur. Support des méthodes anonymes, permettant, entre autres, de faire du refactoring plus abouti.
De nouveaux composants visuels ont été introduits dont le plus notable est une implémentation de l'interface utilisateur Ribbon utilisée par Microsoft à partir de Microsoft Office 2007 et Windows 7.
  • 2010 : Delphi XE La compilation multi-plateforme étant repoussé à l'année suivante, les évolutions sont moins nombreuses qu'attendu. On peut noter toutefois l’intégration de l'outil de contrôle de source SVN et du logiciel de Profilage de code AQTime au sein de l'IDE.
  • 2011 : Delphi XE2 La compilation multi-plateforme est introduite pour Mac OS X et iOS ainsi que pour Windows x64. Une bibliothèque d'interface graphique, FireMonkey, est rajoutée en plus de la VCL qui était trop orientée Windows. Cette version est considérée par beaucoup d'observateurs comme la première version majeure depuis plus de dix ans.

[in Wikipedia]



Tag : Delphi, Pascal, Embarcadero, Borland, CodeGear, Delphi 7, Firemonkey, Delphi xe2, Langage programmation.

Aucun commentaire: