cours/sources/zotero/hughesWhyFunctionalProgramming1989.md
Oscar Plaisant f91c506a9e update
2025-03-16 18:05:45 +01:00

43 lines
3.4 KiB
Markdown

---
zotero-key: AZ2PNJYZ
zt-attachments:
- "403"
citekey: hughesWhyFunctionalProgramming1989
aliases:
- Why Functional Programming Matters
---
up:: [[zotero literature notes]]
link:: [Zotero](zotero://select/library/items/AZ2PNJYZ) [attachment](<file:///Users/oscarplaisant/Zotero/storage/ARFZTMBK/Hughes%20-%201989%20-%20Why%20Functional%20Programming%20Matters.pdf>)
#s/PKM #zotero #t/source
> [!zotero]+ <span style="color: #ffd400; --link-external-color: #ffd400;">[Why Functional Programming Matters](zotero://select/library/items/AZ2PNJYZ) - [Page 1](zotero://open-pdf/library/items/ARFZTMBK?page=1&annotation=M9YCV9GB)</span>
> Such a catalogue of 'advantages' is all very#ell, but one must not be surprised if outsiders don't take it too seriously. It says a lot about what functional programming is *not* (it has no assignment, no side-effects, no flow of control) but not much about what it is. The functional programmer sounds rather like a medieval monk, denying himself the pleasures of life in the hope that it will make him virtuous.
> ^M9YCV9GBaARFZTMBKp1
> [!zotero]+ <span style="color: #ffd400; --link-external-color: #ffd400;">[Why Functional Programming Matters](zotero://select/library/items/AZ2PNJYZ) - [Page 1](zotero://open-pdf/library/items/ARFZTMBK?page=1&annotation=292Z4WZK)</span>
> Functional programmers argue that there *are* great material benefits - that a functional programmer is an order of magnitude more productive than his conventional counterpart, because functional programs are an order of magnitude shorter. Yet why should this be? The only faintly plausible reason one can suggest on the basis of these 'advantages' is that conventional programs consist of 90% assignment statements, and in functional programs these can be omitted! This is plainly ridiculous. If omittin assignment statements brought such enormous benefits then FORTRAN programmers would have been doing it for twenty years. It is a logical impossibility to make a language more powerful by omittion features, no matter how bad they may be.
> ^292Z4WZKaARFZTMBKp1
> [!zotero]+ <span style="color: #2ea8e5; --link-external-color: #2ea8e5;">[Why Functional Programming Matters](zotero://select/library/items/AZ2PNJYZ) - [Page 1](zotero://open-pdf/library/items/ARFZTMBK?page=1&annotation=HL9BCWP6)</span>
> ![[images/zotero/HL9BCWP6.png]]
>
> > [!note] Notes
> > programme écrit comme des fonctions qui reçoivent l'entrée en argument et renvoie le résultat.
> ^HL9BCWP6aARFZTMBKp1
> [!zotero]+ <span style="color: #ffd400; --link-external-color: #ffd400;">[Why Functional Programming Matters](zotero://select/library/items/AZ2PNJYZ) - [Page 1](zotero://open-pdf/library/items/ARFZTMBK?page=1&annotation=4YFZKF4B)</span>
> ![[images/zotero/4YFZKF4B.png]]
> ^4YFZKF4BaARFZTMBKp1
> [!zotero]+ <span style="color: #ffd400; --link-external-color: #ffd400;">[Why Functional Programming Matters](zotero://select/library/items/AZ2PNJYZ) - [Page 2](zotero://open-pdf/library/items/ARFZTMBK?page=2&annotation=VA8DPCLG)</span>
> ![[images/zotero/VA8DPCLG.png]]
> ^VA8DPCLGaARFZTMBKp2
> [!zotero]+ <span style="color: #ffd400; --link-external-color: #ffd400;">[Why Functional Programming Matters](zotero://select/library/items/AZ2PNJYZ) - [Page 2](zotero://open-pdf/library/items/ARFZTMBK?page=2&annotation=CSPRXGEB)</span>
> ![[images/zotero/CSPRXGEB.png]]
>
> > [!note] Notes
> > Pour augmenter la capacité à modulariser, il faut augmenter les types de colle disponibles.
> ^CSPRXGEBaARFZTMBKp2