Wenn Haskell und Prolog so toll sind,
-
Bei uns im Institut wird viel Prolog eingesetzt. Wir pflegen ein umfassendes elektronisches Lexikon des Deutschen, eines unserer Hauptprojekte, und dort wird auch Prolog eingesetzt. Genauer gesagt ist die Morphologie-Komponente z.B. momentan vollständig in Prolog geschrieben. Ich hatte es hier schon an anderer Stelle erwähnt und erwähne es gerne noch mal: ein Pflichtseminar besteht bei uns daraus, eine natürlichsprachliche Datenbankschnittstelle in Prolog zu implementieren. Das System besteht dabei aus Morphologie-, Syntax- und Semantik-Komponenten. Zur Morphologie hab ich schon was gesagt, zur Syntax braucht man wohl nur DCG sagen. Und die Semantik ergibt sich aus Modallogik und Lamda-Kalkül (siehe "Montague Semantik"). Dass eine Programmiersprache "Programming with logic" da sowieso erste Wahl ist, braucht man wohl kaum erwähnen ;))
-
das is nur um studenten zu quälen. wirklich benutzen tuts niemand
-
Hallo
Haskell ist seinerzeit entwickelt worden, um eine Standard-Sprache der
funktionalen Programmierung zu schaffen, nicht, um konkret anstehende
Programmieraufgaben zu lösen.Die vielverwendeten Sprachen Fortran,Basic,C,C++,Java,Perl und Prolog sind dagegen
entwickelt worden, um bestimmte Programmierprobleme zu lösen, die mit
anderen Sprachen nicht optimal zu lösen waren;C z.B. wurde entwickelt,
um Un*x portabel zu programmieren, also als eine Art portabler Assembler-Ersatz,
C++ wurde entwickelt, weil prozedurale Sprachen bei 1E5 bis 1E6 Codezeilen
unübersichtlich werden. Warum Fortran und Prolog entwickelt wurden, dürfte
bekannt sind.Ich nehme an, daß sich daher erklärt, wieso manche Sprachen praktisch verwendet
werden und andere nicht/kaum.Grüße
-
Hobbyprogrammierer schrieb:
C++ wurde entwickelt, weil prozedurale Sprachen bei 1E5 bis 1E6 Codezeilen
unübersichtlich werden.Und du bist dir sicher, dass du dir das nicht nur aus den Fingern saugst?
Warum Fortran und Prolog entwickelt wurden, dürfte
bekannt sind.Ich wuerds aber gern von dir hoeren

Ich nehme an, daß sich daher erklärt, wieso manche Sprachen praktisch verwendet
werden und andere nicht/kaum.Da bin ich nicht so von ueberzeugt. Und was ist mit Basic, das hast du unterschlagen.
-
Hallo
Und du bist dir sicher, dass du dir das nicht nur aus den Fingern saugst?<<
Gaaaaaanz sicher.
Ein Hauptnutzen von OO ist nunmal, die Grenze für die Überschaubarkeit von Programmprojekten um einige Größenordnungen hinauszuschieben, etwa auf jenseits von 1E6 Programmzeilen.
Historisch entstand die erste OO-Sprache Simula, weil bei der Schiffssimulation
die Anzahl der Abhängigkeiten verschiedener Parameter voneinander unübersichtlich wurde, sodaß man auf die Idee kan, die Schiffe als eigenständige Objekte zu programmieren.Ich wuerds aber gern von dir hoeren<<
Fortran wurde entwickelt, um Spinat auch mit der
Gabel essen zu können und Prolog, weil es bis dato nur 4-eckige Räder gab
Nein, im Ernst: Prolog wurde 1971 entwickelt, um ein natürlichsprachiges
Abfragesystem zu implementieren.
Fortran wurde Mitte der 50er Jahre entwickelt, um technisch-wissenschaftliche Rechnungen einfach programmieren zu können.Ich dachte, das wäre allgemein bekannt ???
Da bin ich nicht so von ueberzeugt. Und was ist mit Basic, das hast du unterschlagen<<
Basic wurde entwickelt, um Nicht-Programmierern und Studenten das Programmieren und -Lernen zu erleichtern; auch das ist eigentlich Allgemeinwissen.
Grüße
-
haskell ist prima, wenn man irgendwelche mathealgorithmen fast 1:1 umsetzen mag. ein einfacher quicksort ist in haskell z.b. viel übersichtlicher und kürzer (3-zeiler), als etwa in java oder (c++) (min.10 zeilen ;), und man sieht irgendwie sofot, was der algorithmus macht. das finde ich sehr elegant an haskell. die großen projekte mit GUI und solchen kram sind wahrscheinlich eher weniger in haskell geschrieben, aber es lohnt sich echt, mal haskell anzuschauen, besonders, wenn einem mathe und algorithmik spaß macht .
-
Hallo
quicksort ist in haskell z.b. viel [...] kürzer (3-zeiler), als etwa in java oder (c++) (min.10 zeilen)<<
Wetten, daß ich Quicksort in C++ in nur zwei Zeilen programmieren kann ?
#include <cstdlib>
qsort( buf_p, len, elem_size, f_cmp ) ;

