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

Débats sur le développement - Le Best Of Discussion :

Est-ce que le C# ou le D va remplacer les langages C et C++ ?


Sujet :

Débats sur le développement - Le Best Of

  1. #1
    Débutant  
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Points : 217
    Points
    217
    Par défaut Est-ce que le C# ou le D va remplacer les langages C et C++ ?
    Je pense que le Cdièse ou le langage D, apparemment, sera le successeur du C/C++. Qu'en pensez-vous ?

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    C# ne remplacera pas C++, il manque trop de choses.

    D ne peut pas remplacer C++ en l'état actuel des choses, le passif en C++ est beaucoup trop important pour ça, et D à encore des défauts de jeunesse.

  3. #3
    Débutant  
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Points : 217
    Points
    217
    Par défaut
    Citation Envoyé par deadalnix Voir le message
    C# ne remplacera pas C++, il manque trop de choses.

    D ne peut pas remplacer C++ en l'état actuel des choses, le passif en C++ est beaucoup trop important pour ça, et D à encore des défauts de jeunesse.
    Cela viendra un jour ou l'autre, qu'en pensez vous?

  4. #4
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Citation Envoyé par deubelte Voir le message
    Cela viendra un jour ou l'autre, qu'en pensez vous?
    Non.

    C# c'est pas windows exclusif mais presque (ya mono pour linux qui ne fait pas l'unanimité, pour les mac je sais pas s'il existe quelque chose.

    Comme l'a dit deadalnix, D est trop jeune et l'histoire du C++ trop importante pour qu'il puisse disparaitre comme ca. Quand on voit que le Cobol est un langage encore très actif (depuis 30 ans quand même) alors je n'imagine même pas le C++ dans 50 ans.

    PS: Pour info, le C/C++ n'existe pas, il existe le langage C et le langage C++ qui sont deux langages différents.

  5. #5
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Citation Envoyé par deubelte Voir le message
    le Cdièse
    On dit "C Sharp" et on écrit C# ... le problème c'est que, malgré les effort de mono, ça reste propriétaire (sinon Java aurait peut être été moins populaire que ce dernier). Mais qui sait peut être un jour ...

    À la limite, ces deux langages (D et C#) pourraient éventuellement remplacer le Java (quoique celui-ci est devenu "à la mode", courant, etc donc c'est quand même un peu trop tard AMHA). L'avantage que je vois au D (j'en ai jamais fait mais d'après ce que j'en ait lu), c'est que c'est un langage compilé proche de Java (qui lui souffre de la lenteur de son exécution par le JRE).

    Mais de là à remplacer le C et le C++, je ne pense pas. Ce sont d'anciens langages toujours d'actualité.

    En ce qui concerne le C, il est de plus très intimement lié aux systèmes Unix-likes ... qui eux ne risquent pas de disparaitre. Dans la programmation d'OS, le C a son importance (l'assembleur aussi), ce sont des "veilles choses" qui ne disparaitront pas.

    Pour le C++, tout a été dit.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    D est bien plus proche de C++ que de java.

  7. #7
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 804
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 804
    Points : 32 084
    Points
    32 084
    Par défaut
    Citation Envoyé par Davidbrcz Voir le message
    (.../...)
    Comme l'a dit deadalnix, D est trop jeune et l'histoire du C++ trop importante pour qu'il puisse disparaitre comme ca. Quand on voit que le Cobol est un langage encore très actif (depuis 30 ans quand même) alors je n'imagine même pas le C++ dans 50 ans.(.../...)
    Le cobol à 50 ans, sinon, je suis tout à fait d'accord avec toi. Tout ce que j'ai fait dans mes innombrables missions en cobol aurait pu être fait avec d'aitres langages. Pourtant, en 2008, on m'a demandé de remplacer une appli cobol de 1972.....par une nouvelle appli cobol.

    Ça avait 2 raisons principales :

    1)ça maintenait la cohérence avec les autres batchs de la boite, tous en cobol
    2)le seul autre langage utilisé dans la boite, le java, n'était pas assez puissant(en termes de temps de traitement, hein, je ne juge pas le reste) pour faire tourner le programme dans des temps raisonnables(i.e. sortir 2 millions de courriers, et pas des simples en moins de 12 heures) avec le CPU disponible.

    La raison 1 se retrouve très souvent dans les décisions de maintien de technologies pourtant jugées "obsolètes". Comme il est impossible de migrer tout le système, on ne migre pas du tout - et on garde un tas de truc qui marchent nickel après 10, 20, 30, 40 ans d'affinages successifs. Ne pas oublier que multiplier les langages dans une boite, c'est multiplier au carré les problèmes d'interfaçage entre lesdits langages.....sans compter bien d'autres soucis, la formation des gens(les cobolistes sur java, c'est souvent un massacre), les environnements nécéssaires, etc.

    Alors des "jeunots" comme le C/C++, utilisés dans des millions de programmes, dont un bon paquet destinés à durer très longtemps, ne sont pas près de disparaitre, quelles que soient les qualités du D, du C#, ou de quoi que ce soit d'autre.

  8. #8
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Les seules choses qui peuvent disparaître, ce sont les langages généralistes souffrant de très grosses lacunes et/ou d'un manque de diffusion vraiment conséquent (langages de niche par exemple).

    Par exemple, Algol est un langage aujourd'hui disparu, parce qu'il a muté en deux "monstres" : le Pascal, et juste après le C, eux-même dérivés en plusieurs autres langages. Les lacunes d'Algol étaient notamment au niveau des entrées/sorties, et il a été remplacé à une époque où les ordinateurs (et les développeurs !) étaient peu nombreux... De plus, ses remplaçants avaient une syntaxe suffisamment proche pour ne pas trop perturber les développeurs, et comblaient les lacunes de leur ancêtre.

    A notre époque, vu le nombre de machines et de développeurs impactés, une telle "mort" d'un langage aussi diffusé que le C est tout bonnement impossible. Je ne sais pas si tu as conscience, par exemple, qu'il existe des milliers de types de machines qui ne possèdent qu'un seul et unique compilateur C pour tout développement logiciel ! Certaines n'ont même pas d'assembleur autrement que sous forme d'inlines __asm dans un programme C... Comment veux-tu remplacer ça par quoi que ce soit d'autre ? Le coût serait prohibitif, et donc ça n'arrivera jamais.

    D'autres langages très faiblement diffusés peuvent être remplacés du jour au lendemain par des langages similaires et plus puissants. Je n'ai pas trop le nez dans ce milieu en règle générale, mais je suppose qu'un paquet de langages fonctionnels ou de script ont dû se faire enterrer par quelques "monstres" genre Python ou autres CAML parce qu'ils n'ont pas su sortir de quelques labos ou facs, tout comme d'innombrables langages de script "maison" dans pas mal d'entreprises.

    Mais à partir d'une certaine maturité du langage (ce qui est le cas de C et de C++) et d'une base installée suffisamment vaste (ce qui est là encore le cas de ces deux langages), il devient impossible de rattraper le mouvement ou de les supplanter. Les langages évoluent, bien sûr, mais il devient quasiment impossible de les faire disparaitre à moins d'avoir un "traducteur" universel et fiable à 100% qui permettrait de passer au nouveau langage sans une seule anicroche... Ce qui est peu probable : ça n'existe déjà pas entre deux versions d'un même compilateur C/C++ sur une même plate-forme matérielle, alors vers un autre langage, c'est de l'utopie pure et dure...

    Pour information, le C a suffisamment évolué depuis sa création pour que les compilateurs modernes refusent catégoriquement de compiler un source datant des années 70 : si je me souviens bien, Visual Studio a officiellement abandonné la syntaxe K&R par exemple, qui n'est donc plus du tout utilisable.

    De même, des choses auparavant permises sont désormais des warnings, voire des erreurs qui ne peuvent être levées qu'en réécrivant le code ou en passant une option de compatibilité aux compilateurs. Mais ces changements sont suffisamment "lents" et ciblés pour permettre aux sources d'évoluer simultanément sans engendrer de lourds frais, ce qui pérennise encore plus le langage.

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Si jules cesar t'entendais, il serait rassuré sur l'avenir du latin.

    Ceci dit, je te rejoint, mais ça reste de la vision à court terme. Si c'est pour une question professionnelle, c'est sur qu'on ne verra pas ça disparaitre. Si on se pose la question dans un cadre plus absolu, je ne suis pas convaincu que ces langages resteront car ils ont été conçus sans le recul sur ce qu'on fait.

  10. #10
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par deadalnix Voir le message
    Si jules cesar t'entendais, il serait rassuré sur l'avenir du latin.
    J'ai beaucoup de mal à voir le rapport entre les langues HUMAINES et les langages informatiques, pour ma part... Les premières sont infiniment plus complexes (et donc sujettes à variation) que les seconds, et contrairement à ce qu'il se passe pour les langues humaines, il n'y a pas de notion de conquête d'une civilisation avec la diffusion de la langue du vainqueur (ou extermination des vaincus), et surtout fusion des langues... Sans parler des versions soutenues et populaires d'une même langue : le latin gravé sur les monuments n'est pas le même que le "latin de cuisine" parlé par le bas peuple, tout comme le quidam moyen ne s'exprime pas d'une façon aussi soutenue qu'un académicien. Tu n'as pas non plus d'équivalent des accents dans les langages informatiques, bien qu'il pourrait être marrant de voir un source C avec l'accent toulousain et sa "ponctuation"...

    On ne t'a jamais appris que l'histoire était écrite par les vainqueurs, ou que le français était issu du latin ??
    Ou encore que le vieux français, bien que sensiblement différent du français moderne, reste partiellement compréhensible par un français de notre époque ? Les langues humaines évoluent, absorbent le vocabulaire étranger, ou créent de nouveaux mots. Les langages informatiques sont bien plus contraints à ce niveau, tu n'as qu'à voir les niveaux d'application des dernières normes C ou C++ pour t'en convaincre. De plus, un ordinateur ne peut pas chercher tout seul la signification d'un mot-clé inconnu, contrairement à un humain qui peut chopper un dictionnaire ou demander au voisin.

    Bref, inutile de chercher à comparer les deux tant que les ordinateurs ne seront pas suffisamment intelligents (ou cons, suivant le point de vue) pour se programmer tout seuls et aller faire la peau du voisin électronique pour lui réécrire son programme à sa convenance...

    Citation Envoyé par deadalnix Voir le message
    Ceci dit, je te rejoint, mais ça reste de la vision à court terme. Si c'est pour une question professionnelle, c'est sur qu'on ne verra pas ça disparaitre. Si on se pose la question dans un cadre plus absolu, je ne suis pas convaincu que ces langages resteront car ils ont été conçus sans le recul sur ce qu'on fait.
    Si tu pars dans cette optique, alors c'est exactement pareil pour le successeur, donc pas besoin d'en discuter et on s'en fout, car personne n'est capable de prévoir ce que la technologie sera d'ici là : personne n'est donc capable non plus de prévoir ce qu'il faudra à un langage informatique d'ici 100 ans pour couvrir tous les cas possibles.

    Ce que tu oublies de prendre en compte, c'est la durée du "court terme" en question. A l'heure actuelle, ne serait-ce qu'à cause des secteurs industriels et militaires, le "court terme" correspond au renouvellement intégral du parc existant, ce qui nous emmène donc déjà directement à de 20 à 50 ans dans l'avenir (10 à 25 ans de durée de vie, doublés pour gérer les obsolescences).
    Pendant cette période de temps, des langages aussi implantés que C et C++ ne peuvent tout simplement pas être déboulonnés, ne serait-ce que pour des raisons de coût financier. Donc, ils restent, et comme multiplier les langages est une source de problèmes, tous les développements attenants resteront eux aussi dans des langages compatibles (ou C/C++ eux-mêmes).

    De plus, quoi qu'il arrive, il y aura toujours un besoin de tirer un maximum de puissance d'une machine : le remplaçant de ces langages devra donc offrir des performances similaires, et non pas au contraire requérir un matériel plus puissant. Exit donc les langages managés et/ou interprétés, ou alors on va revenir à un équivalent du Forth.

    Il est bien plus probable que les deux langages évolueront, s'enrichiront et se débarrasseront de vieilles scories plutôt que d'être purement et simplement remplacés. Les sources C datant de 30 ans ne sont déjà plus compilables pour la plupart, et dans 30 ans, ce sera très certainement la même chose qui se produira avec les "vieux" sources de 2010. Mais cela restera du C et du C++ pendant suffisamment longtemps pour que tous ceux qui lisent actuellement ce message soient morts et enterrés depuis longtemps.

    Il est également illusoire de croire qu'il existera "UN" langage de programmation qui fera tout, du moins pas tant que l'IA n'existe pas réellement (et dans ce cas, ce sera le langage naturel qui sera utilisé et non plus un langage informatique de toutes façons). On a besoin de langages différents en fonction du problème à résoudre, et la niche "bas niveau" qu'occupent le C et le C++ est pour l'instant (et pour un sacré moment) impossible à reprendre. Je serais moins catégorique sur l'aspect "haut niveau" du C++, qui lui peut être réellement concurrencé par d'autres langages.

  11. #11
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 804
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 804
    Points : 32 084
    Points
    32 084
    Par défaut
    Assez d'accord avec MacLak : ce qui pilote l'utilisation d'un langage, c'est le besoin utilisateur. Qui, dans certains domaines majeurs, est la pérennité avant tout le reste. Les coûts et risques liés à une migration étant prohibitifs, les évolutions sont très lentes. J'ai (presque)34 ans, je ne verrais de mon vivant ni la mort du Cobol ni la mort du C.

    Après, je ne connais pas bien le C, mais le cobol n'est plus pratiqué comme il l'était. L'ajout de nouvelles fonctionnalités ont rendu obsolètes, voire illisibles, les pratiques des temps anciens. Les sources des années 70 compilent toujours(contrairement au C, d'après MacLak), mais sont considérés comme des horreurs illisibles à remplacer par du code moderne(dans son écriture). En cela, le langage évolue(lentement, évidemment). Mais si l'écriture change, les fondamentaux du fonctionnement restent les mêmes, compilation oblige.

  12. #12
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par el_slapper Voir le message
    Les sources des années 70 compilent toujours(contrairement au C, d'après MacLak)
    Attention : je précise que ce sont les compilateurs modernes qui refusent désormais de compiler le code C en syntaxe K&R... Des compilateurs plus anciens (mais toujours fonctionnels), ou des compilateurs de microcontrôleurs, l'acceptent toujours. Mais la mort de cette syntaxe est "imminente" désormais, sachant qu'elle est déjà obsolète depuis un bon moment.

  13. #13
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Citation Envoyé par deadalnix Voir le message
    Si jules cesar t'entendais, il serait rassuré sur l'avenir du latin.
    Le latin et le grec ancien sont encore enseignés. Quelle langue parlait-on à cette époque en Gaule, en Bretagne ou chez les barbares ?

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 206
    Points : 333
    Points
    333
    Par défaut
    Citation Envoyé par ok.Idriss Voir le message
    On dit "C Sharp" et on écrit C# ... le problème c'est que, malgré les effort de mono, ça reste propriétaire (sinon Java aurait peut être été moins populaire que ce dernier). Mais qui sait peut être un jour
    C# est un standard ECMA
    http://www.ecma-international.org/pu...s/Ecma-334.htm

    N'importe quelle société peut s'en servir.

    Java est venu avant C# donc c'est normal qu'il y ait toujours plus de gens sur Java que sur C#. C'est comme quand 01 Informatique annonçait que Windows NT était à 1% face aux serveurs Linux et qu'ils rigolaient en disant que jamais NT n'arriverait à percer (enfin le nombre de prévisions qu'ils peuvent faire où ils se plantent autant qu'en Bourse je ne les compte même plus genre que la sortie de Windows XP était la plus grosse erreur de Microsoft et qu'ils allaient faire faillite !).

  15. #15
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2009
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2009
    Messages : 349
    Points : 590
    Points
    590
    Par défaut
    Le langage D fait son trou petit a petit.
    Les distributions linux commence à l'adopter (fedora 14 l'intègre)
    La version d2 du langage devrait pas tarder.
    Des implémentation libre du compilateur dmd voit le jour comme ldc.
    Ldc est un compilateur pour la d1 et l'éxécutable généré et plus rapide qau'avec le compilateur dmd.
    Toutefois il souffre de quelque bug et de dédéveloppeur pour la version d2 du langage (un bout du travail a déjà étéait fait)
    Pas mal d'outil libre apparaissent pour faire de tout:
    - openCL
    - openGL SDL ...
    - gtkD
    - qtD
    - dwt (swt pour D)
    - mango (pour faire des sites web en D)
    et j'en passe

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/02/2008, 15h18
  2. Qu'est ce que le cache ?
    Par irrou dans le forum Assembleur
    Réponses: 4
    Dernier message: 24/11/2002, 23h28
  3. Qu'est-ce que c'est que Nessus, ça fait quoi exactement ?
    Par PeterT dans le forum Développement
    Réponses: 3
    Dernier message: 24/07/2002, 11h23
  4. Réponses: 3
    Dernier message: 19/07/2002, 15h01

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