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

Affichage des résultats du sondage: L'avenir du C ?

Votants
116. Vous ne pouvez pas participer à ce sondage.
  • Le C à de l'avenir en général

    60 51,72%
  • Le C n'a d'avenir que pour l'embarqué

    20 17,24%
  • Le C va rester stationnaire

    25 21,55%
  • Le C c'est dépassé, aucun avenir

    5 4,31%
  • Le C existe encore ? je pensais que ça avait disparu

    1 0,86%
  • Je n'aime pas les sondages

    1 0,86%
  • Sans avis

    4 3,45%
Actualités Discussion :

Le C est-il encore un langage d'avenir ?

  1. #1
    Expert éminent sénior

    Inscrit en
    Juillet 2009
    Messages
    3 407
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 407
    Points : 149 059
    Points
    149 059
    Par défaut Le C est-il encore un langage d'avenir ?
    Le C est-il encore un langage d'avenir ?


    Les jeunes développeurs n'utiliseraient plus le C.
    "C'est trop difficile, un truc pour les vieux" semblent-ils dire.

    C'est en tout cas l'enseignement que Michael Barr, rédacteur en chef du magazine "Embedded Systems Design", tire de son expérience.

    L'étude qu'il a menée pendant plus de dix ans montre pourtant que ce langage est, de loin, le plus utilisé dans les projets de logiciels embarqués.

    Mieux : il l'a toujours été, et de manière incontestable, sur les treize dernières années.

    Quant à sa popularité, bien loin de s'essouffler, elle ne cesse de progresser.





    Ce graphique est extrait de l'étude de Michael Barr.

    On notera que la rupture en 2004 s'explique par un changement de question : précédemment les développeurs pouvaient donner plusieurs réponses ("Quel(s) langage(s) utilisez-vous ?"), après cette date seul le langage préféré est pris en compte.

    Les courbes montrent que l'usage de l'assembleur comme langage exclusif d'un projet semble connaitre un déclin inéluctable.

    Il montre également que, de manière continue, le C prend des "parts de marché" au C++.
    Un résultat qui défie les prédictions et contredit les idées reçues, car si le C++ a connu une vague d'adoption jusqu'en 2001, il semble, depuis, stagner.

    La fin du C n'est donc a priori pas d'actualité.

    Deux raisons majeures l'expliquent.
    Premièrement parce que les compilateurs pour le C sont disponibles pour une vaste majorité de micro-processeurs, qu'ils soient en 8, 16 ou 32 bits.
    Deuxièmement, parce que le C est le parfait compromis entre un langage de haut-niveau et de bas-niveau.
    D'après Michael Marr, on ne ferait pas mieux pour tout ce qui touche aux processeurs et aux pilotes.

    Or ce marché explose.

    Le vieillissement et le non renouvellement des programmeurs en C d'une part, et l'augmentation de l'importance des logiciels embarqués d'autre part n'annoncent rien de bon pour l'avenir.

    La faute en incomberait à l'école : "le développement de process et l'architectures des firmware pour les logiciels embarqués s'apprennent aujourd'hui sur le tas", constate le rédacteur en chef de "Embedded Systems Design".
    Malheureusement, cette forme d'enseignement n'est pas des plus efficaces. Le jeune programmeur "n'a souvent que peu de retour - quand il en a - [et] le découragement est souvent au rendez-vous".

    "Bien qu'ils soient intelligents et talentueux, mes jeunes amis ne connaissent [donc] pas vraiment le C. Et ils s'en moquent", regrette-t-il. "Pourtant, il faudra bien continuer à écrire les logiciels embarqués pour répondre à une demande toujours plus forte. De nouveaux langages peuvent aider, mais ils ne permettront jamais une rétro-compatibilité avec toutes les architectures des CPU que nous avons connues jusqu'ici et que nous allons encore utiliser pendant plusieurs décennies"

    Pour renouveler sa communauté de programmeurs, le C n'aurait donc pas le choix.

    Il va devoir se rendre séduisant.


    Et vous qu'en pensez-vous ?

    Le C est-il le meilleur langage pour les logiciels embarqués ?
    L'avez-vous appris sur le tas ?
    Partagez-vous le diagnostic et les inquiétudes de Michael Marr ?


    A lire aussi :


    Tout le C sur Développez.com.



    Source : "Les vrais hommes programment en C", article paru dans "Embedded Systems Design".

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 382
    Points : 4 943
    Points
    4 943
    Par défaut
    pour ma part je n'aime pas le c, ce n'est peut etre qu'une lubie mais je préfère le c++.

    bref aucun rapport, enfin presque :
    - dans mon ancienne fac, mon prof de d'algo (1ère et 2ème année) détestait le c, et se refusait même d'en parler.

    - mon prof de c avait pour argument "ça marche donc le programme est correct"
    (et vous vous en doutez, il codait très très mal)

    - mon prof de système avait pour argument, "linux est codé en c, donc quand on programme pour linux, on programme donc en c" (et bien sur il codait pas mieux que mon prof de c)

    et sans dire que dans mon ancienne fac on commençait le c++ qu'en master ...

    pour moi quand je vois ça, qu'est ce qui me donnerait envie de faire du c?
    alors je sais que les profs de fac enseigne quasiment jamais les matières dont ils sont spécialistes, mais à part sur le tas, c'est pas dans mon ancienne fac qu'on peut sortir en sachant toutes les arcanes du c.

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 62
    Points : 104
    Points
    104
    Par défaut
    Moi aussi je suis à la fac, et on a encore jamais écrit une ligne de C++ (et on en écrira probablement jamais durant le cursus). Pour beaucoup de prof, le C++ c'est la même chose que Java.
    Par contre du C on en a fait pas mal, mais autant certains profs lui donnent beaucoup de qualités (profs de système, multimédia, ...), autant d'autres le dédaignent et ne veulent même pas en entendre parler.

  4. #4
    Membre expert
    Avatar de Chauve souris
    Homme Profil pro
    amateur (éclairé ?)
    Inscrit en
    Novembre 2005
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Paraguay

    Informations professionnelles :
    Activité : amateur (éclairé ?)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 186
    Points : 3 086
    Points
    3 086
    Par défaut Le C c'est un peu comme le latin...
    ... pour comprendre comment a évolué le français (et l'espagnol tambien). Et puis il est utile pour comprendre comment on en est arrivé à faire du C++ (rien que l'horreur des manipulations de chaînes en C). Ceci dit si c'est bon de commencer pédagogiquement par le C, il est effectivement inutile de s'y éterniser. Il faut aussi dire qu'il y a eu une "modernisation" du C et toutes sortes de fonctions se sont vues transformées en leur variantes (à grand coup de traits de soulignement) qui gèrent des débordements de mémoires et salades de types.
    "Toute l'histoire de l'informatique n'a été que l'histoire des systèmes d'exploitations" (Le Manifeste du PC)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 35
    Points : 48
    Points
    48
    Par défaut
    Etant issu d'une école d'ingénierie informatique en alternance, je peux vous dire que les développeurs embarqués qui font du C ou du C++ auront de beaux jours devant eux.. je m'explique :
    Déjà, dans cette école, on est à peu près 100 par promo en première année d'ingénierie et c'est un tronc commun. La spécialisation se faisant en deuxième année on a donc ces statistiques :
    - 60% vont en génie logiciel faire du web, du java ou du .NET..
    - 30% vont en réseaux
    - et seulement 10% vont en systèmes embarqués !!! De plus, sur ces 10% il n'y a pas que des volontaires dont un bon tiers qui n'ont pas pu rentrer en génie logiciel.. lol
    Une chose est sûre le C/C++ n'a pas la même côte que le Web ou le réseaux.. surement trop difficile pour certains.. car il nécessite quand même une bonne rigueur et de nombreuses connaissances en logiciel libre.
    En ce qui concerne le monde professionnel, je suis absolument d'accord avec l'auteur car en effet, il existe des tonnes de projets en C qu'ils faut maintenir ou faire évoluer sans compter les outils à développer
    Les chefs de projets sont vieillissant et la relève, comme je l'ai démontré au début de mon post va être pas mal détournée. Alors j'attends mon heure et je sais que l'on ne manquera pas de travail dans ce secteur et bien payé en plus car tout ce qui est rare est chère

  6. #6
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 30
    Points : 23
    Points
    23
    Par défaut
    Bonjour tout le monde.
    Pour ma part, j'ai eu un excellent prof pour le c. C'est d'ailleur ce qui m'a fais aimer la programmation au depart. Desormais je suis passé sur d'autres langages (java, c#...) et il est clair que le c m'interresse moins. Par contre, j'ai remarqué les possibilité enormes et interresantes que procure ce langage. Il n'est pas simple lorsqu'on se plonge dans ses arcanes, mais propose bien plus de possibilité de bas niveau que d'autres langages. Piloter des cartes deviens plus simple, créer ses propres drivers ou autre.
    De plus, dans les langages de haut niveau tel que le c#, le marshalling des librairies c et c++ sera toujours tres utiles.
    Pour finir, je pense que c'est une mauvaise idée de ne plus le faire apprendre aux etudiant. Ce langage pose pas mal de bases de la programation (je pense notament aux processus) et les autres langages types java et c++ (surtout c++) découlent du c. Ils sont des "amelioration" de celui-ci.

  7. #7
    Membre averti Avatar de ogaby
    Inscrit en
    Août 2008
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 167
    Points : 319
    Points
    319
    Par défaut
    Ah je confirme que sur le marché du travail, le C dans l'embarqué est recherché.

    Perso, j'ai changé en passant de la finance (informatique) à l'industrie cette année et je ne regrette pas. L'embarqué est demandeur.

  8. #8
    Membre régulier
    Inscrit en
    Juillet 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 62
    Points : 104
    Points
    104
    Par défaut
    Est-ce que le Java est beaucoup utilisé dans l'embarqué? Car je vais peut être me spécialiser dans l'embarqué dans mes études, et une grosse partie de cours d'embarqué porte sur Java (et ils expliquent qu'il a plein de qualités par rapport au C pour l'embarqué).

  9. #9
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haut Rhin (Alsace)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 272
    Points : 166
    Points
    166
    Par défaut Programmation systeme
    Bonjour,

    Je pense que le C a encore de l'avenir. Pour ma pars je n'ai qu'un BTS Électronique, et j'ai appris les langages de programmations qui me servent professionnellement sur le tas, à savoir le C, PHP, ASP, Java et Delphi.
    Je constate aussi que mes collègues sortie eux d'école d'ingénieurs ne parlent que de Java. Java est très bien pour l'informatique de gestion, et ses librairies lui permettent de faire pas mal de chose. Mais dans certains cas, le C reste indispensable. Tout ce qui est liaison avec des périphériques externes (driver) et lien entre les drivers et java (JNI) se font en C. Il faudrait des processeurs ayant comme langage natif java pour pouvoir se passer de C.
    Je préfère le C, car on peux tout faire. Actuellement je développe un système de vidéo surveillance sous FreeBSD. Le plus "lite" possible avec interface web. J'ai donc tout fait en C, le serveur web à l'aide de socket classique, et tout tient dans un seul programme, inutile d'installer un serveur Apache, une base de donnée, etc...

    Le C est difficile car il se rapproche du système, il faut avoir une notion de l'architecture d'un PC, des pointeurs, de l'allocation mémoire, etc... C'est plus complexe qu'un simple String toto = "Hello" + maVariable

    Le java est plus simple et on peut penser uniquement à l'aspect métier alors qu'en C il faut aussi prendre en compte l'aspect technique, au risque de finir avec un buffer overflow et autre problème de ce type.

    Cordialement.

  10. #10
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 360
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 360
    Points : 20 377
    Points
    20 377
    Par défaut
    Citation Envoyé par Gordon Fowler Voir le message
    L'étude qu'il a menée pendant plus de dix ans montre pourtant que ce langage est, de loin, le plus utilisé dans les projets de logiciels embarqués.
    Faut-il en conclure que Java et .NET offre de piétres performances ? ( <troll inside> )

    Citation Envoyé par Lovmy Voir le message
    Le C est difficile car il se rapproche du système, il faut avoir une notion de l'architecture d'un PC, des pointeurs, de l'allocation mémoire, etc... C'est plus complexe qu'un simple String toto = "Hello" + maVariable

    Le java est plus simple et on peut penser uniquement à l'aspect métier alors qu'en C il faut aussi prendre en compte l'aspect technique, au risque de finir avec un buffer overflow et autre problème de ce type.

    Cordialement.
    Qui a dit que le language c était difficile ?
    Oui c'est vrai que pour initialiser une chaine de charactères c'est un peu laborieux mais souvent je trouve qu'en C#/.NET il faut en rajouter toute une couche pour faire des choses simples comme pour lancer un thread par exemple.
    En C / win32 il suffit de faire _beginthread(nom de la fonction )
    En .NET je suis neuneu c'est plus tarabiscoté
    donc ce que tu gagnes en réduction de code d'un coté tu le perds de l'autre.

  11. #11
    Membre confirmé
    Avatar de Kalite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Points : 553
    Points
    553
    Par défaut
    Pour ma part j'ai apris le C et C++ en cours. La plus part de mes camarrade ne jure que par les nouvelles technologies tel que Java et C#. Personnel, je trouve que ces nouveau language on beaucoup d'avantage tel que la simplicité et la création facile d'interface très travailler.

    Par contre au niveaux des performances les languages compilé tel que le C et le C++ reste devant. De plus, ces langages sont beaucoup utilisé en aéronautique et en défense.

    Le problème, c'est la loi du marché. En effet, je suis actuellement à la recherche d'un emploie et la on s'apperçoi très facilement qu'il y a beaucoup de demande en Java et en .net. Alors, c'est normale que les écoles s'orientent de cette façon. Mais, il est dommage qu'il y est un dénigrement de ces languages.

  12. #12
    Membre averti Avatar de ogaby
    Inscrit en
    Août 2008
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 167
    Points : 319
    Points
    319
    Par défaut
    Citation Envoyé par Isukthar Voir le message
    Est-ce que le Java est beaucoup utilisé dans l'embarqué? Car je vais peut être me spécialiser dans l'embarqué dans mes études, et une grosse partie de cours d'embarqué porte sur Java (et ils expliquent qu'il a plein de qualités par rapport au C pour l'embarqué).
    Perso, je ne connais pas d'applications pratiques en Java embarqué. Mais il est possible que tes profs ont eu vent que des entreprises l'utilise, on peut les croire et pendant les cours ils citeront certainement des exemples. Et pis tu pourras toujours leur demander.

    De mon côté, j'ai toujours vu du "embedded" en C. Ça prend moins de place en mémoire et c'est très rapide. C'est très important quand on doit programmé de tout petits microcontrôleurs qui sont peu puissants et ont peu de mémoire flash disponible. Les microcontrôleurs sont partout et on entend souvent cette phrase: "Dans une simple cuisine, il y a au moins 200 microcontrôleurs"

    Tu t'orientes dans l'embarqué? Ben vas-y! L'industrie a de grands besoins en embarqué. Généralement c'est en C mais si pendant tes cours, tu apprends que telle et telle branche a besoin de Java embarqué, ben là t'as trouvé une niche: un boulot que peut de gens savent faire (mais toi oui ).

  13. #13
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Citation Envoyé par Gordon Fowler Voir le message
    Le C est-il le meilleur langage pour les logiciels embarqués ?
    Je pense que oui. Le C est vraiment un super langage pour tout ce qui est embarqué. J'ai déjà développé sur des µcontrolleurs PIC en C est c'est vraiment génial.

    L'avez-vous appris sur le tas ?
    On n'apprends pas le C sur le tas. Ou bien on l'apprend mal, très mal.

    Avant d'être sur la rubrique .NET j'étais sur la rubrique C, je l'ai appris durant mes études et il a été longtemps mon langage préféré jusqu'à ce que je me rende compte qu'en entreprise ça ne s'utilisait plus beaucoup (excepté en embarqué), donc je suis parti sur du C# et me voilà aujourd'hui

    Pour ma part je dirais que le C n'est pas mort en école, c'est un langage qu'il faudrait apprendre et bien connaitre pour connaitre les différents mécanismes des langages récents, afin de savoir ce qu'on fait. Le Garbage Collector et en général la gestion de la mémoire c'est pas "magique".

    Vive le C.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  14. #14
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 210
    Points : 459
    Points
    459
    Par défaut
    Citation Envoyé par Lovmy Voir le message
    Bonjour,
    Tout ce qui est liaison avec des périphériques externes (driver) et lien entre les drivers et java (JNI) se font en C.
    Rien n'empêche de faire une poignées de routines avec JNI, et tout le + haut niveau en java.

    Citation Envoyé par Lovmy Voir le message
    Il faudrait des processeurs ayant comme langage natif java pour pouvoir se passer de C
    Non, pas forcément. Et à ma connaissance les processeurs ne comprennent pas le C.
    Il faudrait juste d'avantage de librairies bas niveau. Et si ca se trouve il existe déjà des librairies java pour manipuler tout ça. Une sorte de SWT mais pour le système...

    Citation Envoyé par Lovmy Voir le message
    C'est plus complexe qu'un simple String toto = "Hello" + maVariable
    T'as bien de la chance, car moi on me demande des choses bcp + compliquées que de la concaténation de chaine de caractère.

    Citation Envoyé par Lovmy Voir le message
    Le java est plus simple et on peut penser uniquement à l'aspect métier alors qu'en C il faut aussi prendre en compte l'aspect technique, au risque de finir avec un buffer overflow et autre problème de ce type.
    Java et .NET ont aussi leur lot de subtilités. Tu peux aussi faire des buffer overflow, seulement c'est détecté @ Runtime.

  15. #15
    Membre averti
    Homme Profil pro
    DevOps AWS
    Inscrit en
    Juillet 2009
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : DevOps AWS
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2009
    Messages : 120
    Points : 334
    Points
    334
    Par défaut
    Je suis en stage depuis bientot deux mois et j'ai constater une chose de la part de mes camarades et moi-meme c'est que tres souvent en entreprise on fait plus du C avec des conteneurs C++ qu'autre chose !

    Apres un an de valgrind leek memoire et la norme de mon ecole , je suis arrive dans une entreprise ou j'utilise plus mes competence en C plutot qu'en C++ auquel je me suis initie en 2semaine .

    Quel fut ma surprise lorsque j'ai lance valgrind pour la premiere fois en C++ ...
    600.000 octets alouue lorsque en C j'en aurai utilise peut etre 3X fois mois !!!

    Notre ecole nous apprend a etre parfaitement operationnel avec le C , avoir les competences technique et la rigueur du C c'est un enorme avantage .

    Aujourd'hui si un de mes programme en C ne passe pas sous valgrind sans erreurs et sans leek , je considere ne pas avoir finit celui-ci (Sauf si je me permet d'utiliser une Lib qui a des leeks memoire)

    Bref j'aime le C et sa puissance et je suis pas pres de changer de language de programmation !!!

  16. #16
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Depuis 5 ans maintenant que je programme en C et j'en reste toujours aussi fan, même accro j'dois dire


    Le C est-il le meilleur langage pour les logiciels embarqués ?
    Je pense oui, surtout du point de vue des performances. Même si aujourd'hui dans certains types de développement le C n'est plus trop d'actualité (téléphone portable moderne où Java arrive en tête par exemple) il n'en reste pas moins incontournable pour d'autre (modem par exemple).

    L'avez-vous appris sur le tas ?
    Moi oui, en autodidacte (pas sur le tas, ca existe pas ca pour ce langage) par le biais de livres, du forum et des tutoriaux !

    Partagez-vous le diagnostic et les inquiétudes de Michael Marr ?
    J'estime que même lorsqu'il est encore étudié en IUT ou autre FAC, les cours ne sont pas suffisant. Je vois souvent dans les forums des étudiants qui sont lâchés dans la nature si je puis dire alors que c'est un langage qui doit s'apprendre avec une très grande rigueur et un grand sérieux.

    Le C n'est pas un langage qu'on apprend à coup de baguette magique comme par exemple Python qu'on peut apprendre en 1 ou 2 week-end
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  17. #17
    Membre expérimenté Avatar de Firwen
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2009
    Messages : 472
    Points : 1 587
    Points
    1 587
    Par défaut
    le C est-il encore un langage d'avenir
    Tout dépend de à quoi se destine le programmeur : en informatique de gestion ou en developpement Web, connaitre le C par coeur a une utilité réduite certes
    Pour quelqu'un qui se destine à faire de l'embarqué, de la micro-éléctronique, utiliser ou développer des drivers, des modules kernel ou des applications temps réel, il est certain qu'il est à connaitre.

    Je pense par contre, pour être passé par là, que le C est souvent mal ou peu enseigné en école. Je connais un bon nombre jeunes développeurs habitué à C# et java qui se retrouvent paralysés lorsqu'ils se font insulter par un compilateur C qui est généralement beaucoup plus bavard qu'un compilo java/C# ^^
    It's not a bug, it's a feature

  18. #18
    Membre averti
    Avatar de Sieldev
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 259
    Points : 353
    Points
    353
    Par défaut
    Je suis pas tout à fait d'accord avec le brave Michael Barr.

    Pour ma part j'ai commencé les joies de la programmation avec le C# mais vu la notoriété du C, je m'y suis intéressé et cela tout seul, notamment en faisant des tutoriaux puis en achetant des bouquins sur ce langage.

    Pourquoi me suis-je intéressé au C ? Parce que c'est un langage plus bas niveau que le C# et qu'il permet de mieux comprendre de ce qui se passe en mémoire. En effet en C# ou en Java pas mal de chose sont faites implicitement donc on ne voit pas tout le mécanisme que cela engage derrière.

    Quand Michael Barr nous dit que les jeunes s'en foutent je ne suis pas d'accord. J'ai trouvé le besoin d'aller explorer un minimum ce langage qui est l'ancêtre de tous les langages orientée objets qui ont du succès (C++, C# et Java). Mais d'un autre coté Mr Barr a raison car mes camarades n'ont pas eu la même démarche.

    De même pour les écoles je ne suis pas d'accord avec lui, en premier année de mon école (tronc commun) j'ai eu des cours de langage C. En plus de ces cours, j'ai des cours d'algorithme qui utilisent et exploitent ce langage dans les exemples et TP.
    Puis pour la deuxième année il y a une option Génie des Logiciels Embarqués ou le C et le C++ ont une place dominante.

    Pour conclure je pense que le C a de beaux jours devant lui car on l'enseigne encore en école d'ingénieur et en FAC. De plus il est largement utilisé dans l'embarqué et dans le secteur du jeu vidéo.

  19. #19
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Le résultat m'étonne qu'à moitié car finalement quelles sont les technologies natives possédant une vaste communauté, beaucoup de ressources et libs à disposition et un caractère *relativement* multiplateforme?

    En fait perso j'ai vraiment l'impression qu'il y en a pas un gros paquet. Donc tout ce qui nécessite de se rapprocher de la quintessence de la puissance d'un processeur sans être de l'assembleur (où des choses complètement dingues) se fera assez volontiers en C.

    Je ne pense vraiment pas que le C++ ou le C soient des concurrents de java et .net. Comme quelqu'un a mentionné, ils se complètent mutuellement et tous ont logiquement leur place...

  20. #20
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    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 Gordon Fowler Voir le message
    Le C est-il le meilleur langage pour les logiciels embarqués ?
    Oui et non.

    Oui : Côté performances générales, et haute disponibilité sur les plate-formes abominablement nombreuses en embarqué.
    Non : L'assembleur reste nécessaire sur certaines parties ultra-critiques, et l'Ada tiens la dragée haute au C dans le domaine du sécuritaire.

    De plus, le C++ (enfin, surtout le "C with classes" ou C+) est vastement présent dans le domaine de l'embarqué de gros calibre (PC industriels rackés ou cartes CPU de haute puissance).

    Citation Envoyé par Gordon Fowler Voir le message
    L'avez-vous appris sur le tas ?
    Non, j'ai appris 95% du langage en études supérieures.
    Toutefois, c'est l'optimisation de code ainsi que l'écriture de code "robuste" que j'ai appris sur le tas.

    Citation Envoyé par Gordon Fowler Voir le message
    Partagez-vous le diagnostic et les inquiétudes de Michael Marr ?
    Travaillant dans l'embarqué industriel, je constate surtout qu'il devient très difficile d'embaucher des développeurs d'un niveau acceptable. De plus, le C, comme le C++, sont (injustement) considérés comme "trop difficiles"...

    La plupart des jeunes diplômés sont de véritables tanches en bas niveau, n'y connaissent rien, sont persuadés que la solution miracle passe par un upgrade du matériel et l'utilisation d'un langage de haut niveau (type Java). Quand en plus on rajoute à ça une écriture SMS, l'incapacité manifeste de commenter correctement un code ou d'utiliser des outils de traçabilité / qualité, ça devient grave.

    La problématique d'optimisation ? Mettons plus de puissance CPU (le problème du coût du matériel, surtout en grande série, ne semble pas les effleurer, pas plus que la consommation électrique).
    Le code sécuritaire et/ou fiable ? Ils cherchent une librairie qui fasse ça pour eux. Enfin, ils essaient, du moins...
    Tester le code ? La plupart ont une mentalité "col blanc", et cherchent à quel sous-tech ils pourraient bien refiler la corvée, persuadés qu'ils sont trop biens pour faire des tests.
    Le parallélisme ? Pas la peine de leur expliquer, ils ont les yeux qui deviennent vitreux dès qu'il faut calculer manuellement les synchros sur plus de deux contextes d'exécution.

    Au final, le C a de beaux jours devant lui, car ils ont "un peu" de mal à comprendre que le haut niveau ne peut pas fonctionner sans un bas niveau performant. Heureusement que les industriels, eux, le savent depuis bien longtemps, sinon je ne sais pas comment ils feraient pour avoir des machines puissantes...

    Et à la limite, que ça continue comme ça : plus mes compétences deviendront rares, plus je serais payé cher...
    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

Discussions similaires

  1. Réponses: 18
    Dernier message: 27/08/2010, 09h34
  2. couche DAO. Est ce encore necessaire ?
    Par ouedmouss dans le forum Hibernate
    Réponses: 14
    Dernier message: 22/07/2008, 14h36
  3. JSp est il encore populaire?
    Par berceker united dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 02/10/2006, 13h28

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