• # Pascal...

    Posté par (Mastodon) . En réponse au journal Python comme premier langage de programmation ?. Évalué à 6.

    Franchement, dans les réponses que je lis, le plus souvent c'est [mon langage préféré] qui revient le plus souvent. Avec la supposition non-dite : s'ils commencent par ça, ils continueront. Mais ça n'est pas du tout la question posée.

    Étant enseignant-chercheur en informatique et enseignant la programmation en L1 à des étudiants qui ne se destinent pas forcément à l'informatique, la question du langage de programmation à utiliser en première année se pose régulièrement. Et personne n'est d'accord évidemment.

    Mon avis, c'est qu'il faut bannir tout langage à typage dynamique. Pourquoi ? Parce que choisir le bon type, ça fait partie de l'apprentissage en informatique, c'est aussi important que la structure du programme. Et quand le type est écrit à côté du nom de la variable, c'est plus simple. Autre inconvénient à mon sens : le fait que les objets dans ces langages soient le plus souvent accédés via des références complexifie la compréhension. Alors que reste-t-il ? Et bien pas grand chose. À l'heure actuelle, nous utilisons Java, mais il a aussi de nombreux défauts (le principal à mon sens étant d'être trop verbeux pour faire un simple hello world).

    Après, on peut prendre le problème à l'envers : de quelles fonctionnalités a-t-on besoin ? Pas grand chose au final : les structures de contrôle usuelles, les types de bases, les entrées-sorties. Et c'est sans doute ce dernier point le plus problématique. Pascal (puisque c'est ce que j'ai mis dans le titre) avait l'avantage d'offrir tout ça de manière simple et efficace. Malheureusement, il est un peu daté maintenant. Mais il manque le nouveau Pascal qui permettrait de faire des choses simples. Le moins pire à mon sens, ça serait... C++. Pas tout C++ mais le sous-ensemble de C++ qui permet ce que j'ai décrit précédemment. Pour le coup, les entrées-sorties sont assez simples. Mais ça n'est pas très satisfaisant.

    De toute façon, une fois ces bases acquises, généralement, on change de langage et on passe à d'autres langages pour apprendre d'autres paradigmes et d'autres algorithmes, donc le premier langage importe assez peu au final, il ne dure pas très longtemps.