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 :

C++ vs C# [éternel débat]


Sujet :

C++

  1. #1
    Membre éclairé Avatar de reggae
    Profil pro
    Inscrit en
    Août 2005
    Messages
    773
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 773
    Points : 795
    Points
    795
    Par défaut C++ vs C# [éternel débat]
    Bonjour à tous!
    La programmation étant mon principal centre d'intérêt, j'ai donc appris un langage de haut niveau, C++.
    Certains m'ont conseillé de migrer vers C# et d'autre me l'ont fortement déconseillé.
    Qu'en pensez-vous? Quelqu'un pourrait-il m'aider à faire mon choix?
    A++

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Salut, comme tu l'as mis dans ton topic, c'est un éternel débat... va donc voir dans le forum débat, s'il n'y a pas un topic traitantde cela...


    Maintenant, il ne faut pas penser que C++ et C# sont équivalents, au même titre que C et C++, chacun est à utiliser selon ce que tu veux faire !

    Pour C# :
    C# est totalement Orienté Objet, c'est un langage semi compilé en MSIL (MicroSoft Intermediate Language) qui est lui même interprété par le RunTime DotNET lors de l'exécution.
    C# possède le framework DotNET à ça disposition, c'est à dire que de très nombreuses librairies sont disponibles en natif.
    C# est très peu protable vers d'autres plateformes, c'est un pur produit MS (je dit cela de façon purement objective, C# a été produit par MicroSoft, c'est tout), il y a bien le projet Mono pour les plateformes Unix, mais je ne sais pas trop où ça en est, et il me semble que la portabilité est plus proche d'une migration que d'une légère modification de portabilité...
    Du fait que C# est semi compilé, il est très facile de retrouver les sources quasi-initiales à partir de l'exécutable, même s'il existe des outils pour protéger les sources...
    Le langages évolue beaucoup est deux côté : d'une part le langage en lui-même, d'autre part, le Framework .NET

    Maintenant C++ :
    Il est également OO.
    Il est totalement compilé, donc pas de risques pour les sources.
    Il est multiplateforme, au prix d'un certaine rigueur dans l'empaquetage Objet des différentes API, on peut passer Windows à Linux où à BSD simplement en remplaçant les fichiers qui référencent les API, et sans rien touché au reste du code...
    De très nombreuses librairies existent gratuitement partout sur Internet, on peut très facilement les trouver et la doc est généralement très bien fournie...
    Le langage est très stable et n'évolue plus ou presque, donc, pas de risque de devoir reprendre une application. Mais ce n'est pas pour autant qu'il devient obsolète Bien au contraire ^^ Il n'évolue plus car il a atteint sa maturité...

    Voilà quelques points principaux je pense.

    Ils sont tous objectifs, je ne souhaite pas troller et je te conseil d'aller voir sur le forum Débat ou les différents forum traitant de l'un ou l'autre de ces langages voir si le débat n'est pas déjà existant...

    Bonne Continuation

  3. #3
    Membre éclairé Avatar de reggae
    Profil pro
    Inscrit en
    Août 2005
    Messages
    773
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 773
    Points : 795
    Points
    795
    Par défaut
    Merci beaucoup!!!!

  4. #4
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 279
    Points : 11 015
    Points
    11 015
    Par défaut
    Pur OO n'est pas un terme qui me semble vouloir dire quoique que ce soit avec ces langages qui disposent de types primitifs. De plus, comme Java qui l'a suivit, C# dispose d'un paradigme à la limite de l'OO: les generics.

    Pour ce qui est du C++. Et comment qu'il continue d'évoluer! Quantités de choses devraient être ajoutées. Un certain nombre de facilités côté bibliothèque standard (regex, smart pointeur, quelques containers, type function, ...), mais aussi côté langage -> des mineurs et des plus profonds (concepts, support pour mettre en oeuvre la sémantique de déplacement, et d'autres).
    Le code existant restera probablement en grande partie valable. Mais d'autres idiomes vont probablement émerger.

    PS: C++ n'est pas que OO.

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    Mieux vaux opter pour un langage portable (beaucoup plus pratique), donc une voie de + pour C++ (jeu de mots-laids ).

    Enfin c'est mon point de vue

  6. #6
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 753
    Points : 10 704
    Points
    10 704
    Billets dans le blog
    3
    Par défaut
    Le débat c'est plutôt code natif vs .Net. On peut faire du C++ en .Net : Managed C++, et bientôt C++ CLI.
    Les possibilités de C# sont celles du framework. On t'a conseillé de migrer vers C#. Peut être. Mais migrer quoi ? Dans quel but ? Que recherches-tu ?
    Ce qui est sûr, c'est que toucher à plusieurs langages n'a jamais fait de mal.

    Pour info, la plateforme .Net vise la portabilité binaire, ce que ne permet pas le C++. Dans les faits elle est possible, mais limitée (elle dépend des bibliothèques utilisées). Mais comparée aux possibilités du C++ standard, soit pas grand chose de plus que le mode console, .Net doit tenir la comparaison je pense.

    Pour ma part, j'attends .Net 2.0 et les generics avant de m'y remettre un peu. Car autant y'a des trucs sympas en .Net, comme de pouvoir écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int n = 20;
    n.ToString();
    autant devoir écrire son propre conteneur typé, quand on a gouté à la STL, c'est super lourd.

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Août 2003
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 247
    Points : 276
    Points
    276
    Par défaut
    Non. C++ vs C# n'est pas un éternel débat... Ces deux langages répondent à des besoins différents. Demande toi quels sont tes besoins et tu sauras quel langage choisir. On peut hésiter entre C et C++, entre C# et VB.net, entre Python et Ruby, entre PHP et ASP, etc, mais pas entre C++ et C#.

Discussions similaires

  1. [Débat] Technologie .NET vs JAVA
    Par neo.51 dans le forum Débats sur le développement - Le Best Of
    Réponses: 1047
    Dernier message: 14/01/2019, 16h15
  2. Débat sur l'I.A (Intelligence Artificielle)
    Par Anonymous dans le forum Intelligence artificielle
    Réponses: 457
    Dernier message: 05/07/2016, 01h11
  3. Débat : quelle distribution Linux choisir pour débuter ?
    Par Anonymous dans le forum Distributions
    Réponses: 227
    Dernier message: 18/02/2015, 10h09
  4. [Débat] Expériences au sujet de .NET
    Par DevX dans le forum Débats sur le développement - Le Best Of
    Réponses: 46
    Dernier message: 25/05/2014, 11h16
  5. Réponses: 87
    Dernier message: 06/07/2011, 15h33

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