septembre
2005
La rencontre avec un langage est parfois un moment privilégié, l’impression que ce langage a été écrit pour soi. Tout est clair, évident, sa logique coule de source. On est heureux.
Mais il en va de cette émotion comme de l’amour, c’est un instant qu’on ne ressent que de rares fois dans son existence.
Mon premier « flash » avec un langage a été Turbo Pascal sous CP/M … je ne vous dirais pas la date pour ne pas faire trop ancien combatant.
Le second eu lieu en 94 quand j’ai bêta testé Delphi 1.
Et depuis… rien. Dephi s’est amélioré au fil des ans mais l’effet de surprise n’a lieu qu’une fois.
Mon coeur se desséchait. Etais-je blasé ? Allez savoir. On se questionne.
Java ? bof… Rien de plus que du Delphi interprété àprès tout, en plus lourd et moins facile à déployer. Les compilateurs qui sortiront ensuite ne changeront rien à mon opinion d’ailleurs.
C++ ? Langage puissant mais par trop permissif ouvrant la voie à du code imbuvable. Trop tordu pour m’émouvoir.
PHP ? Mélanger du code à du Html est tout sauf un avantage. Trop brouillon pour mon cartésiannisme.
Bref, mon coeur se languissait… Ce n’est pas que la doulce Delphi était moins tendre ou qu’elle se montrait moins aimante. Mais je la connaissais si bien… Nous étions un vieux couple, plus de dix ans déjà…
Et puis un jour j’ai croisé la jeune C#… La belle était séduisante mais son look C++ m’a laissé de marbre. Beauté froide me disais-je alors.
Mais quelque chose m’attirait dans son regard, son déhanchement souple et aguichant était, il fallait bien l’avouer, assez sexy.
Pour ne plus penser à cet amour impossible je me plongeais alors dans Delphi.NET. Après tout, ma vieille maîtresse avait fait beaucoup d’efforts pour me plaire à nouveau. Nouveau look, nouveau maquillage, elle avait même déménagé pour un quartier jeune et plus branché, dotnet. On peut dire qu’elle s’était donné du mal et j’étais touché par tant d’attention. La tendresse accumulée au fil des ans aidant, je retombais dans ces bras où je me sentais en sécurité.
Mais cette sécurité portait aussi le nom de l’habitude, hélas.
et c’est ainsi, il faut l’avouer ici, que je l’ai trompée avec la jeune C#. Mon coeur battait à nouveau, je me sentais rajeunir ! Cette émotion si rare je la ressentais à nouveau.
Faisant mon mea culpa je décidais alors de tout révéler de ma coupable liaison à ma tendre Delphi. C’est à ce moment que son père, le sieur Borland, décida de sortir Delphi 2005 au sein duquel il ajouta, oui, c’est un comble, C# !
Ayant la bénédiction du père, j’ai pu ainsi poursuivre cette double liaison coupable, m’ennivrant dans la couche de la jeune C# et venant chercher refuge et sécurité dans les bras de la rassurante Delphi.
Mais un jour on se dit « il faut que cela cesse, qui a deux maisons perd sa raison ! ». Tous les soirs on se couche avec de fermes résolutions pour le lendemain. Promesses qu’on ne tient pas. Les ruptures, c’est toujours difficile…
Alors faut-il brûler Delphi ?
Pour ceux qui habitent encore les vieux quartiers Win32, Delphi reste certainement la maîtresse la plus séduisante.
Pour ceux qui affectionnent les quartiers jeunes et remuants, le choix entre C# la jeune et Delphi.NET la mature est plus délicat…
Développer sous VCL.NET apporte un grand confort et évite de remettre en question des années d’expérience. Il est toujours vexant de se retrouver comme un débutant devant une plate-forme où la moindre ligne de code réclame de longues recherches. Ceux qui connaissent bien la VCL auront tout intérêt à rester dans ce mode sous .NET d’autant que VCL.NET sera prochainement portée pour le Compact Framework…
Mais les choses ne sont pas si claires dès lors qu’on doit développer des librairies de code, des composants. Delphi.NET utilise une convention très particulière pour les espaces de noms, le langage impose la redistribution d’une DLL Borland avec les applications. Cela n’est pas toujours acceptable si l’on doit diffuser son code compilé à des développeurs .NET utilisant d’autres langages.
Dès lors, il s’impose comme une évidence que les librairies doivent être écrites sous C#. Elles s’intègrent sans souci sous Delphi.NET et ne posent aucun problème avec les autres langages .NET.
Il ne faut donc pas brûler Delphi qui reste un excellent choix sous .NET.
… Mais il faut se former à C#. Aucun bon développeur Delphi ne trouvera son salut dans les années à venir s’il ne maîtrise pas aussi C#.
Il va falloir apprendre à gérer deux maisons sans y perdre la raison…
Salut,
»
[Néo.51]
« Mais j’ai peur que sieur Borland ai un peu de mal avec cette jeune C# dont il a du mal à suivre l’évolution
Il semblerais que les « Extension methods » du C#3.0 soit +- équivalent au Class helper de Delphi déjà disponible sous Delphi 2005 et officialisé sous Dexter.
voir : http://blogs.borland.com/chewy/archive/2005/09/14/21133.aspx
Tout compte fait ce qui est intéressant c’est que les discussion autour du C# tire vers l’avant les équipes de R&D des différents acteurs du développement logiciel.
Quant à savoir s’il faut apprendre le C# il suffit de consulter les offres d’emploi concernant dotnet…
(à nono40)
La VCL a souvent été décriée, c’est vrai. Mais il est tout aussi vrai que depuis Delphi 1, donc depuis 10 ans, elle a offert la stabilité des développements _natifs_ sur toutes les plateformes.
Aujourd’hui MS propose des choses intéressantes, ce qui n’était pas le cas avant. Vc++ les mfc etc, c’était très en dessous de Delphi. VS.NET en revanche est un très bel environnement. Il est naturel que ce changement de situation force à la réflexion.
Un développeur pro doit aujourd’hui se questionner et faire les bons choix pour l’avenir. Abandonner Delphi n’aurait pas de sens, mais autant on pouvait ignorer vc++ et ses mfc dans les années 90, autant il semble maintenant indispensable de s’ouvrir aussi à C# et aux Windows Forms.
Mais finalement Borland nous montre une nouvelle fois la voie puisque ce sont eux qui ont ajouté C# et tout ce qui va avec à l’IDE Delphi… Un signe qu’il ne faut donc pas ignorer.
Donc brûler Delphi, non. Ignorer C# et les technos MS sous .NET, non plus…
Ca me rappelle un truc : quand Delphi 1 est sorti avec la toute nouvelle VCL, une partie des programmeurs a dit : Pourquoi Delphi ? VCL n’est pas utilisable en dehors de Delphi ! Faites du VB et les composants VBX ( Composants Win16 ancètres des ActiveX Win32 ) seront utilisables par tous. ( y compris pas Delphi 1 qui permettait de les importer )
Avec Win32, VBX est mort, ActiveX est né. VCL est toujours là
Avec VB.NET, ActiveX est mort, heu… vraiement mort. VCL est toujours là.
Je ne crois donc pas que le fait de livrer un dll en plus gène tant que ça si ça permet d’avoir un outil de développement performant. C’est pas la qualité de ses outils que Borland a conquit le marché, et c’est par là qu’il doit le garder.
(à Fox) Je te remercie de tes commentaires.
Chrome est un produit intéressant mais de mon point de vue Delphi ce n’est pas Pascal. C’est bien plus et c’est ce plus qui vaut encore la peine.
Après tout, Pascal ou C#, ce n’est pas essentiel. Ce sont des langages simples et clairs qui s’aprennent rapidement. Ce qui prend du temps et fait perdre de la productivité c’est la perte de l’existant, tout refaire, tout réinventer.
L’avantage énorme de Delphi c’est d’offrir la portabilité ascendante du code Win32, des composants, des DLL, des applications, etc.
C’est aussi le portage complet de VCL qui permet de développer tout aussi nativement qu’en Windows Forms sans réapprendre tout un framework.
Si on supprime ces avantages de Delphi, on obtient Chrome. C’est à dire juste la partie langage sans compatibilité ni portabilité du code Win32.
En dehors des pascaliens « jusqu’auboutistes », je ne vois donc pas trop l’intérêt de Chrome, alors qu’il reste des atouts non négligeables à Delphi.
Super post que je partage de tout coeur !
Mais je pense que tu as oublié le fils caché de Delphi : « Chrome » qui compile du pure .NET et s’intègre à Visual Studio bref presque le Grâle
http://www.remobjects.com/page.asp?id={C5B896C5-5C61-4C1C-A617-136711C07F46}
Encore bravo
(à Mitsu:) disons surtout que l’humour permet de traiter de questions ou de choix difficiles sans leur donner une excessive gravité…
Très bien écrit, très sympa.
L’informatique semble parfois un peu dur pour les ames sensibles.
A smiley : tiens, prend un kleenex, il m’en reste quelques uns
En novembre… j’attendrais décembre pour avoir Dexter car pour l’instant en dehors de mes tests personnels je préfère rester en framework 1.1 que je suis presque sur de trouver sur tous les XP de mes clients ou prospects. A peine .NET digéré si je dis qu’avec un de mes softs il faut installer le framework 2.0 en plus ça risque encore de coincer… La réalité du marché est là.
Donc j’attendrais Highlander avec sérénité sans me priver, dans le même temps, de VS2005 final qui me permettra d’aiguiser ma connaissance du framework 2.0 .. Le meilleur des deux mondes en fait :-))
tu m’as touché avec cette déclaration, j’en pleur snif! , ce fut la même chose pour moi … snif! …
Pour les histoires de bêta, je pense que chacun garde confiance en son monde, ceux qui aiment Delphi sauront bien attendre comme les CSharpistes quelques mois de plus
« Reste l’évolution du framework 2.0. VS 2005 est magnifique mais c’est une bêta reposant sur un framework lui aussi en bêta »
Tout à fait mais en novembre ton coeur ne risque t’il pas de vasciller pour un amour de quelques mois en attendant Highlander avec impatience
Sieur Borland a réglé le problème des évolutions concernant C# puisque c’est le compilateur MS qui est intégré à Delphi 2005 et qui le sera sous Dexter et certainement aussi sous Highlander.
Reste l’évolution du framework 2.0. VS 2005 est magnifique mais c’est une bêta reposant sur un framework lui aussi en bêta. Highlander viendra combler le retard, avec quelques mois de décalage sur les versions finales de MS, mais ce fut aussi le cas pour le passage à Win32 et on sait quel bel avenir à eu Delphi sous cette plateforme…
Bravo trés beau billet
Mais j’ai peur que sieur Borland ai un peu de mal avec cette jeunne C# dont il a du mal à suivre l’évolution
j’adore le style