Wie sieht eine gute Programmiersprache aus?



  • pointercrash() schrieb:

    Schau' Dir mal FORTH an.

    das hab ich sogar mal getan. aber ich fand z.b. dieses stack-basierte rechnen doof. intern kann forth von mir aus als stackmaschine arbeiten, aber das muss ja nicht auf den user abgewälzt werden.

    pointercrash() schrieb:

    Man schafft solange neue Befehle, bis das Gesamtproblem durch einen Befehl gelöst ist; das Konzept ist schon lässig....Leider wirken "moderne" Sachen wie OOP eher drangeflickt (was man auch bei C++ manchmal vermuten könnte)

    ja, ich glaube auch wenn ich 'ne programmiersprache erfinden würde, würde ich alles reinfummeln, was ich irgendwie gut finde und am schluss käme ein grausames, halbdurchdachtes gebilde mit 1000 ecken und kanten raus, etwa sowas wie C++. im grunde bringt es mehr, wenn sprachen schlank sind und z.b. diese punkte erfüllen:

    spirit of c schrieb:

    1. Trust the programmer.
    2. Don't prevent the programmer from doing what needs to be done.
    3. Keep the language small and simple.
    4. Provide only one way to do an operation.
    5. Make it fast, even if it is not guaranteed to be portable.

    aber wenn man erstmal so richtig im 'feature-reinbastel-wahn' ist, wirds bestimmt schwer sich dran zu halten.
    🙂



  • Operatoren dürfen ruhig durch Symbole dargestellt werden. Es geht bei einer Programmiersprache nicht darum, dass jemand ohne Kenntnisse diese sofort versteht, sondern nachdem er die Definitionen der Operatoren kennt.
    Ebenso wichtig ist Abstraktion bzw. die Unterstützung für Abstraktion.

    Da die Geschichte der Programmiersprachen vergleichsweise kurz ist, sollte man sich an einem ähnlichen Modell orientieren. In diesem Fall die Mathematik.



  • Das Auge liest mit schrieb:

    Da die Geschichte der Programmiersprachen vergleichsweise kurz ist, sollte man sich an einem ähnlichen Modell orientieren. In diesem Fall die Mathematik.

    aber die alten mathematiker, euklid usw. hatten auch nicht so'ne komplizierte symbolik wie wir heute, sondern haben mehr mit worten gearbeitet und skizzen gemalt.
    🙂



  • Also was ich wirklich toll finde ist eine programmierspache, die effizient ist, und einem nicht dazu zwingt, unnötige sachen zu schreiben

    struct lmaa_tata** ppv = arg1;
    while(*ppv)
        *(ppv++)->ra_lama |= arg2 ^ 34;
    

    Und so weiter und so fort...



  • Bashar schrieb:

    Eben, damit ist dein Argument, es wäre verständlich, wenn man mit der Sprache nicht vertraut ist, falsch.

    Vielleicht solltest du noch mal genauer hinschauen. Ich habe nicht geschrieben, dass es verständlich ist, sondern verständlicher. 😉 Und nochmal, deine Anmerkung spielt hier überhaupt keine Rolle. Es ging um das Verständnis der Operation selbst, nicht um die Auswertung von Operanden oder was auch immer.



  • Was auch immer du mit "Verständnis der Operation selbst" meinst. Das Verständnis der Auswirkungen dieser Operation im Code kann es dann ja nicht sein, und was ist dieses Verständnis dann wert? Es kann doch bestenfalls die Illusion von Verständnis sein.



  • Hi,

    ich finde, daß bei Sprachen mit zu viel Wortbefehlen (begin end and or...) der eigentliche Quelltext schnell zwischen Sprachkonstrukten verschwindet. Bei C (und Verwandten) ist dagegen auf auf den ersten Blick ersichtlich was eigentlicher Quelltext ist und was Sprachkonstrukte sind.

    Gruß Mümmel



  • Es wurde doch alles gesagt, Bashar. Lies es dir besser nochmal durch. Du solltest so clever sein und den eigentlichen Sachverhalt verstehen. Es ging jedenfalls nicht um Nebeneffekte. Dass dies nicht der Sinn von Operatoren ist, sollte dir doch bewusst sein. Ich habe eher das Gefühl, du versuchst deine Sichtweise zu objektivieren.



  • groovemaster schrieb:

    Ich persönlich mag Operatoren, die intuitiv zu benutzen sind, am liebsten.

    a = b + c
    

    ist zB einfacher und mindestens so verständlich wie

    a equals b plus c
    

    Ganz einfach, weil wir dies mathematisch so gewohnt sind.

    = != equals



  • ich finde python ist eine ganz hübsche sprache. durch das erzwingen der einrückung wird der code auf jedenfall hübsch übersichtlich. auch sonnst so lässt sich der quelltext gut lesen:
    for x in foo:
    if x not in bar:
    muh.append( x )

    oder list comprehension
    even = [ i for i in range( 10 ) if i % 0 == 0 ]

    besser zu lesen als x = A ? B : C find ich auch x = B if A else C

    Außerdem kann ich programmieren wie ich möchte, und muss mich nicht z.B. OO unterwerfen wie in Java, oder komplett drauf verzichten, wie in C



  • denkt euch die code-tags



  • only-olli schrieb:

    Außerdem kann ich programmieren wie ich möchte, und muss mich nicht z.B. OO unterwerfen wie in Java, oder komplett drauf verzichten, wie in C

    In Python programmierst du natürlich immer objektorientiert (Leider ist die Sprache so entworfen, dass es manchmal ganz und gar nicht danach aus sieht, was ich ziemlich hässlich finde). Darüber hinaus hast du noch die Möglichkeit (wie in anderen Skriptsprachen auch), funktional zu programmieren. Das eine schließt das andere nicht aus.



  • wow-bitte schrieb:

    groovemaster schrieb:

    Ich persönlich mag Operatoren, die intuitiv zu benutzen sind, am liebsten.

    a = b + c
    

    ist zB einfacher und mindestens so verständlich wie

    a equals b plus c
    

    Ganz einfach, weil wir dies mathematisch so gewohnt sind.

    = != equals

    Das gilt natürlich auch für alle Sprachen und vor allem für die Mathematik... 🙄



  • Tim schrieb:

    wow-bitte schrieb:

    groovemaster schrieb:

    Ich persönlich mag Operatoren, die intuitiv zu benutzen sind, am liebsten.

    a = b + c
    

    ist zB einfacher und mindestens so verständlich wie

    a equals b plus c
    

    Ganz einfach, weil wir dies mathematisch so gewohnt sind.

    = != equals

    Das gilt natürlich auch für alle Sprachen und vor allem für die Mathematik... 🙄

    Und darum verwendet er auch C++ Codetags, weil es Pascal meint 🙄



  • Reine Gewohnheit. 🙂 Tim hat schon Recht. Das war Pseudo Code und sollte mit C++ erstmal nichts zu tun haben. Es ging um den mathematischen Sachverhalt.


Anmelden zum Antworten