Wednesday, February 8. 2012
A Scala example: Reverse Polish Notation Posted by Jochen Wierum
in English, Programmieren, Scala at
11:47
Comments (0) Trackbacks (2) A Scala example: Reverse Polish NotationAs you may already have heared, I am a big fan of Scala. I was asked to provide a few examples. I would not say that I am an expert, so I start with a really simple example. Let's write a really simple RPN calculator which reads a term from STDIN and prints out the result. The simple thing about RPN is that we only need a stack to calculate the result. So we start with this a class that includes the stack. Continue reading "A Scala example: Reverse Polish Notation"Sunday, November 20. 2011
Bücherempfehlungen: Funktionale ... Posted by Jochen Wierum
in Buch, Java, Perl, Programmieren, Scala at
11:49
Comments (0) Trackbacks (0) Bücherempfehlungen: Funktionale ProgrammierungEs gibt diverse Arten von Programmiersprachen. Heute wird viel von imperativen Programmiersprachen gebrauch gemacht. Sie sagen, welche Schritte etwas getan werden soll. Ein typischer Vertreter dieser Kategorie ist zum Beispiel Java (obwohl auch hier langsam Funktionale Elemente Einzug halten). Ein anderer, seit 1930 in der Mathematik bekannter Ansatz konzentriert sich nicht so sehr auf eine Schrittweise Anleitung, sondern darauf, wie die Funktionen kombiniert werden können, sodass neue Funktionalität entsteht. Ein häufig zitiertes, wenn auch längliches Paper mit dem Titel "Why Functional Programming Matters" von John Hughes stellt die Vorteile sehr schön zusammen. Ein paar typische funktionale Elemente wirken sehr praktisch. Hier ein Beispiel zur Quadrierung alle Elemente einer Liste in Java:
In Scala geht dies in einer Zeile:
Die Map-Funktion übernimmt als Parameter eine weitere Funktion. Diese nimmt einen Parameter x entgegen, und gibt x * x als Resultat zurück. "Map" ist hier eine Funktion höherer Ordnung. Dass sind solche Funktionen, die als Parameter weitere Funktionen entgegennehmen. Viele andere Probleme werden rekursiv ausformuliert. Ich möchte nicht behaupten, dass Funktionale Programmierung ein Allheilmittel ist. Insbesondere ist es eine nicht zu verachtende Umgewöhnung. Allerdings halten die Konzepte erneut Einzug in die Programmierung (sei es Javascript, Ruby, die .NET-Welt, oder eben Java), und es kann nicht schaden, zumindest ein paar Ideen zu kennen. Doch wie fängt man an? Ich möchte an dieser Stelle ein paar Bücher vorstellen, die vor allem die Vorzüge einer Mischung der Konzepte in den Vordergrund stellen, und so den Einstieg erleichtern. Sinnvoll sind diese Bücher in erster Linie für Leute, die schon Erfahrung im Programmieren haben. Continue reading "Bücherempfehlungen: Funktionale Programmierung" |
QuicksearchStatic Pages |