Aber Du hast natürlich recht. In Haskell ist das schon extrem elegant formulierbar. Wie ist Haskell eigentlich so für größere Projekte, kann
man den Quellcode komfortabel aufteilen und includen usw.?Grüße
-
Hobbyprogrammierer schrieb:
Hallo
quicksort ist in haskell z.b. viel [...] kürzer (3-zeiler), als etwa in java oder (c++) (min.10 zeilen)<<
Wetten, daß ich Quicksort in C++ in nur zwei Zeilen programmieren kann ?
#include <cstdlib>
qsort( buf_p, len, elem_size, f_cmp ) ;ja wo hast Du denn da einen Quicksort programmiert

SCNR
-
Hobbyprogrammierer schrieb:
Und du bist dir sicher, dass du dir das nicht nur aus den Fingern saugst?<<
Gaaaaaanz sicher.
Ein Hauptnutzen von OO ist nunmal, die Grenze für die Überschaubarkeit von Programmprojekten um einige Größenordnungen hinauszuschieben, etwa auf jenseits von 1E6 Programmzeilen.
Historisch entstand die erste OO-Sprache Simula, weil bei der Schiffssimulation
die Anzahl der Abhängigkeiten verschiedener Parameter voneinander unübersichtlich wurde, sodaß man auf die Idee kan, die Schiffe als eigenständige Objekte zu programmieren.Koennte stimmen, aber es ging ja nicht um Simula. C++ wurde entwickelt, weil Simula zu langsam fuer Stroustrups Zwecke war.
Ich wuerds aber gern von dir hoeren<<
[...]
Ich dachte, das wäre allgemein bekannt ???Och, ich dachte, ich krieg da auch sowas lustiges wie zu C++ zu hoeren.
Da bin ich nicht so von ueberzeugt. Und was ist mit Basic, das hast du unterschlagen<<
Basic wurde entwickelt, um Nicht-Programmierern und Studenten das Programmieren und -Lernen zu erleichtern; auch das ist eigentlich Allgemeinwissen.
Nicht-Programmierern? 1960 hattest du an einem Rechner nichts verloren wenn du nicht Programmierer warst
Richtig ist natuerlich, dass Basic besonders leicht zu lernen sein sollte, aber der Grund fuer den Erfolg ist ein anderer: Basic ist so klein, dass man einen Interpreter ohne Probleme in ein paar KB ROM implementieren kann. Somit hat Basic vom Aufstieg der Mikrocomputer in den 70ern und 80ern profitiert (diese unbedeutende Redmonder Basic-Klitsche uebrigens auch).Ums nochmal zusammenzufassen: Du magst in einzelnen Punkten Recht haben, aber deine These, dass die heutige Verbreitung von Sprachen darauf zurueckzufuehren ist, ob man damit urspruenglich ein praktisches Problem loesen wollte, halte ich nicht fuer schluessig begruendet.
-
kampf der erbsenzähler o.O