• [^] # Re: Mon grain de sel

    Posté par (site web personnel) . En réponse au journal Lycée et informatique : spécialité ISN en terminale S. Évalué à 2.

    Me semble déconnecté de la réalité. lisp, perl, python, ruby, java, (o)caml, haskel,… ont 15 ans pour les plus jeunes et plus de 50 ans pour le plus vieux. Je n'ai pas mémoire de langage un peu notable qui ai disparu.

    Je suis globalement d'accord pour cette liste (qui ne contient aucun langage propriétaire et qui ne contient pas non plus Ada), mais qu'en est il de Delphi, Visual Basic, Action Script ou encore Quick Basic ? Que je sache, ces langages ont été très utilisés et ont (bien heureusement) majoritairement disparus (Action Script est en voie).

    Et pour le coup cette manie d'apprendre des langages plutôt qu'apprendre à programmer me semble poser bien plus problème que le mal qu'à pu faire basic ou je ne sais quel langage.

    "C'est quoi cette manie de vouloir apprendre une langue avant de savoir bien s'exprimer"? C'est utopique de croire qu'on peut apprendre à programmer sans apprendre plusieurs langages et les étudier. Apprendre à programmer, c'est pas connaitre 3 mots clés, les boucles, les fonctions et basta. Apprendre à programmer, c'est la complexité algorithmique, c'est du génie logiciel et c'est comprendre les choix possibles avant même d'avoir à le faire choix. Ça demande majoritairement de l'expérience et c'est en forgeant qu'on devient forgeront. Par contre, je suis tout à fait d'accord avec toi pour dire que les gens qui apprennent un ou deux langages et qui s'y limite, c'est pas comme ça qu'ils vont s'améliorer et devenir de meilleurs programmeurs.

    Mais quoi qu'il en soit c'est à mon avis triste d'imaginer qu'on apprend un langage pour faire carrière avec derrière (que ce soit au bac, en IUT, en Fac ou en école d'ingénieur). Tu utilise le bon langage point (celui qui est adapté à ce que tu fait et aux contraintes du projet). Le reste c'est de queues de cerises. Se focaliser sur le langage c'est un problème de geek dans son garage, c'est rigolo parce que c'est du troll, on se sent mieux parce qu'on se démarque ou on a l'impression d'appartenir ou pas à un groupe, mais très franchement OSEF.

    Je trouve cette logique totalement contraire à ce que tu indiques. C'est totalement une idée de geek que se dire qu'il faudrait toujours utiliser le langage le plus adapté pour le projet ou la tâche à faire. Dans la vie, tu changes de langues plusieurs fois par jours? Non, car les autres en face aussi doivent avoir la même aisance que toi dans ces langues. Et puis à baragouiner 10 langues, comment tu peux savoir quel langage est le plus adapté à quelle tâche vu que tu en maîtrise au final aucun? Je caricature à peine d'après certains ingénieurs que j'ai rencontré. Bon, si tu codes h-24 depuis 10 ans, tu as moyen de commencer à avoir une bonne maîtrise de 4-5 langages, ça reste peu. Et, pour finir avec ce point, tu fais quoi si ton projet change de direction? Tu recodes dans un autre langage? Au final, ta logique marche si tu prends en compte que tu es seul et que ton projet est un hack et pas quelque chose que tu vas devoir maintenir et faire évoluer potentiellement dans des directions opposées.

    Personnellement, dans mon travail, j'utilise plusieurs langages et c'est rarement mon langage de choix (C++ avec ou sans Qt). Au contraire, je dois m'adapter aux gens en face et utiliser ce qui permettra à tout le monde d'être le plus productif possible tant que ça ne rentre pas en conflit avec les contraintes du projet. Ça me blase souvent car je ne peux pas exprimer pas mal de ce que je pourrai en utiliser le C++, mais je fais avec (en jurant pas mal quand même).

    Je suis aussi totalement pour le fait d'apprendre des langages pour apprendre des façons de penser différentes. Mais au final, y'a un coeur de langages communs, qui a généralement son sens suivant le niveau d'abstraction que l'on veut avoir. Et puis, ces langages sont généralement pas trop restricteurs. Pourquoi ne pas mettre l'accent sur eux alors? C'est pas le rôle de l'éducation de donner un socle commun aux gens? C'est pas avec des langages de niche que ça va marcher, il faut des langages généralistes.