• [^] # Re: 3 type de langage a connaitre:

    Posté par . En réponse à la dépêche Apprendre un langage de programmation par an. Évalué à 2.

    La raison pour laquelle il est important d'avoir des langages avec des paradigmes différent, c'est qu'avec les paradigmes impératifs, on est tout sauf sûrs d'arriver à continuer à profiter de la loi de Moore. En effet, la fréquence des processeurs n'augmente plus, seul le nombre de coeurs augmente désormais. D'où la nécessité décrire des programmes concurrents ou distribués. Sauf que les langages tels que Java ne proposent que les verrous comme seuls moyens de faire de la programmation concurrente, et ceux-ci ne passent pas vraiment à l'échelle.

    À l'opposé, des langages aux paradigmes différents proposent des modèles de parallélisme bien plus évolués : Scala et ses agents, Haskell a une STM, Erlang est conçu pour le message passing, etc.

    Avec une différence fondamentale entre la programmation "classique" et la programmation parallèle : si avant on bénéficiait du modèle de Turing pour nous dire que de toute façon, on savait que tout était faisable, là c'est tout sauf le cas, on ne sait toujours pas (à ma connaissance) s'il est possible d'avoir la même classe de calculabilité en distribué qu'avec un seul process. D'où le fait qu'aller chercher des paradigmes différent pourrait aider à mieux appréhender ce problème.

    Pour résumer mon post long et plutôt mal structuré en une phrase : on peut continuer à coder en impératif, mais alors il faudra peut-être dire adieu au doublement de la puissance de calcul tous les 18 mois.