Webmasters Akademie
vielen dank! du hast mir das leben gerettet :)
Danke für das Tutorial. Und der Kommentarbereich mit den "Zettel" sieht auch wirklich gelungen aus.…
Hallo Stephan,…
Tolle Einführung in die Thematik BDD! Bei den Empfehlungen würde ich aber definitiv noch Cucumber…
von Marco Emrich
in Programmierung
am Freitag, 28. Mai 2010 um 10:07
Tags: Functional Programming
, Ruby
, JavaScript
, PHP
, Programmierung
Meiner Meinung nach sollte jeder, der sich ernsthaft mit dem Handwerk der Software-Entwicklung befasst, versuchen vor der Masse zu schwimmen. Neue Konzepte und Technologien zu kennen und einzusetzen steigert nicht nur das eigene Selbstwertgefühl, sondern hat natürlich auch ganz praktische Vorteile. So hat sich beispielsweise das Verständnis, was guten, wartbaren Code ausmacht im Laufe der Jahre erheblich weiterentwickelt. Anwendungen, die früher mehrere Jahre an Entwicklungszeit verschlangen, sind heute in Monaten oder Wochen realisierbar. Wer heute noch so arbeitet wie vor 30 Jahren hat klare Nachteile.
Tatsache ist aber auch, dass alle Techniken und Konzepte schon lange bekannt waren, bevor Sie den Mainstream erreichten. Hier ein paar Beispiele:
Die erste objektorientierte Programmiersprache Simula stammt aus dem Jahre 1964. In den 80ern genossen Smalltalk-Veteranen bereits die Vorzüge der Objektorientierung. Aber erst Mitte der 90'er konnte sich OOP mit Java und C++ auf breiter Basis durchsetzen.
Das Prinzip der relationalen Datenbanken hat Codd schon 1969 entwickelt. Ein echte industrielle Bedeutung erlangten sie aber erst in den späten 80'ern.
Kent Beck entwickelte die Konzept der Test-getriebenen Programmierung Anfang/Mitte der 90'er. Heute hat es sich in agilen Communities und modernen Webframeworks (Ruby on Rails, Django, etc.) längst als Standard etabliert.
Damit stellt sich mir sofort die Frage: Welche der momentan "experimentellen" Technologien und Konzepte werden sich nachhaltig etablieren und welche sind vielleicht eher eine Modeerscheinung?
Eine Möglichkeit "die Zukunft vorherzusagen" ist es, Pioniere und Innovatoren der Vergangenheit zu befragen. Glaubt man bekannten Experten wie Dave Thomas, David Ungar oder Bruce Tate, so steht da Paradigma der Funkionalen Programmierung kurz davor, den Mainsteam zu erreichen. Ähnlich wie die objektorientierte Programmierung die prozedurale nicht ersetzt, sondern ergänzt hat, könnte die funktionale Programmierung nun auch die objektorientierte ergänzen.
Rein funktionale Sprachen wie Haskell oder Lisp haben sich nie in der breiten Masse durchgesetzt. Dafür bieten moderne Praxis-relevante Sprachen wie Ruby, JavaScript oder Scala bereits viele funktionale Aspekte an. Aber selbst Sprachen wie PHP verfügen über mehr funktionales Potential als manch einer glaubt (In der aktuelles Version gibt es sogar Closures).
Tatsächlich ist es gar nicht nötig, eine funktionale Sprache zu nutzen. Auch mit einer Mainstreamsprache lässt sich bereits heute von den Vorteilen funktionaler Prinzipien profitieren. Im Moment versuche ich gerade herauszufinden, wo ich bei meinen täglichen Programmieraufgaben weitere funktionale Aspekte nutzen kann. Da ich im wesentlichen Ruby programmiere, verwende ich (und meine Kollegen) schon längere Zeit, die in Ruby üblichen funktionalen Techniken. Aber es gibt noch viel mehr! Sehr aufschlussreich fand ich z.B. den Vortrag von David Wambler. In den nächsten Blogposts werde ich meine Erfahrungen schildern und zeigen, was sich neben Ruby auch in ActionScript, JavaScript oder PHP bereits so alles funktionales treiben lässt...
Kommentare (0)
Kommentar schreiben