none
Comparaison C# vs C/C++ RRS feed

  • Question

  • Bonjour,

    Je suis ingénieur civil (A0) en électronique, et acquis les connaissances de langages de programmations en 1976 !

    Mon préféré...C/C++ (je possède encore différentes versions, dont [ Visual C++Version 1,52c ] parmi d'autres.

    Etant retraité depuis quelques années (!), j'ai décidé de reprendre le taureau par les cornes !

    J'ai donc acquis Visual C++ 2010 (full package) ainsi que le bouquin d'Ivor Horton (près de 2000 pages !).

    J'en suis à la page 607, mais, suite à l'évolution et les différentes notes et informations, j'aimerais, avant de continuer en C++, connaitre la différence entre C++ et C#.

    Si C# a été créé après C/C++, c'est probablement (?) dans le but d'améliorer le langage.

    Et le C#, est-il à même de pouvoir créer un projet permettant de classer des photos de façon relationnel ?

    Merci de me le faire savoir.

    Très cordialement,

    Jean

    PS: Excuser mes fautes d'orthographe éventuelles, mais je suis néerlandophone d'origine.


    Vision Systems Integrator

    vendredi 18 octobre 2013 21:06

Réponses

  • Bonjour Jean,

    Pour faire simple, Microsoft a créé le C# en prenant tout ce qui a de bien dans les autres langages et a surtout enlever toute la partie compliquée du C++ qui rebutait les développeurs débutants (par exemple la gestion de la mémoire).

    Vous pouvez lire la définition du langage ici

    Microsoft a également définit les méthodes nécessaires pour adresser des bases de données comme SQL serveur avec plusieurs technologie comme ADO.NET.

    Oui vous pouvez insérer des images dans une base de donnée.


    Apprenez à développer en C#

    fred

    • Marqué comme réponse Rescon mardi 22 octobre 2013 22:47
    dimanche 20 octobre 2013 14:45

Toutes les réponses

  • Bonjour Pascal,

    Merci de ta réaction à ma question.

    Je me suis tapé les différences du lien, mais cela date de 11 années !

    Ce qui m'intéresse vraiment, c'est:

    Pourquoi avoir créé le C#, alors que le C/C++ existe depuis des décennies avec des mises à jour régulières ?

    Et, le C# apporte-t-il un plus par rapport au C/C++ ?

    Je me souvient des années 1980...j'avais un vrai plaisir à créer des projets, sous DOS (!) !

    Déjà à cette époque, on était libre à créer des projets permettant même de dessiner (pixel/pixel) des images !

    Pouvez-vous me dire l'avantage d'utiliser un Visual Studio 2010 > 2012 > 2013 par rapport à une version des années '90 ?

    Désolé pour mon comportement, mais j'ai, pour des raisons professionnelles, abandonné le plaisir de programmer depuis les années '90, et je trouve que les produits proposés sont franchement superflus et obsolètes (sauf pour les financiers, bien sûr !).

    bonne continuation,

    Jean


    Vision Systems Integrator


    • Modifié Rescon vendredi 18 octobre 2013 22:23
    vendredi 18 octobre 2013 22:21
  • Bonjour,

    C# comme Java vous apporte un langage et des concepts beaucoup plus abstrait que C++. Par exemple, en C# on n'a aucune notion technique de la mémoire. On instanicie des objets et c'est un processus en arrière plan qui les dés-alloue... On n'a pas la notion de pointeur C#. Lorsque l'on instancie un tableau en C#, ce tableau a une taille. Si on accède à l'élément -1 ou n, n+10,... on se fait automatiquement éjecter... Alors qu'avec C++, tant que vous êtes dans votre zone mémoire, cela fonctionnera (cela engendre des résultats abbérant ou des failles de sécurité)... 

    Il y a encore plein d'autres exemples...

    En codant un C# on code de manière plus fonctionnelle que technique... Comme toute abstraction en informatique, cela permet de simplifier et de réduire le temps de codage (et donc faire des applications plus complexe en moins de temps), mais cela ne permet pas de maitriser les concepts qui sont en dessous... Par exemple, si vous souhaitez manipuler finement la mémoire, vous ne pourrez pas le faire (ou alors très difficilement). Bien évidement, les abstractions demandes beaucoup plus de ressources processeur, mémoires,...etc.

    Si vous avez du mal à comprendre le concept d'abstraction (avec les avantages / inconvénient) d'un langage, posez vous la question suivante : qu'apporte le language C++ par rapport au language C ? Et qu'apporte le langage C par rapport à l'assembleur ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    samedi 19 octobre 2013 03:46
    Modérateur
  • Bonjour Gilles,

    Enfin, j'y vois plus clair !

    Je ne peut m'empêcher de penser au passé. Je suis retraité depuis quelques années, et adore m'occuper !

    Ce qui fait que j'ai acquis le Visual Studio C++ 2010, souhaitant reprendre le plaisir de créer des projets !

    Seulement, arrivé à la page 607, je me pose la question...pourquoi toutes ces routines, qui ne font que gonfler le projet final ?

    Je me souvient des années '80, j'avais (pour le plaisir) créé une application permettant de sélectionner un cocktail parmi 600, avec tout les détails, et même le verre approprié tracé au pixel.

    Total > quelque 300 ko !

    Aujourd'hui, il faut, minimum un DVD, bientôt un "Blue-Ray" !

    Dernière question:

    Est-il possible de créer une base relationnelle de photos ?

    Je dispose de milliers de photos professionnelles (analyses d'images pour le contrôle qualité industriel) et j'aimerais pouvoir disposer d'un système de classement.

    Très cordialement, et désolé pour votre temps,

    Jean


    Vision Systems Integrator

    samedi 19 octobre 2013 12:57
  • Bonjour,

    Oui, il est tout à fait possible d'utiliser C# pour manipuler une base de données relationnelle contenant des photos.

    Très cordialement, et désolé pour votre temps,
    Vous n'avez pas à vous soucier de notre temps... Les bénévoles comme moi, passent leur temps à répondre aux interrogations de toute nature et pour tous les niveaux (du débutant à l'expert...). Sinon, a quoi sert les forums de discussions ???

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    dimanche 20 octobre 2013 12:10
    Modérateur
  • Bonjour Jean,

    Pour faire simple, Microsoft a créé le C# en prenant tout ce qui a de bien dans les autres langages et a surtout enlever toute la partie compliquée du C++ qui rebutait les développeurs débutants (par exemple la gestion de la mémoire).

    Vous pouvez lire la définition du langage ici

    Microsoft a également définit les méthodes nécessaires pour adresser des bases de données comme SQL serveur avec plusieurs technologie comme ADO.NET.

    Oui vous pouvez insérer des images dans une base de donnée.


    Apprenez à développer en C#

    fred

    • Marqué comme réponse Rescon mardi 22 octobre 2013 22:47
    dimanche 20 octobre 2013 14:45
  • Bonjour Rescon

    On peut considérer que votre question a reçu une réponse?

    N’oubliez de marquer la bonne réponse avec le bouton « Marquer comme réponse » 

    Cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    mardi 22 octobre 2013 07:33