IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Delphi and C++Builder Roadmap


Sujet :

Langage Delphi

  1. #1
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut Delphi and C++Builder Roadmap
    Pour info, la nouvelle roadmap pour Delphi
    http://dn.codegear.com/article/36620
    A propos de Tiburón :
    Delphi Language Enhancements
    Delphi’s Object Pascal programming language has always been a cutting-edge development language, implementing language features such as properties, methods and events, structured exception handling, or support for interfaces long before other languages. Delphi’s Object Pascal language will take even more significant steps forward in Tiburón.

    Specific language enhancements planned for Tiburón include:
    • Generics, including language and RTL support
    • Anonymous Methods, which enable the user to define a method in the body of an expression while extending the lifetime of any captured local declarations and assign the resulting method reference to a location of method reference type."
    Les génériques était annoncés mais pas les méthodes anonymes, ça c'est une bonne nouvelle !
    A ce propos voir aussi le travail de SJRD.

  2. #2
    Membre chevronné
    Avatar de nostroyo
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 168
    Billets dans le blog
    16
    Par défaut
    Ça c'est très intéressant, je trouvais que les méthodes annonyme était un concept très bien pensé.

    Maintenant qu'il va y avoir une implémentation en pascal Object, le reve.

  3. #3
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    ouais, moi je suis pas favorable à ce genre de techniques...mais je dois être trop vieux

    sinon je constate que le support linux n'est toujours pas annoncé...même si certains pensent que la phrase suivante dans la version commodore y fait référence "Cross-compilation to other operating systems"...
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  4. #4
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut
    Citation Envoyé par teubies Voir le message
    Ça c'est très intéressant, je trouvais que les méthodes annonyme était un concept très bien pensé.
    Et c'est quoi ?
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  5. #5
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    c'est quand tu déclares une fonction en ligne...c'est par exemple indispensable quand tu développes en AJAX Asynchrone (du fait de la conception du composant).

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function download(url) {
     var ajax=InitAjax()
     ajax.open('GET',url,true); // requête asyncrhone
     ajax.onreadstatechange=function() {
      switch (ajax.readyState) {
       ...
      }
     }
     ajax.send(null); // lancer la requête
    }

    dans le code ci-dessus, on associe à l'événement onreadstatechange une fonction anonyme.

    ce qui est perturbant par rapport à nos habitudes sous Delphi, c'est d'une part que le code est déclaré en ligne, mais surtout que la variable locale "ajax" qui devrait ne plus exister en fin de procédure download, est persistante dans la procédure anonyme qui peut tranquillement y faire référence.

    typiquement sous Delphi on a un paramètre Sender qui identifie l'objet qui déclenche l'événement.

    en équivalent Delphi (bien que l'objet n'existe pas) on aurait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    var
     ajax:THttpRequest;
    begin
     ajax:=THttpRequest;
     ajax.open('GET',url,true);
     ajax.OnReadyStateChange:=ReadyStateChange;
     ajax.send(null);
    // ne surtout pas détruire l'objet AJAX qui DOIT être global !
    end;
     
    function TForm1.OnReadyStateChange(Sender:TObject);
    begin
     case THttpRequest(Sender).ReadyState of
     ...
      4 : Sender.Free; // Transfert terminé, on peut supprimer l'objet
     end;
    end;
    Donc le futur Delphi permettrait d'écrire ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    var
     ajax:THttpRequest;
    begin
     ajax:=THttpRequest;
     ajax.open('GET',url,true);
     ajax.OnReadyStateChange:=function begin
      case ajax.readState of
       ...
       4  : ajax.Free; // transfert terminé, on peut supprimer l'objet
      end;
     end;
     ajax.send(null);
    end;
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  6. #6
    dem
    dem est déconnecté
    Membre actif

    Inscrit en
    Juillet 2003
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Juillet 2003
    Messages : 114
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    ouais, moi je suis pas favorable à ce genre de techniques...mais je dois être trop vieux
    T'es peut-être trop vieux pour y être favorable, mais moi je doit être trop vieux pour comprendre ton explication......... vu que je suis plus vieux que toi....

  7. #7
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par dem Voir le message
    T'es peut-être trop vieux pour y être favorable, mais moi je doit être trop vieux pour comprendre ton explication......... vu que je suis plus vieux que toi....
    ah ouais, t'es super vieux mais elle est pas claire mon explication ?
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  8. #8
    dem
    dem est déconnecté
    Membre actif

    Inscrit en
    Juillet 2003
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Juillet 2003
    Messages : 114
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    ah ouais, t'es super vieux mais elle est pas claire mon explication ?
    Oh si, surement, pour ceux qui y connaissent quelque choses. Ce n'est nullement ton explication qui était en cause.

    C'était juste un petite boutade sur notre "grand âge"...

  9. #9
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 635
    Billets dans le blog
    65
    Par défaut
    Alors là messieurs les "jeunots" allez vous couchez moi je la trouve très claire l'explication et comme plus on est vieux plus on est je serais plutôt pour
    quoique

  10. #10
    dem
    dem est déconnecté
    Membre actif

    Inscrit en
    Juillet 2003
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Juillet 2003
    Messages : 114
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Alors là messieurs les "jeunots" allez vous couchez ...
    ça y est, papy se fâche....

  11. #11
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    je suis contre pour deux raisons principales

    1) je trouve que ça rend le code plus confus

    2) je prédis un grand nombre de questions sur les memory leaks

    et accessoirement, ça donnera des développements non seulement incompatibles avec les versions précédents de Delphi, mais aussi difficiles à adapter si le besoin s'en fait sentir.

    au final, on va avoir un Delphi langage qui tient plus du C que du Pascal, et si j'ai choisi de développer en Pascal depuis 15 ans, ce n'est pas pour rien
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  12. #12
    dem
    dem est déconnecté
    Membre actif

    Inscrit en
    Juillet 2003
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Juillet 2003
    Messages : 114
    Par défaut
    Voilà une explication à mon niveau.

    C'est vrai que ce qui m'a attiré dans Delphi, c'est que tout est clair, carré, etc...

    J'avais essayé de ma mettre à Visual Basic et Java, j'étais un peu vite découragé, je ne sais pas pourquoi. Quand j'ai découvert Delphi avec la version 6 Perso et tout de suite après la 7 Perso dans le livre de Paul Toth (je sais pas si vous connaissez ce gars là...) et de Merlin (tiens, on le voit plus lui...) ça a été comme une révélation.

    C'est donc vrai, que si le language doit devenir plus confus ou plus je ne sais quoi, le Pascal y perdrait-il son âme ? C'est pas moi qui ai la réponse.

    Ensuite, pour les problème de compatibilités descendantes, il y en aura toujours tant que des évolutions existerons.

    Autre sujet, dans la roadmap, les devs pour applis PDA et Compact Framework sont encore et toujours dans un futur lointain... C'est encore du champ libre laissé aux autres. A force d'attendre je vais peut-être vraiment être obligé de faire autre chose que du Delphi....

  13. #13
    Membre chevronné
    Avatar de nostroyo
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 168
    Billets dans le blog
    16
    Par défaut
    Vos arguments se tiennes, mais peut on laisser un langage ne pas évoluer pour garder une compatibilité descendante. Les mauvaises langues pourront continuer à dire et a juste titre que le pascal est un "vieux" langage. Si on pars de ce principe, autant ne pas utiliser les generics dans les prochaines versions pour la rétro-compatibilité.

    Donc, comme vous l'aurez compris, je suis plutôt pour les évolutions du langage (hé oui j'utilise les for in ) et au pire personne ne vous oblige à les utiliser.

    Il est vrai pour les méthodes anonymes que j'avais vu cela avec C# donc pas de soucis de "memory leak", a voir à l'usage.

  14. #14
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    mais oui, le Delphi langage a beaucoup évolué depuis sa version 1 !

    d'ailleurs le passage de Delphi 1 à Delphi 2 est assez révolutionnaire...MAIS il est aussi très transparent. String[0] n'existe plus ? c'est embêtant...mais SetLength(string,x) fonctionne avec les shortstring et les longstring qui sont une belle invention.

    les interfaces, ça manque terriblement dans les versions qui ne les supportent pas, on se voit dans l'obligation de déclarer des classes virtuelles abstraites qui ne donne aucun contrôle sur leur implémentation. c'est une évolution marquante du langage qui répond à un réel besoin de simplification et là encore je pense que personne ne peu regretter leur apparition.

    les overload c'est déjà autre chose, personnellement je ne les utilise pas, je n'aime pas ça...mais bon on va dire que c'est parfois une nécessité pour répondre aux exigences extérieures au programme.

    mais les génériques et que les fonctions anonymes, je trouve que ça apporte plus de confusion que ça ne résout de problème.

    je trouverais personnellement bien plus intéressant d'avoir un IDE qui permette de modifier d'un coup les X versions d'un templates que d'avoir à manipuler un template en tant que tel...vous allez me dire que ça revient au même, mais moi je ne suis pas du tout d'accord. Les templates comme les macros génèrent des erreurs d'interprétation de la macro qui obligent le programmeur à se demander se que le compilateur à compris et pourquoi ça génère une erreur. Si j'ai mes X implémentations que je manipules via l'IDE, lors de la compilation c'est directement sur le code généré que j'aurais mon erreur, et là libre à moi de le sortir du "template" ou de revoir ma copie (je sais pas si je suis bien clair sur ce coup là )

    EDIT: le problème aussi à "ne pas utiliser ce qui ne me plait pas dans les inovations" c'est que je suis toujours sur Delphi 6, moi j'aime bien les inovations, mais j'aimerais bien qu'il y en ai dont j'ai besoin !
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  15. #15
    dem
    dem est déconnecté
    Membre actif

    Inscrit en
    Juillet 2003
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Juillet 2003
    Messages : 114
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    je suis toujours sur Delphi 6
    Trop drôle, venant d'un des co-auteur du livre Delphi 7

  16. #16
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par dem Voir le message
    Trop drôle, venant d'un des co-auteur du livre Delphi 7
    non, y'a trois raisons principales à cela

    1) le livre a été commencé sur Delphi 6, comme il a pris du retard on l'a alors réorienté sur Delphi 7 (ce qui a demandé bcp de travail d'ailleurs)

    2) la différence entre les deux versions tient surtout des produits tiers dont je n'ai pas l'usage

    3) j'utilise beaucoup la version Personal Edition qui était gratuite en version 6 et ne l'est pas en version 7...pour faire du développement GPL, c'est mieux de rester sur du gratuit
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  17. #17
    dem
    dem est déconnecté
    Membre actif

    Inscrit en
    Juillet 2003
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Juillet 2003
    Messages : 114
    Par défaut
    Citation Envoyé par Paul TOTH;31997703)
    j'utilise beaucoup la version Personal Edition qui était gratuite en version 6 et ne l'est pas en version 7...pour faire du développement GPL, c'est mieux de rester sur du gratuit
    Si mes souvenirs sont bons :
    - l'enregistrement Delphi 6 Perso n'est plus accessible...
    - Delphi 7 Perso n'est pas "moins" gratuite, c'est uniquement son canal de distribution qui à changé... Tous les utilisateurs de Delphi 7 Perso n'ont qd même pas acheté ton livre, non ? Je serais d'ailleurs curieux de connaître l'adéquation entre les ventes du livre et les enregistrements auprès de borland/codegear... mais là n'est pas le sujet.
    - Delphi 2005 Perso est une version gratuite, avec une licence encore plus permissive que les versions précédentes... Il faudrait que je cherche mais en 2005/2006 j'avais participé à une discussion dans les forums de developpez.com à ce sujet et j'avais eu des infos et confirmations intéressantes à l'époque de la part de Borland France.

  18. #18
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    alors Delphi 6 était librement téléchargeable sur le site Borland, mais en effet il n'est plus possible d'en obtenir la clé.

    Delphi 7 n'a jamais été en téléchargement libre, il est cadeau avec le livre Delphi 7 Studio, sinon il était en vente (je ne sais plus le prix, mais pas grand chose) chez Borland...c'est peut-être pour cela que la clé peut toujours être obtenue chez CodeGear.

    pour ce qui est des versions suivantes, Turbo Delphi, 2005 et cie, j'ai toujours été rebuté par les pré requis (notamment dotNet - même pour faire du Win32)...et la lourdeur de l'IDE la fois ou j'en ai testé un, je sais plus lequel.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  19. #19
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    je suis contre pour deux raisons principales

    1) je trouve que ça rend le code plus confus
    Pourtant niveau confusion, j'ai en ai vu pas mal en production avec D5-2006 !
    C'est peut être l'esprit qui crée le code qui est sujet à confusion. Ensuite, comme le dit teubies, ce n'est pas parce que cela existe qu'il faut l'utiliser, ce en quoi c'était une bonne nouvelle pour moi c'est que codeGear ne lâche pas l'affaire. Le produit Delphi n'est plus à la mode mais continu d'évoluer.

  20. #20
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    c'est quand tu déclares une fonction en ligne...c'est par exemple indispensable quand tu développes en AJAX Asynchrone (du fait de la conception du composant).
    J'ai regardé l'exemple, mais je ne vois pas en quoi c'est indispensable.
    Ca rend le code plus illisible, c'est tout.
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

Discussions similaires

  1. Nouvelle Roadmap Delphi et C++ Builder dispo sur bdn
    Par lapec_and_cie dans le forum Delphi
    Réponses: 3
    Dernier message: 13/06/2007, 12h42
  2. Delphi et C++ builder
    Par Jackfer dans le forum Delphi
    Réponses: 1
    Dernier message: 06/07/2006, 15h19
  3. Delphi et C++ builder
    Par Jackfer dans le forum C++Builder
    Réponses: 2
    Dernier message: 02/07/2006, 21h32
  4. Réponses: 1
    Dernier message: 29/03/2006, 10h39
  5. Réponses: 0
    Dernier message: 25/07/2002, 11h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo