Kurzschluss
Imperative Programmiersprachen wie C, Java oder Python kennen nur einen Spezialfall der Bedarfsauswertung, die sogenannte Kurzschlussauswertung (Short Circuit Evaluation). Sie besagt, das in boolschen Ausdrücken der Ausdrücke nur soweit ausgewertet werden muß, bis das Ergebnis des Gesamtausdruckes feststeht (Abbildung 7) .
Eine Stufe abstrakter
Die funktionalen Codebeispiele haben gezeigt, das die funktionale Ausdrucksweise deutlicher kompakter ist als die imperative. Wird die Funktionskomposition elegant eingesetzt, dann liest sich eine funktionaler Ausdruck wie ein Anweisung in einer natürlichen Sprache. Die Anweisung "calculate the sum of the squares of the even numbers from 1 to 100" lässt sich fasst wörtlich in Code übersetzen "sum (map square (filter even [1..100] ))".
Der Fokus des funktionalen Programmierens liegt darauf, "was" programmiert wird, nicht darauf, "wie" das geschieht. Das Kontrollfluß wird durch die Datenabhängigkeiten vorgegeben und nicht durch eine Folge von Anweisungen. Dies entlastet den Programmierer, sodass er sich seiner ureigenen Aufgabe zuwenden kann, der Lösung des Problems.
Nach diesem eher theoretischen Einstieg werden zwei weitere Artikel auf die Praxis eingehen. Dies beinhaltet zum einem die funktionale Programmierung in Python und zum anderen das Google-Framework MapReduce zur nebenläufigen Berechnung großer Datensätze. (mhu)
| Der Autor |
|---|
| Rainer Grimm arbeitet seit 1999 als Software-Entwickler bei der Science + Computing AG in Tübingen. Insbesondere hält er Schulungen für das hauseigene Produkt scVENUS. |
Diesen Artikel als PDF kaufen
Als digitales Abo
Weitere Produkte im Medialinx Shop »
Versandartikel
Onlineartikel
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...





