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

Delphi Discussion :

Inconvénients C++ Builder VS Delphi


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Inconvénients C++ Builder VS Delphi
    Bonjour,

    souvent maitenant, le langage Delphi me parait lourd par rapport au C++ que j'utilise soit avec Qt ou WxWidgets.
    Par exemple sur un tableau dynamique (aLines) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     SetLength(aLines, 0);
      for q := 0 to 67 do
      begin
        if ar[1,q] = 0 then
        begin
          SetLength(aLines, length(aLines)+1); //...
          aLines[ length(aLines)-1] := q;          //...
        end;
      end;
    En C++, je ferais un simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tableau.push_back(nVal);
    Ce qui me gêne de plus en plus également ce sont des expressions telles que le SetLengh qui me semble inadapté, ou le inc()... Je préfère commencer par la variable et lui "affecter" la méthode. comme pourrait le faire aLines.SetLength(nCountl);

    Bref, je me demande si d'utiliser C++ Builder à la place de Delphi présente des inconvénients que je ne soupsonne pas sachant évidemment que je n'espère pas profiter de l'approche de Qt (avec ses signal/slot) dans C++ Builder. Par contre avec wxWidgets ???

    Bref, un spécialiste ayant utilisé les 2 environnements (Delphi et C++ Builder) ? Et même question pour Androïd et Delphi à partir du RAD Embarcadero.

    Merci. Gilles
    Dernière modification par Invité ; 30/11/2018 à 10h35.

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    Lors de mon passage de D7 à BCB2007 jusqu'à XE3, cela a été une expérience riche
    Le retour en Delphi XE2 a été un peu dur (les styles moins souple entre XE2 et XE3) mais le langage avait progressé que cela a été un réel plaisir de voir les nouveautés en Delphi

    Sinon push_back c'est une méthode de la classe générique std::vector
    Tu ne peux pas comparer un Vector à un Array,
    un t: Array of string en C++, c'est juste plutôt un std::string* t ou std::string t[];
    Un std::vector, l'équivalent Delphi c'est List<T> qui contient une méthode Add équivalente au push_back


    j'avais justement comparer les listes STL du C++ et la RTL
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    OK pour le vecteur mais c'est ainsi que je fais en C++ alors qu'en Delphi je n'utilise pas le TList . Comme mon utilisation de Delphi est cyclique alors que celle de C++ est désormais continue, que le premier code est en général en C++ et que la transposition se fait vers Delphi, je n'ai même pas pensé au TList d'autant que je n'utilisais pas des strings mais des integer.

    Ce qui m'intéresse n'est pas de comparer C++ au Pascal. Le choix du langage est déjà fait dans ma tête. Il est facile à deviner compte tenu de la question posée . Je veux simplement savoir dans le cadre de l'utilisation des produits Embarcadero, si Delphi et Builder
    • avancent (sont développés) parallèlement (cad pour être plus précis, "y a-t-il "quelque chose" que permet Delphi et qui ne serait pas transposable en Builder ?" et "est-ce qu'en toutes circonstances, l'exécutable obtenu est aussi performant en Builder qu'en Delphi ?"),
    • utilisent aussi facilement les composant tiers tels que ceux de Devart ou TMS,
    • sont aussi pertinents l'un que l'autre pour cibler Mac Os, Linux (FMXLinux), iOS et Androïd.


    J'ai bien noté que la communauté Delphi est beaucoup plus importante que celle de Builder, et que pendant un moment, Builder a été moins privilégié que Delphi par Embarcadero ou ses prédécesseurs (d'où ma question).

    Merci. Gilles

    PS : j'ai trouvé aux fins fonds du forum C++, le forum Builder. Qu'est-ce qu'il fait là-bas ? Oui c'est du C++, mais je suppose que l'avenir de Builder c'est FMX et que ses spécificités le rapprochent autant de Delphi (l'IDE) que de C++ (le langage). "Placé" ainsi, il est sûr d'en assurer sa confidentialité sur le forum.
    Dernière modification par Invité ; 30/11/2018 à 12h16.

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    C++Builder hérite de la VCL et de FMX puisqu'en fait le code Delphi est transformé en HPP pour être utilisé (le HPP est généré automatiquement)
    Il n'y avait pas de retard à l'époque
    J'avais codé un truc en Delphi pour l'utiliser en C++ mais je crois que c'était juste pour le fun plus qu'autre chose

    Pour les libs externes, je ne sais pas trop, je n'en utilisais aucune en C++Builder,
    Devart j'adore, MyDAC, ODAC ... par contre TMS, je déteste mais c'est moins pire ce que je subis où je bosse avec DevExpress.

    Par contre, beaucoup d'API de matériel, qui avec les .h souvent fournir, gros gains en C++.

    Les performances, le plus couteux c'est souvent la base de données, je me suis jamais battu à gagner des nanosecondes en C++Builder
    Me battre, je le faisais en D7 et depuis FastMM, c'est devenu inutile et difficile à vendre à ton chef que tu ponds un code compliqué pour un gain de performance de quelques % (en D7, tu avais du ratio x100 voire x1000 en gérant finement la mémoire)


    Pour le forum C++Builder, je l'ai trouvé assez facilement dès le jour où j'ai signé ma promesse d'embauche pour un poste C++ mais un petit "Link" entre aller-retour entre C++Builder et Delphi aurait été malin
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Invité
    Invité(e)
    Par défaut
    OK. Merci pour cet avis qui m'incite à essayer Builder.

    Bon WE. Gilles

  6. #6
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 772
    Par défaut
    Citation Envoyé par Selzig Voir le message
    Je veux simplement savoir dans le cadre de l'utilisation des produits Embarcadero, si Delphi et Builder
    Je vais être un peu HS, mais j'ai utilisé C++ Builder XE de 2014 à 2017 avec simplement la VCL

    Et clairement, il faut oublier la VCL, je pense même avec des composants tiers, pour de nouveaux projets et/ ou des projets récents : pour le prix de la licence tu peux aller chez Qt.
    Pour moi l'intérêt d'Embarcadero c'est le multi-plateforme et la bibliothèque FMX : mais je n'ai jamais utilisé, mais à ce que j'ai compris 1) ce n'est pas magique (compilation sous iOS par exemple) 2) l'API est plus stable/ moins de changements

    Ensuite, le compilateur C++ [qui est propriétaire], depuis XE6, devient compatible clang, avec notamment le support du C+11.
    Parce que le compilateur C++ XE plante lorsque tu compiles la partie ASIO de Boost (qui est fournie) : trop de templates.
    Par conséquent, toutes les [petites] bibliothèques en pur C (libzip, bzip2, sqlite, libpng par exemple) compilaient sans problème. Les autres, il faut oublier. Mais depuis XE, il y a dû y avoir un grand nombre d'améliorations.

    Et un dernier point : si tu peux travailler avec C++ Builder, c'est parce que tu utilises des binaires .dcu (le code Delphi est compilé en statique). Et franchement, j'ai utilisé des bibliothèques Delphi (VirtualTree, HTML viewer par exemple) et c'est assez contraignant : il faut avoir la bonne version pour générer les .hpp et les .dcu (sans parler du fait que lorsque tu générais les .hpp (l'IDE ne permettait pas de générer les .hpp et les .dcu en même temps), C++ Builder XE nettoyait les fichier .dcu )

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    oh là ! C'est de moins en moins clair. Si je vous suis, le C++ de Builder serait un ersatz de Delphi -cela peut se comprendre puisque c'est quasiment le même IDE- mais pire encore, 'un traducteur de code Delphi', un "sous-bidule" de Delphi.

    Pas facile d'interpréter les réponses d'autant que je sais que les Delphistes sont des "puristes" dans leur majorité : sans Pascal, point de salut. Or ce qui me plait dans Delphi, ce n'est pas trop le codage lui-même que je trouve beaucoup moins pratique que le C++, même si je le concède il a de la "gueule" et que je le trouve pédagogique. Non ce qui me plait depuis le début, c'est l'approche composant. Mais je dois reconnaître que par rapport à Delphi 7 ou Lazarus, réaliser des composants avec FMX n'est guère plus facile -voire utile- qu'avec Qt.

    Je me disais qu'un C++/FMX pouvait être comparé à un C++/Qt (ou C++/WxWidgets). Je compare déjà Delphi FMX avec les 2 derniers et je dois reconnaître que Delphi ne démérite pas. Mais franchement, si C++/FMX est à la hauteur de Delphi, j'aurais préféré l'utiliser pour ma comparaison, de nombreux codes étant directement portables (les Vector à la place des TList en sont un bon exemple).

    Bon, il va falloir que j'installe une version pour me rendre compte. Je commence dès lundi et je ferai d'abord un mini comparatif entre les 2 produits Embarcadero.

    Encore merci pour vos avis. Bon WE. Gilles

  8. #8
    Invité
    Invité(e)
    Par défaut Gros doute...
    J'installais la dernière version Entreprise et...

    Nom : eInstall.png
