Webmasters Akademie
  • Warenkorb
  • Blog
  • Kontakt
  • Impressum
  • AGB
  • Datenschutz
  • Seminare
  • Lehrgänge
  • Inhouse-Trainings
    • Firmenseminare
    • Individualtraining
  • Consulting
  • Zertifizierung
    • Zertifizierungen
    • Adobe
    • Webmasters Europe
  • Fragen & Antworten
    • Häufige Fragen
    • Lehr- & Lernmethodik
    • Pluspunkte & Service
    • Rabatte
    • Fördermöglichkeiten
    • Kundenstimmen
  • Akademie
    • Grußwort
    • Team & Dozenten
    • Räume & Campus
    • Profil & Leitbild
    • Qualitätssicherung
    • Nürnberg
    • Anfahrt
    • Wohnen
    • Referenzen
Suche
Blogbeiträge abonnieren
Kategorien
  • Schräg, wie?
  • Papiertiger
  • Programmierung
  • Aktuelles
  • Der abenteuerliche Ximplicissimus
  • Grafithek
  • Administration
  • Internetzugang und Internet Service Provider (ISP)
  • SEO & SEM
Autoren
  • Thorsten Schneider
  • Frank Schad
  • Marc Remolt
  • Ulrike Walter
  • Monika Beck
  • Dorian Karnbaum
  • Christian Eichhorn
  • Marco Emrich
Neue Kommentare
XAMPP Tutorial und HowTo für MAC OS X
  • nina:

    vielen dank! du hast mir das leben gerettet :)

  • Seofem:

    Danke für das Tutorial. Und der Kommentarbereich mit den "Zettel" sieht auch wirklich gelungen aus.…

Was ist Behavior Driven Development?
  • Marco Emrich:

    Hallo Stephan,…

  • Stephan:

    Tolle Einführung in die Thematik BDD! Bei den Empfehlungen würde ich aber definitiv noch Cucumber…

Feed-Abo
  • Kommentare als RSS
Blog
  • Blog-Info
  • Blog-Regeln
Startseite Webmasters AkademieBlog Funktionale Programmierung jetzt?

Funktionale Programmierung jetzt? Marco Emrich

von Marco Emrich in Programmierung
am Freitag, 28. Mai 2010 um 10:07
Tags: Functional Programming , Ruby , JavaScript , PHP , Programmierung

Fortschritt durch Technik

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:

Objektorientierte Programmierung

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.

Relationale Datenbanken

Das Prinzip der relationalen Datenbanken hat Codd schon 1969 entwickelt. Ein echte industrielle Bedeutung erlangten sie aber erst in den späten 80'ern.

Test Driven Development / Unit Tests

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.

Lernen von den Pro's

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

*

(notwendig)

*

(notwendig, wird nicht angezeigt)



(falls vorhanden, Spam und Werbe-Links werden gelöscht!)
Beispiel: http://wwww.webmasters.de

*

*

Ich stimme den Blog-Regeln zu. *