Je pense que le Cdièse ou le langage D, apparemment, sera le successeur du C/C++. Qu'en pensez-vous ?
Je pense que le Cdièse ou le langage D, apparemment, sera le successeur du C/C++. Qu'en pensez-vous ?
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.
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.
"Never use brute force in fighting an exponential." (Andrei Alexandrescu)
Mes articles dont Conseils divers sur le C++
Une très bonne doc sur le C++ (en) Why linux is better (fr)
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.
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.
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
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.
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 !).
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![]()
Partager