Affichages : 1393
Taille : 29,1 Ko

    je ne vois pas de Linux pour Builder.

    Le RAD est en train de s'installer... donc je vais patienter mais en attendant je suis retourné sur le site de FMXLinux :

    Nom : efmlinux.PNG
Affichages : 1371
Taille : 23,0 Ko

    "[...] with Embarcadero Delphi [...]". Cela ne parle pas de Builder, non plus.

    Hum.... Gros doute. Si tel est le cas, le problème de Delphi ou Builder ne se pose plus. J'ai besoin de la cible Desktop Linux.

    Je confirme ou infirme le doute après installation.

  9. #9
    Membre expérimenté
    Homme Profil pro
    Développeur multiplateformes
    Inscrit en
    Mars 2003
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur multiplateformes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 277
    Par défaut
    Citation Envoyé par Selzig Voir le message
    Bonjour,

    oh là ! C'est de moins en moins clair. Si je vous suis, le C++ de Builder serait un ersatz de Delphi -cela peut se comprendre puisque c'est quasiment le même IDE- mais pire encore, 'un traducteur de code Delphi', un "sous-bidule" de Delphi.
    Builder n'est pas un ersatz de Delphi, encore moins un traducteur de code. Mais il utilise le même IDE et le même framework - FMX pour l'interface utilisateur multiplate-forme (et bien sur VCL).
    De ce point de vue il bénéficie de "l'esprit Delphi" que l'on peut résumer par "pourquoi faire compliqué quand on peut faire simple" - ce qui se traduit par un net gain de productivité par rapport à la concurrence notamment en développement mobile - à condition de bien le maîtriser, la doc est un bon aide mémoire mais pas facile pour un débutant pour qui Delphi reste nettement plus sympathique.
    Par contre en ayant débuté avec Delphi la découverte de C++ sera grandement facilitée - c'est un véritable atout de RAD Studio du point de vue pédagogique.
    Il est très complémentaire de Delphi quand aux usages - sciences et techniques pour Builder (accès aux immenses ressources de C++) et gestion, bases de données, enseignement pour Delphi.
    Il utilise les compilateurs C++ CLang (C++11) garants d'un très haut niveau de performances pour les applis scientifiques.
    Il n'y a pas de grosses différences avec Delphi quand à l'usage de l'IDE mis à part Codeguard qui n'est pas compatible (pour l'instant) avec CLang (uniquement avec le vieux compilo Borland toujours fourni).
    Il subsiste, quelques défauts de jeunesse concernant FMX (pour la 3D notamment).

  10. #10
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 541
    Billets dans le blog
    10
    Par défaut
    Les paradigmes de programmation sont différents en C++ et en Object Pascal. Embarcadero à toujours eu un train de retard avec C++ (Voir les évolutions respectives des deux langages données par le constructeur). Historiquement C a été conçu comme un langage mathématique/scientifique en même temps que Unix alors que Pascal qui est un langage dérivé d'algol (algorythmes) est en un sens plus littéraire. Le Pascal a bien évolué dans les années 70 avec le multitâches (Concurrent Pascal et autres). Il est à la base de nombreux OS multitâches et est devenu Delphi avec sa VCL. Et comme on dit "plutôt s'adresser au bon dieu qu'à ses saints" Ceci dit si tu utilises plutôt ton langage selon le paradigme de la POO et minimisant le recours à VCL ou FMX, les deux langages se valent. J'ai voulu développer des application mixtes C++ et Object Pascal avec embarcadero XE7 et j'ai rencontré pas mal de problèmes lié au retard de C++ par rapport à Delphi.
    Ceci dit ces choix sont les tiens en fonction de ton expérience. Je pratique le Pascal puis 1981 et Delphi (avec VCL) a répondu à toutes les problématiques que je me suis posé.

    Petite réserve pour la refonte des composants DevExpress dans les années 2000 qui sont l'exemple à ne pas suivre

  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 ne crois pas que la différence soit dans le langage, mais dans le développeur

    je viens de publier une mise à jour de mon PDF Reader

    je suis parti des sources C++ de PDFium et j'ai codé une DLL en C pour exposer tout cela le plus facilement possible sous Delphi, et de faire le code sous Delphi est à mon sens beaucoup plus simple

    moralité je suis passé une API peu pratique dans PDFium à une architecture basée sur des Interfaces qui est simple à utiliser...pourtant ça reste du C dans les deux cas.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  12. #12
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 613
    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 613
    Billets dans le blog
    65
    Par défaut
    Bonsoir,

    Le parent "pauvre" C++ s'est vu octroyé de nombreux efforts et la dernière version se rapproche de plus en plus de Delphi quant aux fonctionnalités
    comme je viens d'avoir la lettre du mois voir ce lien récent https://community.idera.com/develope...operNewsletter

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 46
    Dernier message: 01/03/2012, 15h02
  2. Report builder et delphi
    Par solo190 dans le forum Autres outils décisionnels
    Réponses: 0
    Dernier message: 25/03/2010, 17h48
  3. Différences entre C++ Builder et Delphi ?
    Par hitmman dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 22/07/2007, 21h56
  4. Réponses: 1
    Dernier message: 11/05/2007, 18h18
  5. Réponses: 1
    Dernier message: 06/01/2006, 21h03

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