VBS-Linux
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.

Sie sind nicht verbunden. Loggen Sie sich ein oder registrieren Sie sich

Neues Unterforum "Funktionale Programmierung"

2 verfasser

Nach unten  Nachricht [Seite 1 von 1]

pSub



Hi,

da es hier nur Unterforen über imperative Programmiersprachen gibt, würde ein allgemeines Unterforum über funktionale Sprachen das "Angebot" ein bisschen abrunden und so für neuen Diskussionsstoff sorgen. Ich nehme jetzt einfach mal an, das viele hier noch nicht viel mit funktionaler Programmierung zu tun hatten, dadurch könnte ein bisschen mehr Wind ins Forum kommen und vielleicht auch ein paar mehr (aktive) Mitglieder.

Was haltet ihr davon?

http://www.pascal-wittmann.de

Niklas Admin

Niklas Admin
Admin

Ich bin für alle Ideen offen. Wenn ich dich richtig verstanden habe willst du das ich C++/C#, MicrosoftVisualBasic, Delphi und Java in eine Kategorie mache die Funktionale Programmierung heißt?

http://vbs-linux.dbzworld.org

pSub



Nein, Sprachen wie C, C++, C# (ok das hat auch funktionale Elemente), VB etc. sind imperative [1] Sprachen. In funktionalen [2] Sprachen bestehen Programm nur aus Funktionen, es gibt keine Schleifen (wird durch Rekursion ersetzt), Variablen und noch ein paar Eigenschaften mehr wie etwa die Übergabe von Funktionen als Parameter an Funktionen. Der größte Vorteil einer funktionalen Sprache ist, dass sie keine Nebeneffekte haben. D.h. eine Funktion macht, egal wann oder von wo du sie aufrufst immer das gleiche (natürlich nur wenn die Parameter die selben sind). Zudem lassen sich manche (viele) Probleme viel eleganter in funktionalen Sprachen beschreiben. Beispiele für funktionale Sprachen sind Haskell, Scheme oder Scala. Wobei ich jedem empfehle sich einmal mit Haskell auseinander zu setzen.

Noch ein "Hinweis", die "funktionale Welt" mag am Anfang für jemanden der aus der "imperativen Welt" kommt ein bisschen befremdlich wirken, das ändert sich aber schnell.

[1] http://de.wikipedia.org/wiki/Imperative_Programmierung
[2] http://de.wikipedia.org/wiki/Funktionale_Programmierung

http://www.pascal-wittmann.de

Niklas Admin

Niklas Admin
Admin

Warum sollte Visual Basic und C++/C# keine funktionale Sprache sein???? In Visual Basic arbeite ich fast nur mit Funktionen und ein dem C Block geht es gar nicht ohne. Das ist jetzt schon Verwirrend, aber ich kann das Forum machen wenn du willst.

http://vbs-linux.dbzworld.org

pSub



Vielleicht hilft dieses Zitat:
"Was ist funktionale Programmierung? Darauf gibt es eine kurze und bündige Antwort: das Programmieren mit mathematischen Funktionen. Dies sind Funktionen, die bei gleichem Eingabewerten immer den gleichen Rückgabewert zurückliefern. Diese Zusicherung impliziert, dass der Wert einer Funktion über den ganzen Programmverlauf gleich ist, so dass der Funktionsaufruf durch den Wert der Funktion ersetzt werden kann. Ein Funktionsaufruf verhält sich wie Abfragen an eine (unendlich) große Tabelle." http://www.linux-magazin.de/Online-Artikel/Funktionale-Programmierung-1-Grundzuege

Der Artikel aus dem es stammt behandelt genau diese Frage. Du siehst vielleicht schon, das dieser Grundsatz bei C, C++ etc. verletzt ist. Dort hängt der Rückgabewert der Funktion nicht alleine von den Eingabeparametern ab, sondern z.B. auch von Dateien, die innerhalb dieser Funktion gelesen werden. Hoffe es wird dadurch ein bisschen klarer, wenn nicht lese am besten einmal den Wikipedia-Artikel oder den aus dem Linux Magazin.

Noch eine kleine Frage, warum schreibst du C++/C#, wobei die beiden Sprachen doch bis auf das C nicht so viel gemeinsam haben?

http://www.pascal-wittmann.de

Niklas Admin

Niklas Admin
Admin

Es gibt doch bestimmt Gemeinsamkeiten die diese beiden Sprachen haben, deswegen schreibe ich sie als Block. Natürlich und das will ich gar nicht abstreiten sind es unterschiedliche Sprachen, aber eine gewisse Brücke gibt es.

http://vbs-linux.dbzworld.org

Gesponserte Inhalte



Nach oben  Nachricht [Seite 1 von 1]

Befugnisse in diesem Forum
Sie können in diesem Forum nicht antworten