Quelle est la différence entre fonctionnelle, structuré et programmation procédurale?
J'ai lu quelques articles sur tous les sujets, mais je n'ai pas très bien les différences.
Vous devez vous connecter pour publier un commentaire.
J'ai lu quelques articles sur tous les sujets, mais je n'ai pas très bien les différences.
Vous devez vous connecter pour publier un commentaire.
La programmation structurée est un terme ancien qui, je pense, serait d'englober fonctionnelle, de la procédure, et beaucoup d'autre. Cela signifie essentiellement à l'aide de contrôle explicite des flux de structures plutôt que de sauter sur directement de l'enseignement de l'instruction.
Fonctionnelle et programmation procédurale sont à la fois, dans ce sens, structuré paradigmes. La programmation fonctionnelle est également la programmation déclarative -- la structure donnée à votre code correspond à son sens -- un programme est une fonction qui modifie l'état du monde. Programmation procédurale est ce que vous considéreriez comme "typique" de la programmation en C de la langue ou de ses descendants, y compris les langages à objets comme Java et C++. Un programme est une série d'instructions, pour être exécutées en série, et de faire appel à des sous-procédures, le long de la manière.
Ou, comme cela a été célèbre décrit:
Est la programmation fonctionnelle en utilisant les fonctions de première classe-éléments. La fabrication de l'utilisation des fonctions d'ordre supérieur (prise et/ou le retour de fonctions), ce qui conduit à des constructions puissantes et bien une factorisation de code. Certaines personnes se concentrent également sur la pureté de l'aspect de la FP qui est-à-dire que les fonctions doivent retourne toujours le même résultat, compte tenu de la même entrée. Ceux-ci, je crois, sont les deux piliers de base de la PF. Je vois aussi en évitant les effets secondaires comme essentiellement abstraire un peu à l'écart de la charge/magasin de la machine au niveau des instructions.
La programmation structurée remonte à Djikstra du "Goto Considéré comme Nocif" de papier. Il désigne l'utilisation de if/then/else/elif structures, do/while/jusqu'à/pour les boucles, etc. au lieu de recourir à goto. Il s'agit essentiellement d'abstraire un peu loin de la comparer/direction générale de la machine au niveau des instructions. La programmation structurée est orthogonal à la fois fonctionnelle et programmation procédurale.
Programmation procédurale, je crois, se réfère à la programmation avec l'impératif "sous-programmes" (par opposition à la pure "fonctions") composé généralement d'une série de "déclarations" (par opposition à "expressions") laissant derrière elle des effets secondaires.
Voir aussi: