Ne me dis pas que le C ou le C++ sont dépassés vis-à-vis de langages totalement hauts-niveau et\ou de 3ème génération que sont python, visual basic,etc... et tous leurs dérivés...
Oui et non.
Non, parce que le C est et restera pendant longtemps la base de beaucoup de logiciels et d'OS.
Oui, parce que certains langages comme le C# font plus moderne quand ils embarquent un framework d'office.
Enfin c'est surtout une question de goût, et il doit bien y avoir ici des défenseurs du sacro-saint C++.
Pour les jeux video ---> C++ et pour encore longtemps.
OS ---> C (et ASM)
C et C++ ---> rapides
langages proches très proches du systèmes ---> C (ou C++ ASM)
langages hauts-niveau énorméments de langages de 3G ---> interprétés donc pas pratiques, lent, peu proches du système.
si je dis des bêtises signalez le moi sans me blâmer SVP
La futur reponse de -ed- m'interesse deja XD Enfin, de toute maniere le C et le C++ ne seront pas obsolete d'aussi tôt, ( a mon avis ) le rapport puissance/rapidité/capacité reste et demeure éxcelent
Salut, j'ai vu sur certains forum que le C/C++ est complétement dépassé ! Est-ce vrai ?
[C-only]
Dépassé, certainement pas dans les domaines sensibles comme l'écriture de systèmes, de drivers, de logiciels embarqués (réseaux...), de compilateurs. Bref, les logiciels de bases.
Par contre, pas adapté à certaines applications, oui, c'est possible... mais ce n'est pas nouveau.
Savoir choisir son outil est essentiel dans ce métier...
bah si tu veux faire des applets en C++(ou en C) c'est vrai que c'est depaser
Non mais ils(C et C++) sont loins d'etre depasser les application sont souvent en C ou C++.
Et C#,Java et co sont moins proche du systeme.Plus simple pour certaine chose mais donc plus limité et certaine chose quasi impossible(je sait qu'il y'a un OS en Java mais je voit pas qui est assez tordu pour créer un OS dans un language si haut niveau)
[C-only]
Dépassé, certainement pas dans les domaines sensibles comme l'écriture de systèmes, de drivers ou de logiciels embarqués (réseaux...), de compilateurs. Bref, les logiciels de bases.
Par contre, pas adapté à certaines applications, oui, c'est possible... mais ce n'est pas nouveau.
Savoir choisir son outil est essentiel dans ce métier...
Ouais mais nan, tu regarde t'as une foule d'applications développées en Obj-C (qui reste une surcouche du C) avec un framework comme Cocoa et ça tourne nickel.
Donc je pense qu'avec les bons frameworks, le C passe un peu partout, ce qui n'est pas le cas du Python ou du PHP.
sauf que le PHP est language uniquement WEB, tu ne fais pas d'appli en PHP.
Ensuite, les languages de plus haut niveau tel que VB (powwwaaaaaaa ) sont souvent plus souples. Si j'ai besoin d'un petit outil rapidement et que je n'ai pas envie de me casser la tête, je le fais en VB et pas en C ou C++.
Loupé, PHP peut très bien s'exécuter en langage console, voire même avec un GUI (projet PHP/GTK+), c'est pas parce que tu vois le plus souvent PHP avec Apache que son usage lui est exclusivement réservé.
Visual Basic, ça pue, mais c'est abordable avec Visual Studio, en partie grâce au RAD. C# c'est meilleur pour la santé.
Visual Basic, ça pue, mais c'est abordable avec Visual Studio, en partie grâce au RAD. C# c'est meilleur pour la santé.
Ouais tout à fait.
Citation : killian
Et C#,Java et co sont moins proche du systeme.Plus simple pour certaine chose mais donc plus limité et certaine chose quasi impossible(je sait qu'il y'a un OS en Java mais je voit pas qui est assez tordu pour créer un OS dans un language si haut niveau)
Vu qu'il y'a possibilité d'interfacer du code C facilement (dans le cas de C#) et qu'on garde un ensemble de choses assez bas niveau (pointeurs, opérateurs binaires, possibilitées d'avoir des pointeurs de fonction...) on est pas non plus démuni (certains sur la mailling-list de Mono veulent faire un OS où C# serait ce que C est pour les autres OS ce qui passeraient par une modification du compilateur ou du mécanisme d'AOT mais en théorie c'est possible).
Le C++ ca a beau avoir plein de défauts il n'empêche que c'est le standard de l'industrie logiciel et qu'à mon avis ca le restera encore pas mal de temps pour les applications exigeantes (jeux par exemple). Sinon pour les softs plus légers .NET, Java et cie commence à bien percer.
À mon humble avis C reste un standard pour les kernels et l'embarqué toussa (tout ce que dit -ed- quoi ), C++ vivra autant que vivront les codebase C++ (si je ne citais pas Qt on me traiterait de non-propagandiste), et C++0x va avec un peu de chance lui donner un petit coup de jeune.
Donc dépassé, non, mais inadéquats dans une partie des situations (tu veux faire un truc bien : Ocaml, tu veux faire un petit truc moisi : Python ou Ruby ou n'importe quoi, sauf si tu vises le vraiment pourri et que c'est sur le web, et là PHP), oui.
En bref, la reponse pour moi reste non ils ne sont pas obsolète, et pour preuve, il represente encor aujourd'hui ( je pense ) le langage le plus utilisé en entreprise.
Ne me dis pas que le C ou le C++ sont dépassés vis-à-vis de langages totalement hauts-niveau et\ou de 3ème génération que sont python, visual basic,etc... et tous leurs dérivés...
T'entends quoi par langages de 3eme generation? C'est quoi la generation 1 et 2? xD
Et puis c'est totalement faux, le C et le C++ sont TRES LOIN d'etre depasser, c'est les langages les plus utilises.
Le C et C++ sont plus performant que le python et Visual Basic (qui est proprietaire ...).
Ouais mais nan, tu regarde t'as une foule d'applications développées en Obj-C (qui reste une surcouche du C) avec un framework comme Cocoa et ça tourne nickel.
Donc je pense qu'avec les bons frameworks, le C passe un peu partout, ce qui n'est pas le cas du Python ou du PHP.
C'est pas faux. Mais c'est pas du C. Parce qu'en Objective-C, tu as une classe (oui, t'as même que de ça) NSNumber là où t'as 15 non-équivalents en C pour gérer les nombres, tu as un langage entièrement dynamique que ça ne gêne qu'à moitié (warning à a compilation) d'envoyer des messages à des objets qui ne sont pas déclarés pour les recevoir (il est dynamique, donc ces objets peuvent acquérir la méthode correspondante), etc... Là où le C intervient, c'est pour encadrer tout ça, ou pour avoir accès aux couches les plus internes du système. C'est à dire tout ce qui ne concerne plus l'application en elle-même - ce dont parle -ed-.
Moi j'aurai bien aimé que bluestorm parle du langage dont j'ai plus le nom, mais qui était aussi efficace que le C pour programmer un noyau, avec 30 % de code de moins (si je ne m'abuse)
Moi j'ai 13 ans et je me suis mis au C il ni a pas longtemps... Je trouve le C pas tres pratique (je ne n'ai pas encore vue le C++), en faite il faut faire 60 ligne de programme pour afficher un rectangle rouge sur un fond jaune (pour la SDL), peu etre qu'il y a des bibliotheque avec plus de fonction, plus pratique. Enfin, je ferais mes fonction tout seul pour que ce soit plus rapide.
Sinon, moi je voulais apprendre le C pour me faire des petit jeux, comme le casse brique, pac-man, mais cela sont bof ! Ensuite j'aurais fait un zelada en 2D, avec une grande carte et tout, puis apres je me mettrais à openGL, woaaa ! Le but ultime lol, j'espere que c'est pas trop compliquer pour faire une carte un 3D avec des batiment texturer, puis de faire deplacer un ga.
J'ai envie d'apprendre le dark basic, sa ma l'air tout a fait genial, tres simple d'utilisation, on peut que faire des jeux en 2D et avec moin de possibiliter mais on peut faire un tas de truc quand meme... Seul hic: c'est payant, je ne croie pas qu'il existe des IDE pour programmer en dark basic gratuit !
Bah c'est de la programmation ... peu de langages echappe a ca je crois.
La 3D c'est un peu plus compliquer je pense, faut savoir placer un point dans un repere (O, i, j, k).
Moi j'ai 13 ans et je me suis mis au C il ni a pas longtemps... Je trouve le C pas tres pratique (je ne n'ai pas encore vue le C++), en faite il faut faire 60 ligne de programme pour afficher un rectangle rouge sur un fond jaune (pour la SDL), peu etre qu'il y a des bibliotheque avec plus de fonction, plus pratique. Enfin, je ferais mes fonction tout seul pour que ce soit plus rapide.
Sinon, moi je voulais apprendre le C pour me faire des petit jeux, comme le casse brique, pac-man, mais cela sont bof ! Ensuite j'aurais fait un zelada en 2D, avec une grande carte et tout, puis apres je me mettrais à openGL, woaaa ! Le but ultime lol, j'espere que c'est pas trop compliquer pour faire une carte un 3D avec des batiment texturer, puis de faire deplacer un ga.
J'ai envie d'apprendre le dark basic, sa ma l'air tout a fait genial, tres simple d'utilisation, on peut que faire des jeux en 2D et avec moin de possibiliter mais on peut faire un tas de truc quand meme... Seul hic: c'est payant, je ne croie pas qu'il existe des IDE pour programmer en dark basic gratuit !
Eh ben, y'a du boulot !!
Pour ma part, je ne pense pas que le C et le C++ ne deviennent obsolètes rapidement. Après tout dépend de ce que l'on veut programmer bien sûr.
Bon on arrete le troll ici ?
Hop je ferme !
Ah non je peux pas
Sérieusement l'obsolescence arrive quand, en terme d'utilisation par la majorité, un langage est remplacé par un autre.
En l'occurence, le C et le C++ sont, dans le monde professionel, encore très utilisé.
Votre avis de débutant n'y changera rien, il ne s'agit pas d'une question de goût.
Encore une fois, je pense qu'il n'y a que les débutants qui, faute de temps, ne peuvent apprendre qu'un langage et se demandent donc lequel est le plus à la mode.
Professionellement parlant, en fonction du besoin, du public visé, de la rapidité/fiabilité requise, on choisi la technologie et pas inversement.
Bigloo > Certes, mais le C reste tout de même la base de l'Objective-C. Et je ne compte pas la chiée de libraries et de programmes développés en C, pour des programmes en C, même si l'ancienneté du langage aide beaucoup.
J'ai l'impression que certains considèrent que le C (et par extension le C++) est obsolète parce que c'est un "vieux" langage... Ce qui est plus récent serait forcément mieux et/ou plus adapté à la programmation/aux besoins "moderne"...
Pourtant, des langages encore plus vieux sont encore utilisés : le FORTRAN, par exemple, plus vieux que le C dans sa première version, est largement utilisé par la communauté scientifique, et ce, tout simplement parce qu'il est bon dans ce domaine...
Je rejoins donc l'avis de plusieurs d'entre vous : les langages C/C++ ne sont pas obsolètes... S'il y a obsolescence, ce n'est que dans une partie de leurs applications...
sylvain1264 -> Totalement HS.. Et si tu veux faire de l'openGL, attend toi à apprendre des petits trucs en + en math.
Kayl -> +1 Sauf que l'apprentissage des langages n'est pas une question de temps. Beaucoup apprennent pour faire le malin. D'autres apprennent pour s'amuser, faire des trucs utiles, et s'enseigner.
Dans mon cas, je n'ai pas de limite de temps pour apprendre un langage.
Maintenant, je pense que je vais bientôt apprendre l'ASM, ça va me servir a quoi ? A rien. De plus, désolé, mais l'apprentissage d'un langage est tout de même facile. Pas comme le Français :o)
Un langage, ça dépend tout simplement du besoin. Autrement, on programmerai tout en assembleur ou en des programmes plus zarbi. On pourrait même programmer en binaire, c'est la que tout les résultats finissent.
Dans mon cas, je n'ai pas de limite de temps pour apprendre un langage.
Maintenant, je pense que je vais bientôt apprendre l'ASM, ça va me servir a quoi ? A rien. De plus, désolé, mais l'apprentissage d'un langage est tout de même facile. Pas comme le Français :o)
Bah si, ça va te servir à perdre du temps. Parce que compter en binaire, je sais faire, mais ça sert _vraiment_ à rien (ah si, à part faire son malin). Donc de l'autre côté, le français c'est de la tarte.
Dans mon cas, je n'ai pas de limite de temps pour apprendre un langage.
Maintenant, je pense que je vais bientôt apprendre l'ASM, ça va me servir a quoi ? A rien. De plus, désolé, mais l'apprentissage d'un langage est tout de même facile. Pas comme le Français :o)
Bah si, ça va te servir à perdre du temps. Parce que compter en binaire, je sais faire, mais ça sert _vraiment_ à rien (ah si, à part faire son malin). Donc de l'autre côté, le français c'est de la tarte.
Euh... apprendre l'ASM c'est quand même assez différent de compter en binaire et non je ne pense pas que ce soit inutile, si on désire comprendre un peu plus l'ordinateur (l'ASM ce n'est que du binaire "lisible" avec peut-être deux-trois trucs en plus)
Dans mon cas, je n'ai pas de limite de temps pour apprendre un langage.
Maintenant, je pense que je vais bientôt apprendre l'ASM, ça va me servir a quoi ? A rien. De plus, désolé, mais l'apprentissage d'un langage est tout de même facile. Pas comme le Français :o)
Bah si, ça va te servir à perdre du temps. Parce que compter en binaire, je sais faire, mais ça sert _vraiment_ à rien (ah si, à part faire son malin). Donc de l'autre côté, le français c'est de la tarte.
+1, tu ne vas pas t'amuser dans ton appretissage de l'assembleur
et si ça ne te sert à rien, tu aura perdu pas mal de temps...
pas de limite de temps, que veux tu dire???
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)