Was ist die schlechteste Programmiersprache
-
Zu den schlechtesten Sprachen überhaupt zählt, meiner Meinung nach, neben dem von mir vorhin schon genannten Fortran auch das Lisp-Derivat Scheme (was muß das für ein krankes Hirn gewesen sein):
(let ((a 3) (b (+ 10 12)) (c (lambda (n) (* n 2)))) (c (+ a b)))
Was kommt hier bei diesem Kauderwelsch raus?
-
Grausamste Bibliotheksstruktur: PHP
da immer neue Nomenklaturen, inkonsequente Benennungen, schlechte Entwicklungen (ich sage nur mal RegisterGlobals u. MagicQuotes) und nicht mehr zeitgemäße Features mit Frickelworkaround (falls überhaupt).Grausamste Syntax: ObjectPascal/DelphiLanguage
Bei dem Wirrwar aus BEGIN, END und Forwarddeklarationen von Variablen bekomme ich (persönlich!) einfach nur Augenkrebs ... Und von Übersichtlichkeit kann da imho keine Rede mehr sein ...Grausamster Sprach"klang": Basic
Ich finde die Syntaxen einfach irgendwie ... "unschön", ist aber wohl Ansichtssache.Grausamste Nutzbarkeit: Windows Kommandozeileninterpreter (Batch)
Ohne Kommentar ...
-
F98 schrieb:
Zu den schlechtesten Sprachen überhaupt zählt, meiner Meinung nach, neben dem von mir vorhin schon genannten Fortran auch das Lisp-Derivat Scheme (was muß das für ein krankes Hirn gewesen sein):
(let ((a 3) (b (+ 10 12)) (c (lambda (n) (* n 2)))) (c (+ a b)))
Was kommt hier bei diesem Kauderwelsch raus?
Scheme ist sicher auch eine der besten Sprachen, auch wenn sie an eine bestimmte andere nicht ganz heranreicht. Deine Probleme mit diesem Code-Stueck liegen vermutlich daran, dass dein Gehirn noch nicht an S-Ausdruecke gewoehnt ist.
Allerdings sieht jeder, dem das anders geht, sofort, dass hier eine einstellige Funktion aufgerufen wird, die ihr Argument, welches hier 25 ist (a + b), verdoppelt.Ich finde es bei solchen Diskussionen wie dieser immer sehr amuesant, das Blub-Paradox von Paul Graham bestaetigt zu sehen
-
minhen schrieb:
ten schrieb:
minhen schrieb:
Ah ok, da haben wir also doch etwas, was PHP eins zu eins von Perl geklaut hat
aber nein, php hat wirklich gar nix mit perl zu tun
Soll ich jetzt darüber herziehen, dass du offenbar Probleme mit Deutsch hast oder darüber dass du keine Ahnung hast wovon du redest? Deine Behauptung war dass PHPs Syntax eine Mischung aus C und Perl sei. Dem habe ich widersprochen. Und das konterst du erst damit, dass der Erfinder von PHP in Perl programmiert hat und dannn damit dass Perl und PHP etwas miteinander zu tun haben. Ja, super, dem widerspricht keiner. Du konterst Äpfel mit Birnen und freust dir n Keks dabei. Es geht um die Ähnlichkeit der Syntax und sonst nichts. Und da ist deine Aussage schlicht Mist, egal wieviele
du hinter deine Sätze packst. Was die Syntax angeht, verfolgt Perl einen völlig anderen Ansatz als PHP und sieht auch völlig anders aus. Wenn du eine Ahnung von Perl hättest (und damit die Mindestgrundlage hättest das zu diskutieren), wäre dir das auch so schon längst klar.
danke @minhen
genau meine meinung, gut dass du sie aussprichst
-
minhen schrieb:
ten schrieb:
minhen schrieb:
Ah ok, da haben wir also doch etwas, was PHP eins zu eins von Perl geklaut hat
aber nein, php hat wirklich gar nix mit perl zu tun
Soll ich jetzt darüber herziehen, dass du offenbar Probleme mit Deutsch hast oder darüber dass du keine Ahnung hast wovon du redest?
...such dir was aus...
-
F98 schrieb:
Was kommt hier bei diesem Kauderwelsch raus?
50. HTH HAND.
-
Warum soll denn jetzt speziell Scheme schlecht sein?
-
minhen schrieb:
ten schrieb:
stimmt ja gar nicht. struktur ist doch ok, ist 'ne mischung zwischen C und perl.
Das ist eine Beleidigung von C und Perl. Verbrennt ihn, verbrennt ihn! Was hat denn PHP schon bitte mit Perl gemeinsam? Davon einmal abgesehen, sicher dass PHP eine Mischung aus C und Perl sein soll? C muss ich dir wohl sicher nicht erklären. Aber Perl sieht dann doch ziemlich anders aus:
#!/usr/bin/perl my $a = sub {print $& while $_[0] =~ /\p{Ll}|\s/g; return sub {print qq?\n?}}; &{&$a(q%DSAbeBsDFch_DSeuAerAPt"eFrAP! _cAo_ZdAeA%)};
also das beeindruckt mich richtig xD
sagmal was da rauskommt xD
-
Doktor Prokt schrieb:
Scheme ist sicher auch eine der besten Sprachen, auch wenn sie an eine bestimmte andere nicht ganz heranreicht. Deine Probleme mit diesem Code-Stueck liegen vermutlich daran, dass dein Gehirn noch nicht an S-Ausdruecke gewoehnt ist.
Allerdings sieht jeder, dem das anders geht, sofort, dass hier eine einstellige Funktion aufgerufen wird, die ihr Argument, welches hier 25 ist (a + b), verdoppelt.Ich hatte beim Studium mit Scheme zu tun. Scheme hat seine Nische im Bereich Rekursion, Automaten, Compiler usw. Was ich eigentlich ansprechen wollte ist, dass eine Programmierstprache lesbar sein sollte, nicht kauderwelschig:
Wenn ich
c = a + b
da stehen habe weis jeder was gemeint ist.
-
F98 schrieb:
Wenn ich
c = a + b
da stehen habe weis jeder was gemeint ist.
Sorry, aber hier bist du unfair Scheme gegenueber. Das ist naemlich nicht im geringsten das, was dein Scheme-Code-Beispiel macht. In herkoemmlicher Syntax wuerde das in etwa
c(a+b)
sein.
Der Rest wird gebraucht, um die Variablen im Kontext einzufuehren. Natuerlich ist diese Syntax nicht jedermanns Sache, aber man kann sich wirklich daran gewoehnen und sie zu schaetzen lernen.
-
Doktor Prokt schrieb:
F98 schrieb:
Zu den schlechtesten Sprachen überhaupt zählt, meiner Meinung nach, neben dem von mir vorhin schon genannten Fortran auch das Lisp-Derivat Scheme (was muß das für ein krankes Hirn gewesen sein):
(let ((a 3) (b (+ 10 12)) (c (lambda (n) (* n 2)))) (c (+ a b)))
Was kommt hier bei diesem Kauderwelsch raus?
Scheme ist sicher auch eine der besten Sprachen, auch wenn sie an eine bestimmte andere nicht ganz heranreicht. Deine Probleme mit diesem Code-Stueck liegen vermutlich daran, dass dein Gehirn noch nicht an S-Ausdruecke gewoehnt ist.
Allerdings sieht jeder, dem das anders geht, sofort, dass hier eine einstellige Funktion aufgerufen wird, die ihr Argument, welches hier 25 ist (a + b), verdoppelt.Ich finde es bei solchen Diskussionen wie dieser immer sehr amuesant, das Blub-Paradox von Paul Graham bestaetigt zu sehen
Und warum schreibt man das nicht einfach hin in Scheme?
Zuerst wird doch a=3 und dann b = 10+12 = 22 definiert. Am Ende wird eine c Variable mit c=a+b=3+22=25 definiert. So zwischendurch wird multipliziert.Das ist irgendwie von hinten durch den Darm und wieder zurück.
int f(int x) { return x*2; }
ist doch viel einfacher
-
Ich schließe mich einigen hier an:
- PHP is ne üble Frickelgeschichte mit der ich mich leider immer noch desöfteren rumplagen muss
- Delphi bzw. ObjectPascal mag ja ne schöne strukturierte Sprache usw sein, aber das ist wohl subjektiv. Mir gefällt die ganze Syntax dort überhaupt nicht, und auch dass ich jede kleine scheiss Variable vorher immer deklarieren muss bevor ich sie einsetze geht mir auf die Eier. Aber manche finden es ja toll und übersichtlich... ich finds total unübersichtlich. Ist wohl Geschmackssache.
- Prolog: Ist einfach nicht mein Fall. Bin damit zwar einigermaßen zurecht gekommen, aber neeee... lieber "normal" programmieren. Aber ist halt auch bei jedem anders, wie jemand schon mal erwähnt hat
-
DEvent schrieb:
Und warum schreibt man das nicht einfach hin in Scheme?
Zuerst wird doch a=3 und dann b = 10+12 = 22 definiert. Am Ende wird eine c Variable mit c=a+b=3+22=25 definiert. So zwischendurch wird multipliziert.Falsch. Zuerst werden a=3 und b=10+12=22 definiert. Dann wird c als Funktion definiert, die ihr Argument verdoppelt. Das Ergebnis des Gesamtausdrucks ist dann c(a+b).
Das ist irgendwie von hinten durch den Darm und wieder zurück.
Ieh.
int f(int x) { return x*2; }
ist doch viel einfacher
Im Grunde steht das da so. Nur dass f c heißt.
-
Stelfer schrieb:
minhen schrieb:
#!/usr/bin/perl my $a = sub {print $& while $_[0] =~ /\p{Ll}|\s/g; return sub {print qq?\n?}}; &{&$a(q%DSAbeBsDFch_DSeuAerAPt"eFrAP! _cAo_ZdAeA%)};
also das beeindruckt mich richtig xD
sagmal was da rauskommt xD$ script.pl bescheuerter code $
-
F98 schrieb:
Zu den schlechtesten Sprachen überhaupt zählt, meiner Meinung nach, neben dem von mir vorhin schon genannten Fortran auch das Lisp-Derivat Scheme (was muß das für ein krankes Hirn gewesen sein)
Scheme (bzw. tScheme) ist doch toll. Wenn man sich mal etwas näher mit dieser Sprache beschäftigt, erscheint einem die Infixnotation anderer Sprachen ziemlich unlogisch und Funktionen höherer Ordnung wird man in der Form, wie sie in tScheme autauchen, in anderen Sprachen vermissen.
Die für mich schlechteste Sprache ist nach wie vor Java :(. Sicherheitskonzept hin oder her, aber wenn mir damit Möglichkeiten in der Programmierung (Zeiger statt Referenzen, bestimmte type-casts) genommen werden, leidet die Qualität der Sprache darunter. Auch der Garbage-Collector mag ja ne tolle Sache sein, verführt aber dazu unbedacht zu programmieren. Naja, wird schon seine Gründe haben, warum es diese Sprache gibt..Gruß
dit Xvl
-
F98 schrieb:
Ich hatte beim Studium mit Scheme zu tun. Scheme hat seine Nische im Bereich Rekursion, Automaten, Compiler usw. Was ich eigentlich ansprechen wollte ist, dass eine Programmierstprache lesbar sein sollte, nicht kauderwelschig:
Scheme ist eigentlich ziemlich leicht lesbar, weil es eine einfache Syntax besitzt. Sprachen mit besonderen Notationen für Operatoren werden bei komplexeren Beispielen eher unleserlich. Ganz zu schweigen von dem Aufwand beim parsen. Und am Ende muss man sich fragen, wofür das ganze? Damit ein paar wenige Operationen ähnlich aussehen, wie man es von der mathematischen Syntax gewohnt ist. Der Rest ist dann umso hässlicher und man muss sich stark in der Wahl der Bezeichner beschränken. Wenn man dann noch seine eigenen Objekte und Typen einführen will, muss man entweder hoffen, dass die Programmiersprache Wege zur Verfügung stellt eigene Operatoren anzulegen oder man muss das ganze Operatoren-Zeugs über Bord werfen, was dann noch einmal extra verwirrend und unleserlich wird.
Infix-Operator basierte Programmiersprachen führen also nur Insel-Lösungen für eine sehr kleine Auswahl an bekannten Operatoren ein.
-
Also ich finde PHP doch ganz nett. Vieeeel schlimmer ist sowas wie BlitzBasic
*igitt*igitt*
-
LeGaN schrieb:
Vieeeel schlimmer ist sowas wie BlitzBasic
*igitt*igitt*
naja, das ist für bunte computerspielchen. sowas ist ja nicht jedermanns sache (meine auch nicht).
aber vielleicht sollte mal einer was 'ernsthaftes' mit bb basteln. geht bestimmt auch...Stöffel schrieb:
Also, Hypertalk scheint ja mal grässlich zu sein:
sieht doch nicht schlecht aus. bestimmt gut für einsteiger geeignet, weil man fast vollständige sätze schreiben muss...
-
Also, Hypertalk scheint ja mal grässlich zu sein:
on mouseDown put "Disk:Folder:MyFile" into filePath -- no need to declare variables if there is a file filePath then open file filePath read from file filePath until return put it into cd fld "some field" close file filePath set the textStyle of character 1 to 10 of card field "some field" to bold end if end mouseDown
-
Stelfer schrieb:
#!/usr/bin/perl my $a = sub {print $& while $_[0] =~ /\p{Ll}|\s/g; return sub {print qq?\n?}}; &{&$a(q%DSAbeBsDFch_DSeuAerAPt"eFrAP! _cAo_ZdAeA%)};
also das beeindruckt mich richtig xD
sagmal was da rauskommt xD[/quote]
Das hat den selben Effekt wie:print "bescheuerter code\n";
So kann man's wahrscheinlich besser lesen
Wie Larry Wall schon sagte:
"The very fact that it’s possible to write messy programs in Perl is also what makes it possible to write programs that are cleaner in Perl than they could ever be in a language that attempts to enforce cleanliness"Ich mein, was hab ich in dem Code gemacht? Eine anonyme Funktion in eine Variabel gepackt und zudem eine anonyme Funktion als Rückgabewert definiert. Statt Strings mit " oder ' anzugeben habe ich einmal ? und einmal % als Stringbegrenzer definiert. Den Nutzen von anonymen Funktionen kennt man entweder oder nicht. Aber dass es wirklich nützlich ist, Stringbegrenzer selbst definieren zu können, wird wohl jeder nachvollziehen können, der mal in einem String vor lauter Escapesequenzen überhaupt nicht mehr durchgeblickt hat. Den regulären Ausdruck hätte man natürlich auch einfacher haben können indem man "\w|\s" bzw "[a-z]| " schreibt. Stattdessen frage ich nach der Unicode-Eigenschaft (\p) ein kleiner (l) Buchstabe (L) zu sein. Den Nutzen davon beliebige Unicode-Eigenschaften abfragen zu können kann man sich wohl auch denken (z.B. \p{arabic}).
Also man kann mit einer mächtigen Syntax ziemlichen Unfug treiben (s.o. - gibt nebenbei viel besseren und schöneren Unfug ;)), aber wie Larry Wall schon sagte auch viel nützliches machen.
DEvent schrieb:
(let ((a 3) (b (+ 10 12)) (c (lambda (n) (* n 2)))) (c (+ a b)))
Vielleicht ist's in Perl ja besser zu lesen:
$a = 3; $b = 10 + 12; $c = sub { $n = shift; return $n*2; }; $c->($a + $b);
Jetzt aber genug Werbung für Perl