This commit is contained in:
Oscar Plaisant
2024-03-13 11:36:31 +01:00
parent 738a67b3df
commit 5bdeaf3332
218 changed files with 97170 additions and 1830 deletions

View File

@@ -0,0 +1,26 @@
---
zotero-key: BCTII35Rg5383243
title: Paradigme (programmation)
citekey: ParadigmeProgrammation
---
link:: [Zotero](zotero://select/groups/5383243/items/BCTII35R)
> [!cite]
> > Le **paradigme de programmation** est la façon (parmi d'autres) d'approcher la [programmation informatique](https://www.wikiwand.com/fr/Programmation_informatique "Programmation informatique") et de formuler les solutions aux problèmes et leur formalisation dans un [langage de programmation](https://www.wikiwand.com/fr/Langage_de_programmation "Langage de programmation") approprié[](https://www.wikiwand.com/fr/Paradigme_(programmation)#cite_note-1). Ce n'est pas de la [méthodologie](https://www.wikiwand.com/fr/Méthodologie "Méthodologie") contenant une méthode ; cette dernière [organise le traitement des problèmes reconnus dans l'écosystème concerné](https://www.wikiwand.com/fr/Système_d'information "Système d'information") pour aboutir à la [solution conceptuelle et programme exécutable](https://www.wikiwand.com/fr/Génie_logiciel "Génie logiciel").
> >
> - paradigme = façon d'approcher la programmation, de formuler et formaliser les problèmes
> - paradigme $\neq$ méthodologie
> - la méthodologie organise le traîtement des problèmes pour obtenir un programme exécutable
> - un paradigme définit la vision et le rapport à l'execution d'un programme
> [!cite]
> > Un paradigme de programmation fournit (et détermine) la vue qua le [développeur](https://www.wikiwand.com/fr/Développeur "Développeur") de lexécution de son [programme](https://www.wikiwand.com/fr/Programme_informatique "Programme informatique") en situation d'exploitation. Par exemple, en [programmation orientée objet](https://www.wikiwand.com/fr/Programmation_orientée_objet "Programmation orientée objet"), les développeurs peuvent considérer le programme comme une collection d[objets](https://www.wikiwand.com/fr/Objet_(informatique) "Objet (informatique)") en interaction, tandis quen [programmation fonctionnelle](https://www.wikiwand.com/fr/Programmation_fonctionnelle "Programmation fonctionnelle") un programme peut être vu comme une suite d'évaluations de fonctions sans [états](https://www.wikiwand.com/fr/Automate_fini "Automate fini"). Lors de la programmation dordinateurs ou de systèmes [multi-processeurs](https://www.wikiwand.com/fr/Multiprocesseur "Multiprocesseur"), la programmation orientée processus permet aux développeurs de voir les applications comme des ensembles de [processus](https://www.wikiwand.com/fr/Processus_(informatique) "Processus (informatique)") agissant sur des [structures de données](https://www.wikiwand.com/fr/Structure_de_données "Structure de données") localement partagées.
> >
> > - définition d'un paradigme
> > - définit la vue sur l'exécution d'un programme
> > - définit la façon de voir l'implémentation des problèmes

View File

@@ -0,0 +1,14 @@
---
zotero-key: ZH92H67Gg5383243
title: The paradigms of programming
citekey: floydParadigmsProgramming1979
---
link:: [Zotero](zotero://select/groups/5383243/items/ZH92H67G)
> [!smallquery]+ Sous-notes de `$= dv.el("span", "[[" + dv.current().file.name + "]]")`
> ```breadcrumbs
> title: false
> type: tree
> dir: down
> ```

View File

@@ -0,0 +1,15 @@
source:: [[floydParadigmsProgramming1979]]
#informatique
Paradigme programmation structurée : fonctionne en 2 étapes
1\. raffinement progressif : découpage du problème en sous-problèmes de plus en plus petits, jusqu'à être assez simple pour être implémentés directement
2\. cacher les détails : on implémente les sous-problèmes de façon encapsulée, en partant des plus simples, et en construisant l'abstraction. On cache tous les détails d'implémentation (dans des fonctions, objets...)
Le processus fait donc : 1. top-down, 2. bottom-top.
Il existe des écoles de pensée qui encouragent certains paradigmes et s'opposent aux autres. Par exemple, la programmation LISP, APL, ALGOL. Certaines de ces écoles prônent la manipulation de flots de données, d'autres la manipulation de flots de contrôle.
La récursion, l'itération, la copie et le partage de structure de données, l'appel par nom, l'appel par valeur, l'appel par nécessité... chacun à ses défenseurs.