A. SIGAYRET – UFR ST : 
La programmation

   La programmation constitue souvent un point d'entrée à l'informatique : un nombre non négligeable d'étudiants se sont décidés pour des études informatiques après avoir appris par eux-mêmes à programmer. Il en résulte souvent une compétence technique très poussée dans le langage de programmation choisi, généralement le C ou un langage syntaxiquement proche.
   Paradoxalement, cet apprentissage précoce peut constituer un désavantage car la virtuosité de programmation dans un langage ne préjuge pas des capacités globales à suivre un cursus informatique. En effet, l'apprentissage indispensable d'autres langages de programmation aux paradigmes différents nécessitera d'abandonner les réflexes d'écriture acquis. De plus, la création d'un logiciel dans une optique professionnelle nécessite de prendre en compte beaucoup d'autres paramètres à la fois théoriques et pratiques.
   Préalable indispensable à la programmation professionnelle, les questions théoriques sont abordées par l'algorithmique. On y découvre par exemple que certains problèmes ne peuvent être résolus par une machine. L'impossibilité théorique est liée à la théorie mathématique sous-tendant la conception des ordinateurs, soit que le problème posé ne puisse pas être résolu par la machine, soit que le temps de calcul nécessaire serait déraisonnablement long.
   D'autre part, la mise au point de programmes complexes nécessite la coordination de plusieurs programmeurs, et l'évolution indispensable des logiciels produits nécessite des modifications de programme impliquant une très grande lisibilité du code source. C'est l'objet du génie logiciel qui, comme toute activité humaine collective doit prendre en compte les questions de communication inter-individuelle ou collective, pour ne rien dire des questions financières.
   Enfin, bien que l'informatique soit une discipline jeune, il existe une grande diversité de langages de programmation (Il semble que la création de langages de programmation soit une activité du cerveau aussi gratifiante que la création de langues artificielles!). Pour ne pas s'y perdre, quelques éléments de classification ne sont donc pas inutiles.

Les classements que je propose ici constituent une synthèse – pas forcément consensuelle – de l'existant.
  2017-07-01   –   A. Sigayret