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: Quel avenir pour le langage C ?

Votants
65. Vous ne pouvez pas participer à ce sondage.
  • Le C est encore un langage d'avenir

    24 36,92%
  • Le C est destiné à rester confiné en programmation système

    27 41,54%
  • Le C doit se moderniser pour faire face à la concurrence

    2 3,08%
  • Le C est appelé à disparaitre

    11 16,92%
  • Autres : préciser en commentaire

    1 1,54%
C Discussion :

Quel avenir pour le langage C ? Un développeur expérimenté fait ses adieux au langage


Sujet :

C

  1. #41
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Par défaut
    J'ai vraiment eu du mal a vote.
    Je ne vois pas C comme un langage d'avenir mais comme un langage vivant:
    - arameen,sumerien ... = langues mortes
    - Latin = langue mourante sous perfusion par la religion et un peu de science avec les noms medicos ...
    - Francais = langue vivante
    - Anglais supposee langue d'avenir.

    en gros le C est comme le Francais et d'autres langue encore parle dans beaucoup de pays dans le monde et qui pourrait bien basculer ou en langue d'avenir ou en langue mourrante. Il faut etre bien pretencieux pour savoir ce que deviendra cette langue dans 100 voir 200 ans, c'est un peu comme dire oh le grecque va disparaitre, le latin avec les romains va tout casser yeah !!.
    aujourd'hui le grecque est encore parle et le latin?

    Si cobol et autre pascal se meur c'est pas le cas du C, il se porte tres bien et a son utilite. Je ne lui predit rien du tout car il y a trop de facteurs qui peuvent le faire bascule dans un sens ou dans l'autre. et les gens qui perdent leur temps a prevoir la mort d'un langage devrait plutot liker des photos sur instagram c'est plus utile, au moins ca fait plaisir a l'ego de certain.

    Desole si j'ai l'aire agressif j'en ai un peu marre des sujets Langage A vs Langage B. mois j'utilise C et python et Go (depuis peu non pas par choix mais par obligation et je n'accroche pas du tout je lui trouve trop de defaut PERSONNEL).
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Le problème du C est qu'il est aussi "sans filet" que l'assembleur, sans donner de choix à ce propos.
    Le C++ en revanche, peut descendre aussi "bas niveau" que le C, et offre le choix de travailler avec des filets (destructeurs, pointeurs intelligents etc.) ou sans, en respectant toujours le principe de ne payer que pour ce qu'on utilise.

    Ce qui veut dire que techniquement, le C++ pourrait remplacer le C pratiquement partout sans coût additionnel, sauf quand le compilateur lui-même doit se trouver sur le système embarqué (ce qui est rare; généralement on profite de "compilation croisée" pour de tels systèmes).
    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.

  3. #43
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Par défaut
    Tout a fais, j'ajouterai meme que si j'avais en horreur le nom C/C++ comme si c'etait un langage, j'admet qu'une vrai combinaison des deux permets a une equipe de faire du travaille propre, releguant ainsi le C a ce qu'il fait le mieux, le bas niveau et Pay for what you use.

    Pour ce qui ne voit pas la combinaison. on peut implementer toute les methodes de classe en pure C sans utiliser les outils C++ comme STL et autre, creer des objets et ainsi permettre a une autre partie de l'equipe qui travaille un niveau plus haut de penser rellement objets,heritage,polymorphisme et autre. c'est d'ailleur ce que je suis entraint de faire pour mon Jeu.
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

  4. #44
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Un langage, c'est un outil. Quand on a besoin de faire quelque chose, on prend l'outil adapté.

    Hier, j'ai eu besoin de parser des fichiers CSV. J'ai utilisé Python car c'était l'outil adapté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    def load_texts():
        with open(TEXT_MASTER) as csvfile:
            return [text for text in csv.reader(csvfile, delimiter=';') if text[0] != '']
     
    def filter(texts, pattern_to_keep):
        return [text for text in texts if pattern_to_keep in text[0]]
     
    def pretty_print(texts):
        for t in texts:
            print(t)
     
    if __name__ == '__main__':
        texts = load_texts()
        pretty_print(filter(texts, 'Diagnosis_'))
    Je n'avais aucun souci de performances d'exécution mais j'avais besoin d'écrire ça rapidement. C n'était pas le bon outil pour allouer dynamiquement des chaines de caractères, ça semble évident.

    Souvent, c'est le seul que j'ai à ma disposition car je travaille dans l'embarqué sur micro-contrôleur. En revanche sur PC, je ne vois presque jamais le C comme le bon outil pour moi. Je me tourne plus volontiers vers Java ou Python, depuis peu C++. Est-ce pour autant que le C est voué à disparaître ? Bien sûr que non ! Je n'oublie pas que CPython et OpenJDK contiennent beaucoup de code C.

  5. #45
    Inactif  
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2015
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2015
    Messages : 91
    Points : 0
    Points
    0
    Par défaut
    comme tous empire ils disparaitra dans les abyssent. et on en entendra plus parlée de lui. Il deviendra une langues morte

  6. #46
    Membre régulier Avatar de vivid
    Profil pro
    Inscrit en
    Février 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 166
    Points : 119
    Points
    119
    Par défaut
    "Un des gros soucis avec le langage C est que le développeur doit se soucier en permanence des problèmes de gestion de la mémoire, des caches, entre autres, estime Eric Raymond"

    Un branleur....

  7. #47
    Membre expérimenté
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    946
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 946
    Points : 1 351
    Points
    1 351
    Par défaut C et python
    Hello,

    Prenons un jeu à coder pour une rétro-machine, genre ATARI 800, MSX, ou Amstrad: Le jeu en lui-même tout en C (assembleur pour l'Atari, pas de C performant sur cette machine)... Mais tous les outils de développement en python: Générateur de fontes, image converter, midi vers tables de fréquences pour la musique, génération de map, exécutable vers fichier ou ROM dédié à la machine, etc... Le seul programme nécessitant vraiment de l'efficacité est le jeu lui même.

    Prenons un capteur genre température ou pression atmosphérique sur un 8051: Le capteur en lui-même tout en C ... Mais tous les outils qui tournent autour en python: Génération de lookup-tables (compensations et autres), réception de données sur PC, stockage pour csv ou base de données, etc... Le seul programme nécessitant vraiment de l'efficacité est le capteur lui même.

    Vous allez me dire que le 8051 est devenu bien trop cher comparé à des bêtes de course à deux ou 3 dollars comme les STM32 et autres. Que le pourcentage de gens accrocs au rétro-computing est très faible. C'est vrai. Avec les microcontrôleurs d'aujourd'hui, , on ne programme plus, on clique. Finies les contraintes de taille mémoire, de stabilité, de compacité du code et pire que tout la factorisation... Le niveau baisse lamentablement. De même qu'un bachelier d'aujourd'hui n'est pas sûr d'avoir un certificat d'études d'il y a cinquante ans, un ingé d'aujourd'hui n'est pas sûr d'avoir un bac d'il y a cinquante ans. D'abord la langue française était incontournable, je n'en vois pas beaucoup sur ce fil qui conjuguent correctement, ça pique carrément les yeux. Je constate que le progrès nous pousse vers la médiocrité, et c'est une tendance générale, il n'a pas de raison que le développement ne suive pas le mouvement.

    Dans ce contexte, je pense que le C est condamné à plus ou moins longue échéance. Mais comme l'humanité l'est aussi, je m'en fous un petit peu. D'ici une cinquantaine d'années, plus personne ne saura ce qu'était l'humanité, alors le langage C...

  8. #48
    Inactif  
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2015
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2015
    Messages : 91
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par pfeuh Voir le message
    Le niveau baisse lamentablement. De même qu'un bachelier d'aujourd'hui n'est pas sûr d'avoir un certificat d'études d'il y a cinquante ans, un ingé d'aujourd'hui n'est pas sûr d'avoir un bac d'il y a cinquante ans. D'abord la langue française était incontournable, je n'en vois pas beaucoup sur ce fil qui conjuguent correctement, ça pique carrément les yeux. Je constate que le progrès nous pousse vers la médiocrité, et c'est une tendance générale, il n'a pas de raison que le développement ne suive pas le mouvement.
    Pas d'accord.

    L'informatique à évoluer. On est plus sur uniquement des petits programmes en C/ASM. Tu as d'autre domaine qui sont apparues. Par exemple l'ia ou le big data.
    Tu est peut être bon pour coder des micro contrôleur mais incapable de faire un algo génétique ou un map reduce.

    Faut arrêter de croire que coder en C/assembleur c'est être supérieur aux autres, et faut arrêter de dénigrer les autres. Ceux qui font du web sont par ailleurs assez souvent dénigrer a tord.

    Et sinon je trouve que l'informatique évolue dans le bon sens. Avant on faisait des petits programmes en C/ASM très buggé. Aujourd'hui on mets l'accent sur la stabilité (tests fonctionnel, unitaires...) et l'ingénierie des exigence.
    On ne peu pas comparer un tetris/pong à Witcher 3 en terme de complexité. Faire un open world en assembleur/C c'est juste pas possible.
    Au lieu de se la péter avec un pong en 2D sur Atari je trouve bien plus impressionnant Minecraft coder en Java.

    une petite capture qui montre l'évolution et justement l'augmentation du niveau des jeunes (et non une régression)
    Nom : Capture.PNG
Affichages : 338
Taille : 37,6 Ko

    Vous pouvez me dire : je trouve les logiciels d'aujourd'hui plus buggé qu'avant
    Je vous répond que le complexité à augmenter de manière exponentiel et c'est l'oins d’être vrai. Les vielles versions de windows/Linux avec 100000 lignes de codes était très instable. Aujourd'hui les dernières versions de ces os avec plusieurs millions de lignes de code sont beaucoup plus stable. Une grosse partie du code des distribution linux sont coder en python (hors kernle). T'installe une debian/ubuntu/rhel/fedora ou autre si tu enlève python t'a plus grand chose, tu n'as plus apt/yum déja.

    Et encore une fois apt/yum sont plus utile/intéressant qu'un vulgaire pong 2d sur Atari, enfin ce n'est que mon avis.

  9. #49
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Par défaut
    Citation Envoyé par vivid Voir le message
    "Un des gros soucis avec le langage C est que le développeur doit se soucier en permanence des problèmes de gestion de la mémoire, des caches, entre autres, estime Eric Raymond"

    Un branleur....
    +1 et -1 en meme temps. En faite oui c'est un soucis mais en meme temps c'est la tout l'interet du C. c'est pas un defaut, c'est volontaire. Le veritable probleme AMHA c'est que ca demande aux gens de reflechir a autre chose que juste le developpement du logiciel en question. c'est vue comme un perte de temps et source de bug surtout par le chef d'equipe.

    Citation Envoyé par lulu7 Voir le message
    Faut arrêter de croire que coder en C/assembleur c'est être supérieur aux autres, et faut arrêter de dénigrer les autres. Ceux qui font du web sont par ailleurs assez souvent dénigrer a tord.

    Et sinon je trouve que l'informatique évolue dans le bon sens. Avant on faisait des petits programmes en C/ASM très buggé. Aujourd'hui on mets l'accent sur la stabilité (tests fonctionnel, unitaires...) et l'ingénierie des exigence.
    Il ne dit pas (du moins avec ma comprehension) que les nouveaux languages sont mediocres. Ce qu'il dit c'est que avec toutes le couche d'abstraction la nouvelle generation ne sais pas et NE PEUT PAS savoir ce qu'elle fait reellement. Et honetement avec les super nouveaux langages, il y a des choses que je fais sans vraiment comprendre ce qui ce passe. et vous de direz OSEF et oui c'est vrai mais en meme temps va prouve juste qu'on se dirige vers une diminution des competenses. Je pense que c'est bon pour le bussness mais mauvais pour l'intellecte.

    Le C en un langage suffisement haut niveau pour etre accessible a tous et suffisement bas et proche de l'assembleur pour demander au cerveau de faire autre chose que pisser du code. Comme beaucoup le repete c'est un outils l'aimer ou le detester n'a aucun sens, mais le voir comme un outils vous permettant de faire beaucoup de chose et en plus permettant a votre cerveau de rester actif est une maniere plus saine de voire le C.
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

  10. #50
    Inactif  
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2017
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2017
    Messages : 64
    Points : 0
    Points
    0
    Par défaut
    Cela s'appelle l'évolution.
    Ces couches d'abstractions permette de ce concentrer sur autres choses ! cela permet de créer des spécialisations.

    Vous ne savez pas chasser/élever des chèvres cela ne vous empêche pas de manger et cela vous permet de vous concentrer dans des taches que vous considérer plus importantes.

    Une baisse de niveau à mon sens se caractériserait pas l'impossibilité des jeunes à concevoir de nouveaux produits/besoins.

    Ce qui n'est pas le cas. Au lieu de perdre leurs temps dans ces futilité (gestion de la mémoire...) ils délègue cela à d'autre et ce concentre sur l'essentiel.
    Résultat : ils maîtrisent d'autres compétences. Par exemple ils maitrise la programmation objet en java au lieu des pointeurs/structures en C. OU bien le langage OCL.
    c'est un autre monde, une autre discipline qui enrichie l'informatique
    C'est un autre monde

  11. #51
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Citation Envoyé par lilington Voir le message
    +1 et -1 en meme temps. En faite oui c'est un soucis mais en meme temps c'est la tout l'interet du C. c'est pas un defaut, c'est volontaire. Le veritable probleme AMHA c'est que ca demande aux gens de reflechir a autre chose que juste le developpement du logiciel en question. c'est vue comme un perte de temps et source de bug surtout par le chef d'equipe.

    Il ne dit pas (du moins avec ma comprehension) que les nouveaux languages sont mediocres. Ce qu'il dit c'est que avec toutes le couche d'abstraction la nouvelle generation ne sais pas et NE PEUT PAS savoir ce qu'elle fait reellement. Et honetement avec les super nouveaux langages, il y a des choses que je fais sans vraiment comprendre ce qui ce passe. et vous de direz OSEF et oui c'est vrai mais en meme temps va prouve juste qu'on se dirige vers une diminution des competenses. Je pense que c'est bon pour le bussness mais mauvais pour l'intellecte.

    Le C en un langage suffisement haut niveau pour etre accessible a tous et suffisement bas et proche de l'assembleur pour demander au cerveau de faire autre chose que pisser du code. Comme beaucoup le repete c'est un outils l'aimer ou le detester n'a aucun sens, mais le voir comme un outils vous permettant de faire beaucoup de chose et en plus permettant a votre cerveau de rester actif est une maniere plus saine de voire le C.
    Pour moi, cela donne au C (ou au C++, qui a l'avantage d'avoir les deux et le désavantage d'être beaucoup plus compliqué) une vocation pédagogique. Programmer en C est bien pour enseigner les tenants et aboutissants de la machine. Les langages de haut niveau sont bien pour faire des vraies applications une fois qu'on a assimilé tout ça.
    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.

  12. #52
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Pour moi, cela donne au C (ou au C++, qui a l'avantage d'avoir les deux et le désavantage d'être beaucoup plus compliqué) une vocation pédagogique. Programmer en C est bien pour enseigner les tenants et aboutissants de la machine. Les langages de haut niveau sont bien pour faire des vraies applications une fois qu'on a assimilé tout ça.
    Venant de toi ca me surprend, Sinon difficile de donner un amis tranche sur la question. je detail:
    Je vens enseigner la programmation a quelqu'un si je choisis C parcequ'il est soit disant bien pour la pedagogie je vais me trouver avec le probleme que beaucoup ont: Les Pointeurs c'est dur, pourquoi ce truc. Resultat perte de motivation. De plus mon eleves devrait faire attention a beaucoup de chose et risque d'oublier l'essentiel. J'en ai deduis en essayant d'enseigner le C que c'est un exellent language pour comprendre la programmation mais pas pour apprendre a programmer. Oui car le C est un langage avec un vocabulaire tres faible ca veut dire qu'on a vite fait le tour de ce qui est a savoir, c'est certainement apres l'assembleur le langage le plus simple a apprendre. Mais, comme l'assembleur c'est il demande enormement de connaissance en informatique/materiel qui n'ont rien avoir avec le C en lui meme. c'est la ou la question pedagogique se pose.
    Que veut-on enseigner? un langage de programmation (alors la c'est pas celui qu'il faut selon moi) ou comment programmer un appareil (la il est le meilleur toujours selon moi)
    Mais ce que je dis se base uniquement sur mon experience personne et donc n'est pas une preuve scientifique. Les gens qui ont appris le C avec moi ont eu la malchance de l'avoir comme premier langage quand moi j'aivais programmer avec autre chose avant. ca ma permit de comprendre des choses et au contraire deroute la plus part des autres debutants sans background informatique.
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

  13. #53
    Membre à l'essai
    Homme Profil pro
    Représentant pharmaceutique
    Inscrit en
    Octobre 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Représentant pharmaceutique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par pfeuh Voir le message
    Hello,

    Prenons un jeu à coder pour une rétro-machine, genre ATARI 800, MSX, ou Amstrad: Le jeu en lui-même tout en C (assembleur pour l'Atari, pas de C performant sur cette machine)...
    Perso, j'irais vers Atari 2600, Colecovision, Intellivision.

    Que le pourcentage de gens accrocs au rétro-computing est très faible.
    J'en suis.

    Avec les microcontrôleurs d'aujourd'hui, , on ne programme plus, on clique. Finies les contraintes de taille mémoire, de stabilité, de compacité du code et pire que tout la factorisation...
    Moi, ça me fascine. Par analogie, conduire une Corvette 1968, c'est cool, mais j'aimerais beaucoup mieux la Tesla Roadster.

    Le niveau baisse lamentablement. De même qu'un bachelier d'aujourd'hui n'est pas sûr d'avoir un certificat d'études d'il y a cinquante ans, un ingé d'aujourd'hui n'est pas sûr d'avoir un bac d'il y a cinquante ans.
    Nous avons droit à la calculatrice et à nos livres aux examens. Heureusement!

    D'abord la langue française était incontournable,
    Antidote

    C est condamné à plus ou moins longue échéance. Mais comme l'humanité l'est aussi, je m'en fous un petit peu. D'ici une cinquantaine d'années, plus personne ne saura ce qu'était l'humanité, alors le langage C...
    Elon Musk est venu nous sauver.
    Jeff Bezos d'Amazon et Blue Origin vient de dépasser la fortune de Bill Gates.

    À cheval sur leurs fusées, accroche-toi bien, on va aller sur Mars bientôt!

  14. #54
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    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 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Citation Envoyé par lilington Voir le message
    Que veut-on enseigner? un langage de programmation (alors la c'est pas celui qu'il faut selon moi) ou comment programmer un appareil (la il est le meilleur toujours selon moi)
    À mon époque 1998-2000 , on enseignait en premier lieu l'algorithmie ... au papier crayon.
    Et en même temps, on passait sur machine pour tester/ comprendre/ perfectionner "son algorithmie" et aussi pour commencer à apprendre la chaîne de compilation (tool chain) : et ceci avec le [Turbo] Pascal

    Et ensuite on approfondissait tout cela avec la notion de structures de données en C (liste, piles, queues, arbres, ...) la notion objet en C++ et en Java, la notion fonctionnelle en Lisp, ...

  15. #55
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Par défaut
    Idem, epoque 2000, Algo sur papier et salle machine avec pascal. Mais le vrai premier langage qu'on apprennait au etudiant c'etait C. pascal n'etait en faite qu'un outil pour tester ses algo d'ailleurs je n'ai plus aucun souvenir de Pascal quand je me souvient encore tres bien de Qbasic que j'ai utilise des annees plus tot.
    En meme temps il y a une difference entre enseigner l'algorithm, les ubtilites d'un langage et comment programmer un system.
    dans le premier on vous apprend a organiser vos penser pour vous faire comprendre d'une machine et etre logique,
    dans le second on vous apprends comment le langage peut faire mieu ou ce qui peut mal tourner dans le langage,
    et dans le dernier on vous dit ce qui se passe dans la machine (organisation menoire, quand je fait a>=b ca devient quoi? et qui quid des types de a et b? si l'un est unsigned? combien d'instruction pour ceci ou cela...)
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

  16. #56
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Citation Envoyé par lilington Voir le message
    Venant de toi ca me surprend, Sinon difficile de donner un amis tranche sur la question. je detail:
    Je vens enseigner la programmation a quelqu'un si je choisis C parcequ'il est soit disant bien pour la pedagogie je vais me trouver avec le probleme que beaucoup ont: Les Pointeurs c'est dur, pourquoi ce truc. Resultat perte de motivation. De plus mon eleves devrait faire attention a beaucoup de chose et risque d'oublier l'essentiel. J'en ai deduis en essayant d'enseigner le C que c'est un exellent language pour comprendre la programmation mais pas pour apprendre a programmer. Oui car le C est un langage avec un vocabulaire tres faible ca veut dire qu'on a vite fait le tour de ce qui est a savoir, c'est certainement apres l'assembleur le langage le plus simple a apprendre. Mais, comme l'assembleur c'est il demande enormement de connaissance en informatique/materiel qui n'ont rien avoir avec le C en lui meme. c'est la ou la question pedagogique se pose.
    Que veut-on enseigner? un langage de programmation (alors la c'est pas celui qu'il faut selon moi) ou comment programmer un appareil (la il est le meilleur toujours selon moi)
    Mais ce que je dis se base uniquement sur mon experience personne et donc n'est pas une preuve scientifique. Les gens qui ont appris le C avec moi ont eu la malchance de l'avoir comme premier langage quand moi j'aivais programmer avec autre chose avant. ca ma permit de comprendre des choses et au contraire deroute la plus part des autres debutants sans background informatique.
    Tu as raison, aussi je déconseille le C comme premier langage (personnellement, mon premier langage fut le BASIC Locomotive).
    D'expérience, le mieux est des enseignements parallèles: Tout comme dans mes premières vraies classes sur l'informatique (en BTS) j'avais des cours d'Architecture où j'apprenais l'assembleur 68k et des cours de Système où j'apprenais le C, de nos jours je mettrais C et assembleur dans les cours d'Architecture et C# en premier langage "pratique". Avec deux professeurs différents pour enfoncer le clou.
    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.

  17. #57
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Par défaut
    La je te reconnais, Pratiquement toujours d'accord avec tes posts.
    rien a dire.
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

  18. #58
    Inactif  
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2017
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2017
    Messages : 64
    Points : 0
    Points
    0
    Par défaut
    le Conseil d’orientation pour le langage C doit bénéficier à l'aménagement d'un gain de productivité indiscutable.

  19. #59
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut
    Hello,

    Pour moi le langage C à encore beaucoup d'avenir sur les µControlleur avec flash intégrée : les langages de haut niveau ne sont pas adaptés pour ce type d'application et petit à petit, le langage C est en train de remplacer le langage assembleur (maintenant, quasiment tous les µControlleur peuvent gérer le langage C, ce qui n'était pas le cas il y a une dizaine d'année).

    Je trouve que pour un premier langage, le langage C est idéal : il permet d'avoir des notions sur la gestion du hardware sans pour autant avoir la complexité de l'assembleur qui est tout simplement imbuvable.
    Une fois qu'on a appris le C, on peut facilement basculer sur un langage de haut niveau (même si la manière de penser est différente) et on peut parfaire ses connaissances au niveau du hardware en étudiant l'assembleur.

    Dans un cursus scolaire, je verrai bien l'apprentissage dans cet ordre (attention je ne suis pas enseignant, je n'ai donc aucun retour sur la capacité des élèves à apprendre tout ça dans le temps imparti !) :
    - langage C : les bases (les types de variable, if, for, while, printf, ...)
    - langage C : les pointeurs de mémoire et la gestion de mémoire (malloc, ...)
    - langage C : les structures, les unions, les pointeurs de fonctions
    - langage au niveau (java ?) : apprentissage création/utilisation de objets (héritage, polymorphisme, ...), gestion des évènements, try/catch, ...
    - langage C : faire en langage C les fonctions de base d'un langage orienté objet (création d'objet, gestionnaire d'évènement, try/catch, ...)
    - Assembleur : faire en assembleur les fonctions de base du C (if, for, while, gestion des arguments d'une fonction, ...)
    => avec ça, les élèves auraient des bases solides

    J'ai déjà vu des ingénieurs info qui n'avaient étudié que des langages orientés objet : le résultat est qu'ils n'ont aucune notion de la consommation des ressources (une personne qui avait développée une petite application Web avec une petite base de données (application qui récupérait toute les minutes la valeur d'une cinquantaine de variables sur une centaine de produits) m'avait dit que son application consommait peu de ressources... résultat : 4Go de RAM utilisé + 50Go utilisé sur le disque dur pour la BDD... j'ai un peu halluciné).
    => à force d'utiliser des frameworks et outils dans tous les sens, on arrive à des résultats aberrants.

  20. #60
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Citation Envoyé par boboss123 Voir le message
    Je trouve que pour un premier langage, le langage C est idéal : il permet d'avoir des notions sur la gestion du hardware sans pour autant avoir la complexité de l'assembleur qui est tout simplement imbuvable.
    L'assembleur imbuvable , ce qu'il ne faut pas entendre

    Citation Envoyé par boboss123 Voir le message
    Je trouve que pour un premier langage, le langage C est idéal
    Oui et non tout dépend des objectifs a atteindre , si le but est d’être prog bas niveau oui le C est idéal , sinon non cela n'est pas le meilleur langage pour commencer :/
    J'avais lu sur ce forum quelqu'un qui pour moi avait bien résumé le souci du C en tant qu'outils d'apprentissage , le C demande de la rigueur mais ne l'ensiegne pas , c'est la tout le souci de ce langage.
    Avec le nombre de souci avec les pointeurs , des segfault qu'on les débutant justement me conforte que le C c'est pas forcément l'idéal et sinon non le C n'enseigne pas a optimiser ou comprendre la machine (je te l'assure) , les débutants qui font des truc en C c'est des usines a gaz vraiment il faut leur expliquer la aussi comment ça fonctionne derrière (comme un programmeur java , C# ou autre ).

    Après de manière personnel , le principal chose a apprendre quand on commence la prog c'est l'algorithme , le bas niveau ou d'autre langage s'apprend beaucoup plus aisément.
    Par contre savoir faire de bon algo c'est une qualité difficile a avoir surtout que l'avantage d'un algo n'est pas dépendant d'un langage particulier !

Discussions similaires

  1. Quel avenir pour un développeur PHP?
    Par Bizuto dans le forum Salaires
    Réponses: 34
    Dernier message: 23/12/2015, 14h28
  2. Quel avenir pour le Framework.NET ?
    Par Louis-Guillaume Morand dans le forum Général Dotnet
    Réponses: 139
    Dernier message: 16/07/2009, 18h06
  3. Quel avenir pour le format de données Access ?
    Par Katyucha dans le forum Access
    Réponses: 4
    Dernier message: 31/12/2005, 13h57
  4. Quel avenir pour les informaticiens ?
    Par ghita269 dans le forum Emploi
    Réponses: 25
    Dernier message: 09/12/2005, 09h21
  5. Quel avenir pour les outils de génération de code ?
    Par Bruno75 dans le forum Débats sur le développement - Le Best Of
    Réponses: 5
    Dernier message: 05/11/2003, 18h30

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