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

 C++ Discussion :

Debutant - demande d'information


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 17
    Par défaut Debutant - demande d'information
    bonjour,
    voici mon probleme.
    dans ma compagnie nous avons les code source d'un logiciel construit en c++ builder 4. ce porgramme comporte 11 millions de ligne. et mon patron souhaiterai modifier l'apparence estetique du logiciel.

    jaimerais savoir si c'est possible de passer dun aussi gros programme a une version plus recente de c++ ...
    avant d'acheter une nouvelle version de c++ (exemple visual c++)
    je voudrais savoir si vous avez deja eu des probleme de compilation par la suite.

    et connaissez-vous des biblioteque utile pour lapparence a vendre sur internet. si vous pourriez me donner les noms cela fait 10ans que je n'ai pas toucher a la programmation .. j'ai besoin de me remettre up to date

    merci d'avance et bonne journee

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par ReaderDigest Voir le message
    bonjour,
    voici mon probleme.
    dans ma compagnie nous avons les code source d'un logiciel construit en c++ builder 4. ce porgramme comporte 11 millions de ligne. et mon patron souhaiterai modifier l'apparence estetique du logiciel.

    jaimerais savoir si c'est possible de passer dun aussi gros programme a une version plus recente de c++ ...
    avant d'acheter une nouvelle version de c++ (exemple visual c++)
    je voudrais savoir si vous avez deja eu des probleme de compilation par la suite.

    et connaissez-vous des biblioteque utile pour lapparence a vendre sur internet. si vous pourriez me donner les noms cela fait 10ans que je n'ai pas toucher a la programmation .. j'ai besoin de me remettre up to date

    merci d'avance et bonne journee
    Bonjour,
    L'interface est fait avec c++ builder?? ou une autre lib?

  3. #3
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par ReaderDigest Voir le message
    dans ma compagnie nous avons les code source d'un logiciel construit en c++ builder 4. ce porgramme comporte 11 millions de ligne. et mon patron souhaiterai modifier l'apparence estetique du logiciel.
    Pas de probleme pour le moment.

    jaimerais savoir si c'est possible de passer dun aussi gros programme a une version plus recente de c++ ...
    avant d'acheter une nouvelle version de c++ (exemple visual c++)
    C'est possible, mais il y a (au moins) deux sources de problemes:
    - le langage a evolue
    - il y a des lib propres a Borland que vous n'aurez plus.

    Mais si vous n'avez pas les competances internes pour repondre, votre seul espoir est de sous-traiter l'affaire (et encore, vous n'avez vraisemblablement pas les competances non plus pour verifier que vous ne vous faites pas rouler)

    je voudrais savoir si vous avez deja eu des probleme de compilation par la suite.
    Je serais tres surpris qu'il n'y en ait pas. Quelqu'un de competant ne devra pas avoir de probleme a regler les problemes de compilation. Les problemes de libs, c'est plus complique.

    et connaissez-vous des biblioteque utile pour lapparence a vendre sur internet. si vous pourriez me donner les noms cela fait 10ans que je n'ai pas toucher a la programmation .. j'ai besoin de me remettre up to date
    Je connais mal la situation propre a Windows. Dans les libs multi-platforme, QT est populaire -- son recent rachat peut succiter des doutes mais je n'ai pas d'avis sur la pertinence de ceux-ci.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 17
    Par défaut
    l'interface est faite avec zieglersoft que j'ai installer

    je vais voir ce que je peux faire avec cette lib la
    merci pour les reponse je vais essayer de changer tout ca en gardant le meme compilateur. car oui je suis vraiment depasser par la dimension du programme
    bonne journee

  5. #5
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par ReaderDigest Voir le message
    l'interface est faite avec zieglersoft que j'ai installer

    je vais voir ce que je peux faire avec cette lib la
    merci pour les reponse je vais essayer de changer tout ca en gardant le meme compilateur. car oui je suis vraiment depasser par la dimension du programme
    bonne journee
    zieglersoft
    connait pô.
    Ben ils ont sûrement des version pour d'autre compilateur ou un c++ builder plus récent.
    Voie sur qu'elle compilateur ca tourne et tu aura peut etre moins de problème à passer sur un autre compilateur

  6. #6
    Membre éprouvé
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Par défaut
    Dans l'absolu, si un bon découpage de l'appli a été fait au départ, il devrait être assez simple de réaliser le portage.

    Cependant je doute vraiment que tout se passe impeccablement.

    Au travail je bosse sous VC6 et on a déjà tenté de faire passer le projet sous Visual 2005, boum. Vraiment trop de dépendances dans l'appli pour que ce soit faisable. Maintenant, il est vrai que le logiciel a été commencé il y a plus de 13 ans aujourd'hui, avec des techniques pas toujours académiques.

  7. #7
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par NiamorH Voir le message
    Au travail je bosse sous VC6 et on a déjà tenté de faire passer le projet sous Visual 2005, boum. Vraiment trop de dépendances dans l'appli pour que ce soit faisable. Maintenant, il est vrai que le logiciel a été commencé il y a plus de 13 ans aujourd'hui, avec des techniques pas toujours académiques.
    Ca dépend. On as porter notre ensemble de simulation (lancer de rayon, radar et tout les outils qui vont avec) de visual 6 à visual 2005 sans trop problème. On utilise même Qt 2 avec les dll. C'est un code qui as commencé y as huit ans.
    Si le code est assez propre et bien découpé, ça pose moins de problème.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 17
    Par défaut
    pour tout vous dire c'est un logiciel qui a plus de 20 ans
    au debut il fonctionnais sur disquette et le programmeur est mort l'annee
    derniere alors la compagnie a racheter le logiciel pour faire les modification voulu.
    si vous pourriez voir le cauchemar ... freddy crugger a du charme a comparer de ce programme sans commentaire avec plein de variable du genre i, ii , iii
    .. antecas .. je n'essaierai pas de le mettre en visual 6 mais si jamais un jour je l'essaie je donnerais les commentaire sur ce poste.

  9. #9
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Un seul développeur pour un code de 11M de lignes ? Ca me semble beaucoup.

    Honnêtement, vues les conditions que tu décris, je commencerais à me demander s'il n'y a pas dans le commerce un logiciel faisant le même genre de choses, voire dans le pire des cas si une réécriture totale avec les bibliothèque qu'on trouve aujourd'hui pourrait apporter suffisamment de nouveautés pour être rentable.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  10. #10
    Membre chevronné

    Inscrit en
    Août 2007
    Messages
    300
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 300
    Par défaut
    Si le compilateur affiche 11 M de lignes à la fin, c'est qu'il y a peut-être 2-300000... BCB est fameux pour ce genre d'exagération. Par contre, un seul programmeur sur 10 ans peut très bien concevoir et maintenir un projet de cet ordre.

    J'ai déjà été en charge, entre 1997 et 2003, de suivre un programme de cette taille depuis BCB1 à BCB 6, puis tentative de passage sous VC6. Fin 2007, j'ai du recompiler des parties importantes de la version sous forme BCB5, vers CodeGear C++ Builder 2007.
    Les étapes importantes ont été BCB1=>3 et BCB 3=>5, ainsi que l'abandon du projet VC6.
    Le programme n'a jamais été stable pour BCB4, car cette version du compilateur a très peu vécu et n'était pas franchement différente de BCB3. Donc je n'ai pas d'expérience spécifique BCB4, mais c'est certainement proche de BCB3.

    Le passage BCB1 à 3 a été excellent, en quelques jours. BCB3 était en tout bien mieux.
    Le passage à BCB5 a été laborieux. En effet, BCB5 commençait à avoir des templates conformes. Je dirais 2 mois de transition précautionneuse, car le produit était en pleine activité.
    Le passage à BCB6 s'est fait très rapidement, de l'ordre d'une semaine.

    Le passage à VC6 a été un échec total. Non seulement le support des templates de VC6 était franchement mauvais, mais plus génant, l'interface graphique était VCL, qui a pour caractéristique d'être archi-propriétaire et fortement intrusive, largement autant que MFC dans le même genre. Pour profiter de l'aspect RAD, les concepteurs ne découplaient pas bien l'UI des actions. Le projet a donc été abandonné, et le projet figé dans l'état Windows 2000 / BCB6.

    Pour des raisons de license, j'ai récemment récupéré une version antérieure de ce projet, stabilisé en BCB5. C'était fin 2007, à l'époque de la beta de VS 2008, je n'ai donc même pas essayé VS 2005, et bien sûr encore moins la beta. J'ai vu que Borland en tant que société s'était séparé (une fois de plus) en plusieurs morceaux, dont CodeGear pour la partie outils RAD. J'ai donc acheté Codegear C++ Builder 2007 pour voir, et ça s'est finalement assez bien passé, y compris la VCL.

    C++ 2007 est en vente aujourd'hui sur terre, et marche parfaitement sous Vista, donc pas de problème de pérennité dans l'immédiat. Il est incapable en revanche de lire des vieux projets de grande taille datant de BCB5, bien qu'il prétende le faire (nombreuses erreurs inconnues genre "please send us some feedback, we have no idea how you reached that line"). Par contre, je n'ai eu aucun souci pour lire les fichiers BCB5 un par un, y compris les "forms" d'interface graphique.
    On peut alors copier / coller des morceaux depuis une ouverture en lecture des vieux projets (ne surtout PAS sauver en format Builder 2007!! ça casse tout), vers un projet frais.

    Après un travail minutieux mais trivial, j'ai ravivé le vieux bidule en deux semaines, et il marche maintenant avec le look Vista. J'ai du un peu retoucher les instanciations explicites de templates, car visiblement les conventions de link sont différentes entre les deux versions du compilateur. VCL s'est révélé franchement très portable, à ma grande surprise.
    Le plus long a tout de même été de saupoudrer des centaines de "typename" un peu partout, car à l'époque du BCB5 ce mot-clé n'était pas obligatoire, mais déduit du contexte lors de l'instanciation.

    Dans votre cas l'UI est faite par un autre outil, mais je suppose que le programmeur original s'est servi de la VCL pour tout un tas de choses, de la même manière qu'on voit des librairies compilées sur VS, même sans UI dépendant tout de même de MFC par CMutex ou des traitements de chaines de caractères, voire de tableaux...

    A la lumière de cette expérience, je vous conseille de suivre le même chemin (ne même pas essayer Visual Studio, tenter avec C++ Builder 2007, en convertissant manuellement les fichiers un par un). Le plus long était linsertion massive de typename, le plus délicat la résolution des liens d'instanciation explicite de classes template ("template class Bidule<int>; template class bidule<float>;" etc dans un fichier cpp séparé, parfois vu du link, et parfois non).
    Attendez vous tout de même à combiner deux difficultés que j'ai eu successivement et séparément: celles propre au passage BCB5 => Builder 2007 (explicité au début du paragraphe), et celles de BCB3 à BCB5, car BCB4 est proche de BC3 et ne dispose sans doute pas encore des templates conformes. C'est peut-être la raison originale pour laquelle le développeur original n'a pas franchi le cap de BCB5.

    Attention: je dispose de C++ Builder 2007 et VS 2008, et je ne recommande pas C++ Builder 2007 d'une manière générale, mais uniquement dans le contexte de cette discussion.

    L'environnement Codegear est nettement moins bon: l'intellisense est horriblement lent, l'installation et les mises à jour sont tout simplement atroces, l'intégration avec Perforce n'est pas prévue (bien qu'il y ait en natif une forme assez sympa de suivi des variantes, mais sur une courte période). C++ Builder reste mieux pour des applications UI vite fait, grace à VCL, qui présente les avantages de Winforms sous C# tout en s'intégrant parfaitement avec du C++ natif.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/04/2012, 00h20
  2. Réponses: 9
    Dernier message: 14/04/2005, 17h45
  3. [ATL - ActiveX] demande d informations
    Par venomelektro dans le forum MFC
    Réponses: 7
    Dernier message: 22/03/2005, 20h09
  4. Réponses: 3
    Dernier message: 01/02/2004, 21h24

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