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

Langages de programmation Discussion :

"Lâche le C"


Sujet :

Langages de programmation

  1. #1
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2013
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 309
    Par défaut "Lâche le C"
    Bonsoir, je suis un grand adepte du langage C et cela fait la deuxième fois qu'on me suggère de laisser tomber ce langage au profit d'autres tels que notamment le C#, mais aussi C++ ou Java. Mais je me sens mal à chaque fois : Ça fait des années que je programme avec ce langage et c'en est devenu une véritable passion, j'ai des tas de projets en cours et d'autres qui jaillissent parfois dans mon esprit, je m'éclate avec le C, voilà tout.
    Je me suis déjà tourné vers le C++ mais bonsens, sacrée différence avec le C, la POO c'est vraiment bizarre quand on a l'habitude de programmer en C, et puis le passage par référence aussi, jamais pigé en fait ^^ Je ne vois pas le C++ comme une "incrémentation du langage C".
    Il faut dire qu'il n'est pas vraiment d'usage d'utiliser le C dans mes projets, qui sont principalement des simulateurs ou petits jeux en 3D, mais ça marche pourtant parfaitement, même si je reconnais que la gestion des erreurs (Buffer Overflow la plupart du temps) n'est pas évidente.
    On me parle de Unity mais je n'ai pas l'intension de créer de véritables jeux. C'est très tentant d'un côté mais si je me lance là-dedans, j'ai peur de finalement délaisser le langage C.

    Est-ce que vous trouvez que ce langage est dépassé ?

  2. #2
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 804
    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 804
    Par défaut
    Citation Envoyé par KevinduC Voir le message
    Est-ce que vous trouvez que ce langage est dépassé ?
    Ta question est mal posée

    Tu prends le Java, il y a des milliers de projets pro mais ici on nous dit que les entreprises sont en train de changer (C#, Python, ...)

    Tu prends le Cobol, qui lui est dépassé mais évolue encore, et bien c'est un pilier dans les banques.

    Tu prends des langage comme Fortran, Ada ou Objective-C, ils ne sont ni dépassés ni connus/ engageants, mais dans leurs secteurs respectifs, ils sont [quasi] indéboulonnables.


    Le C ne concerne plus que les systèmes embarqués pour de gros profils pleins d'expériences significatives + électronique.
    Et de plus, lorsque tu vois que le C++ dit moderne (> C++11) se javasifie, tu comprends que les pointeurs, les "return errors", le manque de POO n'ont plus le vent en poupe.

  3. #3
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2013
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 309
    Par défaut
    Le C ne concerne plus que les systèmes embarqués pour de gros profils pleins d'expériences significatives + électronique.
    Donc si je comprends bien je devrais bel et bien abandonner le C.

  4. #4
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    question de perception, à mon sens on "abandonne" pas un langage, on s'en éloigne juste un peu, souvent au profit d'un autre, et puis selon le cas on jongle entre les différents langages qu'on connait, le langage C reste un langage incontournable de l'informatique moderne à mon sens, ne serait-ce que pour la comprendre, mais seul il limite forcément le champ des possibles

    y'a d'une part la demande des entreprises qui est à prendre en compte, et d'autre part il me semble la nécessité d'une certaine adaptabilité; être capable de ne pas rester figé sur 1 unique langage c'est aussi être capable d'évoluer, se tenir à jour des évolutions de l'informatique

  5. #5
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2013
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 309
    Par défaut
    J'ai peur de ne plus jamais coder en C si je me mets au C++ ou Java, et tous mes projets en cours sont codés en C. Me lancer dans un autre langage reviendrait à ne jamais achever mes projets, c'est pour ça que je suis mal à l'aise quand on me dit "Lâche le C"

  6. #6
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    Citation Envoyé par KevinduC Voir le message
    J'ai peur (...) je suis mal à l'aise
    ok, le message est passé

    sinon, tu as déjà essayé de toucher à un autre langage juste pour voir, pour essayer ponctuellement, par curiosité ou autre ? si oui et si tu l'as pas trop mal vécu tu pourrai peut-être continuer d'explorer aventureusement le nouveau langage tout en continuant à faire du C ?

  7. #7
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2013
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 309
    Par défaut
    Oui j'ai déjà essayé le C++ mais c'est vraiment différent du C, c'est plutôt déstabilisant, on dirait que tout ce qu'on a appris en C ne sert à rien dans la pratique du C++ : Plus de pointeurs, structures ou fonctions, que des classes et des méthodes.
    Je suis vraiment très hésitant dans ma tête, j'ai survolé un tuto sur OpenGL 3, qui nécessite de maîtriser des librairies comme Qt ou SDL2 car bien entendu, ce que j'utilise est "dépassé", "obsolète" : SDL1 et OpenGL 2.x, mais bonsens quel plaisir je prends à utiliser ces deux outils. Mais d'un autre côté il faut reconnaître que les shaders c'est très tentant et ils nécessitent apparemment de maîtriser le ... C++, à moins que je trouve un tuto sur OpenGL 3 en langage C ..

  8. #8
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 400
    Par défaut
    Oui j'ai déjà essayé le C++ mais c'est vraiment différent du C, c'est plutôt déstabilisant, on dirait que tout ce qu'on a appris en C ne sert à rien dans la pratique du C++ : Plus de pointeurs, structures ou fonctions, que des classes et des méthodes.
    Attention, c'est exagéré: Les fonctions indépendantes restent très utilisées en C++, notamment en vertu du Single Responsibility Principle: On considère qu'une classe de liste n'a pas à gérer le tri, par exemple, laissant cette responsabilité aux fonctions de <algorithm> comme std::sort().

    Toutefois, je suis d'accord qu'en C++ il faut désapprendre la plupart des "bonnes pratiques" du C, n'utilisant les pointeurs (et surtout les pointeurs nus) que dans les circonstances où c'est absolument nécessaire.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  9. #9
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2013
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 309
    Par défaut
    Au fait, je ne sais pas si vous pouvez m'aider mais voilà : Je pense m'initier aux shaders mais Code::Blocks ne trouve pas les fonctions telles que glShaderSource(), il me semble pourtant que les shaders sont disponibles sous OpenGL 2.x, à moins que la version que j'utilise soit encore plus ancienne ..

  10. #10
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 256
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 256
    Par défaut
    Salut,
    Tu t'inquiètes pour rien, tu imagines si à chaque fois qu'un développeur apprenait un autre langage, il abandonnait définitivement les précédents ?

    Le grand avantage que tu trouveras à apprendre plusieurs langages, c'est la possibilité de choisir le plus adapté à la situation. Par contre, et pour le vivre en ce moment, c'est compliqué d'apprendre un langage POO lorsqu'on a fait trop de C (ou qu'on en fait encore). Le changement de paradigme n'est pas si évident.

  11. #11
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2013
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 309
    Par défaut
    tu imagines si à chaque fois qu'un développeur apprenait un autre langage, il abandonnait définitivement les précédents ?
    C'est juste que je me connais, je sais très bien que si je me mets à adorer le C++ je vais finir par délaisser le langage C.

    Autrechose aussi : Imaginez-vous à la place d'un employeur qui reçoit un candidat pour un poste dans l'informatique et qui explique ne maîtriser que le langage C, que SDL1 et OpenGL 2.1, mais qui a acquis beaucoup de savoir-faire et développé de nombreux programmes, est-ce que vous l'embaucheriez ?

    Petite parenthèse : Pour les shaders, il faut télécharger le fichier glew.h pour les utiliser sous OpenGL 2.1, je dis ça au cas où qq1 aurait la même interrogation.

    Merci pour vos réponses en tout cas.

  12. #12
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 252
    Par défaut Super C++ Turbo II
    Faut vaincre tes peurs et devenir un guerrier de la programmation ! Si ta découverte de C++ s'est mal passée pour une certaine raison l'expérience mérite vraiment d'être tentée à nouveau.

    De plus il a justement été conçu pour être un Super C, le tout premier principe à vrai dire de son créateur, alors la transition peut se faire doucement. Quand on s'y essaie la POO semble très naturelle, car on pense objet par nature, et présente de nombreux avantages. Une structure et des fonctions associées ? Une classe avec des attributs et méthodes ! C'est l'encapsulation magique. Au revoir les préfixes copiés-collés, merci mon code allégé…

    Si tu aimes coder en C même en t'essayant à d'autres langages je ne vois pas ce qui t'empêchera de continuer. Je suis adepte de POO mais ça m'empêche pas de toujours utiliser le paradigme fonctionnel !

    Enfin pour répondre à ta question ça dépend des critères. C un langage sympa, puissant et instructif ? Définitivement ! Après forcément si on lui demande d'être orienté objet, simple d'accès et moderne là forcément c'est une autre histoire.

  13. #13
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 252
    Par défaut Il faut de tout pour faire un monde
    Faut oublier le raisonnement radical C ou exclusivement C++. Ton projet SDL/OpenGL 2 en C peut parfaitement utiliser Qt (C++) ou être mis à jour avec une couche de C++ pour exploiter SDL2. GTK ? C'est du C ! Pour les adeptes de C++ il y a GTK-- ! À l'époque où SDL2 n'existait pas une alternative C++ c'était SFML. Enfin tu mentionnes les shaders et justement GLSL c'est un pseudo C. Par contre je sais qu'il existe des langages plus proches de C++. Celui de Microsoft pour DirectX ?

    Bonne transition… KevinduC++ !!

  14. #14
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Bonjour,

    Pour moi, tu te poses une mauvaise question : est-ce que le langage que tu utilises est adapté à ce que tu fais ?

    Il est possible de faire une interface graphique en assembleur, mais ce sera sûrement plus rapide et plus utile d'apprendre un nouveau langage et de le mettre en application.

    Et pour ce qui est de l'obsolescence du C, il a encore de beaux jours devant lui, rassure-toi. Les entreprises dans lesquelles j'ai travaillé ont toutes des projets de centaines de miliers de lignes codées en C, et ne sont pas prètes à dépenser des sommes énormes pour les recoder en... Ah bah oui, c'est vrai, en quoi ?
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  15. #15
    Membre Expert

    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 639
    Par défaut
    KevinduC : continue le C pour tes projets entamés en C.

    Quand tu entames un nouveau projet, tu peux choisir un langage nouveau pour toi, histoire d'agrandir ta confiture, euh pardon, ta culture informatique.

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