Gibt es begutachtete Artikel, die die Vor- und Nachteile der funktionalen Programmierung untersuchen?


14

Kann mich jemand auf von Experten begutachtete Artikel verweisen, in denen die Vor- oder Nachteile des Schreibens von Code in einem funktionalen Stil untersucht werden? Gibt es Papiere, in denen die Anwendungen von Lambda Calculus in Bereichen wie Maschinelles Lernen, Sprachdesign usw. erörtert werden?


4
Hier gibt es zwei getrennte Fragen. Ich würde die zweite Frage zu Bewerbungen zu einer neuen Frage machen.
Dave Clarke

Antworten:


7

Es gibt eine berühmte Arbeit " Why Functional Programming Matters " von John Hughes. Das Hauptargument dieser Arbeit ist die Modularität von Funktionsprogrammen.

Sehr interessant ist auch die Arbeit von Chris Okasaki über funktionale Datenstrukturen. Der Artikel "Rot-Schwarz-Bäume in einer funktionalen Umgebung" bietet eine sehr übersichtliche Implementierung von Rot-Schwarz-Bäumen mit funktionaler Programmiersprache, die viel einfacher ist als ihre zwingende Implementierung in dem Buch "Introduction to Algorithms" von Tomas H. Cormen et al .



-1

Eine halbberühmte, qualitativ hochwertige und kostenlose Referenz in diesem Bereich ist Struktur und Interpretation von Computerprogrammen von Abelson und Sussman, MIT-Professoren. Weitere Informationen finden Sie auf Wikipedia . Sie befürworten die funktionale Programmierung als einen Weg, die Theorie und Abstraktion der Programmierung zu verstehen, so dass das Verständnis der funktionalen Programmierung hilft, dieselben Prinzipien in jeder Sprache zu verstehen / anzuwenden. Sie bemühen sich, es von dem zu unterscheiden, was man "imperativen Stil" nennt, aber ohne Vergleiche.


Wenn ich lese, wie ich die Vor- oder Nachteile des Schreibens von Code in einem funktionalen Stil studiere, denke ich an empirische Studien, in denen die Unterschiede in der Praxis beobachtet werden. Ich glaube nicht, dass dieses Buch dazu etwas bringt.
Reinierpost
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.