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

 .NET Discussion :

C# ou C++ pour quelqu'un qui vient du C ?


Sujet :

.NET

  1. #1
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 935
    Points : 2 014
    Points
    2 014
    Par défaut C# ou C++ pour quelqu'un qui vient du C ?
    Bonjour

    Je débute avec Visual Studio étant par ailleurs à l'aise en C sur microcontroleur et avec un peu d'expérience sur Borland C++ Builder 6.

    J'ai commencé avec C# et j'apprécie la puissance de la bête et le confort d'utilisation de la plateforme mais je souffre de ne rien réussir à faire simplement. Manipuler les éléments d'un tableau de byte ou faire des conversions explicites de type demande la sortie de l'artillerie lourde ; je n'arrive finalement à pas grand chose, tout à réapprendre. Même les DEFINE n’existent pas, obligeant à définir des montagnes de variables.

    Ma question :
    Venant du C et avec l'expérience de Borland C++ Builder6, serais je plus à l'aise avec VS visual C++ ?
    Visual Studio sur la plateforme .NEt est elle un vrai "équivalent de celle en C# ou vais je devoir faire l'impasse sur des fonctionnalités ?

    Merci par avance

    PS : Je fais exclusivement des applications plateform windows
    Il y a 10 sortes de personnes dans le monde : ceux qui comprennent le binaire et les autres

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Dur de répondre à une question comme ca!
    Que cherches tu à faire concretement?
    Oui le define existe, non on en a pas l'utilité en C#. De la même facon, je manipule rarement des tableaux mais des collections comme List<T>.
    Définir des montagnes de variable? Bof non pas specialement.

    Venant du C, faire du C++ c'est la même chose: si tu fais du C++ comme du C tu ne vas pas t'en sortir, ca n'est pas le meme paradigme.

    Par contre, j'ai pas compris la phrase la:
    Visual Studio sur la plateforme .NEt est elle un vrai "équivalent de celle en C# ou vais je devoir faire l'impasse sur des fonctionnalités ?

  3. #3
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 935
    Points : 2 014
    Points
    2 014
    Par défaut
    Bonjour

    Je fais principalement 2 types d'applications :
    -des IHM qui causent avec des cartes électronique par USB ou Rs232
    -des logiciels de traitement et d'affichage de données reçues d'un bloc toujours par USB ou Rs232 depuis des cartes électroniques.

    Avec Borland C++ Builder je pouvais manipuler les datas (short, byte, float etc) pour les insérer dans mes buffers de communication en unsigned char de la même manière ou presque que sur le µc en c.
    Là avec C# je dois sortir des synthaxes de fou qui utilisent apparemment des fonctions de conversion sorties de la NASA et très lourdes(cf ce post où je m'interroge sur comment faire moins pire : http://www.developpez.net/forums/d11...ntenu-textbox/)

    Mon espoir avec Visual C++, d'où l'objet de ma question, serait de pouvoir manipuler mes données de manière identique à ce que je fais sur µc, à bas niveau donc, avec des structures et unions de structures et de simple conversions explicites. Ce serait aussi retrouver des synthaxes proches et retrouver les DEFINE dont j'ai bien du mal à me passer maintenant.

    Visual Studio sur la plateforme .NEt est elle un vrai "équivalent de celle en C# ou vais je devoir faire l'impasse sur des fonctionnalités ?
    La question ici est de savoir si avec visual c++ .NET on dispose des même composants que avec C#. Savoir si une fois mes data manipulées au plus bas niveau avec des conversion explicites et des structures je peux profiter de la même puissance de l'interface .NET et de ses composants pour développer la partie 100% PC de mon application.

    Merci
    Il y a 10 sortes de personnes dans le monde : ceux qui comprennent le binaire et les autres

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Points : 411
    Points
    411
    Par défaut
    Salut,

    J'ai une expérience très proche de la tienne, d'abord sur uc (microchip pour la petite histoire), puis C++ et enfin C#.

    Comme indiqué par Nathanael, le gros changement est surtout au niveau du paradigme objet, même si la syntaxe est très proche, la facon de penser ton programme et de découper est totalement différente.
    Il te faut donc regarder un peu des exemples sur la POO pour appréhender le concept.

    Ensuite, tu ne peux pas faire du bas niveau avec du langage de haut niveau, d'ou la complexité que tu ressens, c'est mal adapté.

    Maintenant, et d’expérience, voici la manière dont on procédait :

    Sur uc, Assembleur (pour les parties très très bas niveau ou critiques) et C pour le reste.

    Sur PC, C# pour IHM et également la communication RS232 (MODBUS etc...), MAIS :
    La couche basse de notre IHM permettait d'abstraire toute la complexité de l’interfaçage.

    C'est donc dans cette direction que je te pousserai, 'wrapper' les notions relatives a la communication
    dans ta couche de bas niveau pour que le code haut niveau et la logique applicative reste lisible.

  5. #5
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 935
    Points : 2 014
    Points
    2 014
    Par défaut
    Salut Nah666

    Tu intégrais du code C dans le projet C# c'est ca ? histoire d'avoir un projet normal, bien structuré en c# et des fonctions de bas niveau programmées en C ?

    Comment faisais tu cela ? Ca m’intéresse fort !

    Merci
    Il y a 10 sortes de personnes dans le monde : ceux qui comprennent le binaire et les autres

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Points : 411
    Points
    411
    Par défaut
    Non je viens de me relire et je n'ai pas dit ça :

    ASM et C sur microcontrolleur.
    C# sur PC.

    Sinon je viens de regarder et il n'y a rien qui semble insurmontable pour ton exemple, a savoir causer sur du RS232:

    http://msmvps.com/blogs/coad/archive...300_-.NET.aspx

    Pour faire référence a mon post précédent, le code qu'on a dans ce blog correspondrait a notre couche basse l'appli PC.

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/06/2012, 19h02
  2. Réponses: 2
    Dernier message: 04/06/2011, 10h21
  3. Réaliser un programme pour quelqu'un qui ne maitrise pas VBA
    Par Loki83 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/11/2008, 13h20
  4. Réponses: 19
    Dernier message: 26/12/2005, 01h04

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