Welcher Sprache gehört die Zukunft?



  • Xin schrieb:

    Es gibt Leute, die das Projekt und mich besser kennen und es ernstnehmen.

    dann verheimlichst du's nur vor vor sachkundigen leuten, weil du angst hast, dass die nur daran herumnörgeln würden?



  • @Xin! Erst mit deinem letzten Post habe ich gerafft, das du an einer Sprache + Compiler arbeitest. Das sagt schon alles über dein Verhalten aus. Wenn du uns nichts über deine Sprache erzählen willst, solltest du auch davon nichts andeuten. Und es ganz für dich behalten.



  • ich finde aber das Xin recht hat, was die leicht verwechselbare syntax angeht

    das ist ein riesen problem für alle anfänger

    == und = ist wesentlich leichter zu verwechseln als := und =

    pascal als sprache hat da einige nette ansätze was lesbarkeit und eindeutigkeit angeht

    auch wenn der rest der sprache nicht unbedingt als toll empfunden wird



  • Na, aber := ist auch nicht gerade auf Anhieb einleuchtend. Also, ich weiß nicht was das heißen soll.

    Das == für "gleich?" intuitiv sein soll, stimmt zwar nicht. Aber := ist auch nicht besser... was immer es heißen soll.

    Das EINZIGE was einleuchtend ist, ist immer noch ARM-Assembler. Oder sowas wäre intuitiv für jeden:

    if A same B then jump to procedure foo of myObj
    

    Aber wer will das? 😉

    Solange muß man halt kryptische Zeichen auswendig lernen.



  • Ist es in vielen Sprachen nicht eh

    if( foo.equals( bar ) )
    

    😉



  • Oh weia! Ich sage nur Java-Strings! Bin ich vom Wechsel von C++ auf Java mehrmals auf die Fresse mit geflogen.



  • Artchi schrieb:

    Na, aber := ist auch nicht gerade auf Anhieb einleuchtend. Also, ich weiß nicht was das heißen soll.

    Wird aber viel in der Mathematik verwendet bei Definitionen (was ja nix anderes als ne Wertzuweisung ist). Daher kommt's vermutlich auch bei Pascal.



  • pale dog schrieb:

    Xin schrieb:

    Es gibt Leute, die das Projekt und mich besser kennen und es ernstnehmen.

    dann verheimlichst du's nur vor vor sachkundigen leuten, weil du angst hast, dass die nur daran herumnörgeln würden?

    Genau.
    In der Regel Informatiker oder Informatiker kurz vor Diplom. Sachkundige Leute wie einen Doktor der Informatik konnte ich noch nicht überzeugen - ich kenne keinen.

    Artchi schrieb:

    @Xin! Erst mit deinem letzten Post habe ich gerafft, das du an einer Sprache + Compiler arbeitest. Das sagt schon alles über dein Verhalten aus.

    Ich frage mich zurzeit, was es genau über mein Verhalten aussagt? Ich wäre interessiert, das zu erfahren.
    Früher habe mal einen Vokabeltrainer geschrieben, ist das in meinem Verhalten jetzt eine Weiterentwicklung?

    Artchi schrieb:

    Wenn du uns nichts über deine Sprache erzählen willst, solltest du auch davon nichts andeuten. Und es ganz für dich behalten.

    Es ging um die Sprache der Zukunft, nicht um meine Vision einer Sprache der Zukunft.

    Ich sagte, was ich als Sprache der Zukunft sehe und warum.
    Mängel in den Sprachen werden seit Generationen vererbt und das wird sich vermutlich nicht abstellen lassen.

    Was ich mit meiner Sprache mache, ist eine Alternative herstellen. Davon ausgehend, dass die C++-Syntax aber auch weiterhin verlangt wird, gehe ich davon aus, dass meine Sprache gut wird, aber eine mehr oder weniger große Niesche ausfüllen wird.

    Artchi schrieb:

    Na, aber := ist auch nicht gerade auf Anhieb einleuchtend. Also, ich weiß nicht was das heißen soll.

    Das == für "gleich?" intuitiv sein soll, stimmt zwar nicht. Aber := ist auch nicht besser... was immer es heißen soll.

    Es wird für Definitionen benutzt.
    Man definiert die Variable a als den Repräsentant für den Wert x:
    a := x;

    Es geht mir aber nicht um die Ähnlichkeit zur Sprache der Mathematik, sondern um die Verwechslungsgefahr.

    if( a = b )
    

    ist einer der bekanntesten, weil häufigsten und überflüssigsten Fehler in C. Und wenn man es liest, dann entspricht es dem Sprachgefühl: "Wenn a gleich b" ...
    Wenn Du liest "Wenn a Doppelpunkt Gleich b", dann klingt das merkwürdig.
    Die Unterscheidung ist in anderen Sprachen deutlicher.



  • if (!(a-b))
    

    👍



  • Ich bezweifle sehr stark, daß die Eigenschaften "basiert auf C-Syntax" irgendetwas über die Zukunftsfähigkeit einer Sprache aussagt (und daß hier Sprachen mit C-Syntax überwiegen, mag daran liegen, daß wir ein C++ Forum sind ;)). Viel wichtiger ist, daß man sauber strukturierte Programme schreiben kann (und das geht mit Pascal-Syntax genauso gut wie mit C-Syntax) - und wie mächtig die Sprache im praktischen Einsatz ist.

    (sollte ich noch erwähnen, daß die Scriptsprache von MS Office nicht auf C basiert?)



  • CStoll schrieb:

    Ich bezweifle sehr stark, daß die Eigenschaften "basiert auf C-Syntax" irgendetwas über die Zukunftsfähigkeit einer Sprache aussagt

    Über die Mainstream-Akzeptanz aber schon. Wobei mich schon mal interessieren würde, woher das eigentlich, auch historisch, kommt.



  • Bashar schrieb:

    Über die Mainstream-Akzeptanz aber schon.

    Das wird sich auch wieder legen 😃 (spätestens wenn die Computer lernen, menschliche Sprache zu verstehen)

    Wobei mich schon mal interessieren würde, woher das eigentlich, auch historisch, kommt.

    C hat eine klare Programmstruktur und ist nebenbei standardisiert (letzteres können Basic und Pascal nicht von sich behaupten).
    (und hier im Forum sind nicht C-basierte Sprachen ohnehin seltener anzutreffen)



  • Da viele Mainstream-Sprachen auf C-Syntax basieren, denke ich auch, das es ein Erfolgsfaktor ist. Das ist so, wie eigentlich jedes neue Auto eigentlich immer gleich zu bedienen ist (von Details abgesehen). Wenn jemand ein Auto rausbringt, das zwar sehr einfach aber total anders zu bedienen ist, wird dem Auto im Mainstream kein Erfolg zukommmen.

    Ich habe schon von VB'lern gehört, die Java gelernt haben, danach selbst über die VB-Syntax gelacht haben. Auch wenn Java eine C-Syntax hat, am Ende fanden sie es effizienter zum Tippen. Warum muß ich BEGIN oder END tippen, wenn es auch ein kruzes { und } tut? Klar, die Klammern sind super kryptisch. Die Tilde bei Desctructoren ist auch nicht gerade sprechend... aber nach dem man ein paar Dtors geschrieben hat, ist es völlig wurscht ob es eine Tilde ist.



  • Artchi schrieb:

    Warum muß ich BEGIN oder END tippen, wenn es auch ein kruzes { und } tut? Klar, die Klammern sind super kryptisch. Die Tilde bei Desctructoren ist auch nicht gerade sprechend... aber nach dem man ein paar Dtors geschrieben hat, ist es völlig wurscht ob es eine Tilde ist.

    Die Tilde oder die Klammern kann man sich wenigstens irgendwann merken. Wenn ich von C++ nach VB.NET komme, rätsel ich immer wieder rum, wann es nun "MustInherit" und "MustOverride" (abstract) oder wann "Shared" und "Static" (static) heisst, wie Konstruktoren und Finalizer heissen oder warum zum Henker ich einer Property, die nur einen Getter besitzt, "ReadOnly" beifügen muss, obwohl das ein Blinder mit Filzbrille sehen würde.

    Solange Programme geschrieben werden, glaube ich nicht dass das gesprochene Wort zum Vorbild einer Programmiersprache gereichen kann 😉



  • Hallo

    Also die Syntax von C++ fand ich schon immer gut. Früher mit Pascal und Basic da bekam man ja fast das Kotzen. Da sehe ich kein Problem. Ich schaue mir gerade c# an und muss sagen, dass ich die c++-ähnliche Syntax sehr schätze.

    chrische



  • Bashar schrieb:

    CStoll schrieb:

    Ich bezweifle sehr stark, daß die Eigenschaften "basiert auf C-Syntax" irgendetwas über die Zukunftsfähigkeit einer Sprache aussagt

    Über die Mainstream-Akzeptanz aber schon. Wobei mich schon mal interessieren würde, woher das eigentlich, auch historisch, kommt.

    Das ist wirklich nicht ganz verständlich. Die Syntax von C ist wirklich nicht einleuchtend. Liegt aber vermutlich daran, das C so populär geworden ist und es einfach jeder kennt. Das zieht natürlich weitere Kreise. Aber im Grunde ist die C-Syntax beschissen und die Syntax von C++ ... (<-- sparen wir uns das mal lieber ;))

    Aber wenigstens sind heutige Sprachen nicht nach Fortran-Syntax modelliert 👍 (Ich sag nur IF(IF.EQ.0)THENTHEN=0 oder DOI=1,3 :D).

    Was ich von ADA bisher gesehen habe fand ich nicht schlecht. Aber auch Python und Ruby haben ja gute Ansätze zur Lesbarkeit (okay, Python hat einige Rückschläge mit ihren ... (<-- Lieblings Schimpfwort hier einfügen) Unterstrich-Frickel-Geschichten).



  • @Artchi: Die schwierigste Umstellung beim Programmieren war bei mir der Wechsel von C64 Basic auf QBasic (und später auf Pascal), weil da die komplette Programmstruktur anders aufgebaut war. Pascal, C (und Nachkommen) und Visual Basic unterscheiden sich zwar in den verwendeten Schlüsselwörtern und einigen weiteren Details, aber die prinzipielle Struktur der Programme bleibt ähnlich (und imo könnte man auf syntaktischer Ebene fast problemlos zwischen C und Pascal übersetzen).

    LordJaxom schrieb:

    Solange Programme geschrieben werden, glaube ich nicht dass das gesprochene Wort zum Vorbild einer Programmiersprache gereichen kann 😉

    Wer sagt denn, daß Programme auch in Zukunft geschrieben werden? Irgendwann werden wir sie dem Computer diktieren 😉 (und dann lässt sich "Begin" wieder einfacher aussprechen als "geschweifte Klammer auf" :D)

    PS: Für den Fachprogrammierer sind Sprachen wie C++, Pascal, Java interessant, weil man dort recht direkt beschreiben kann, was passieren soll. Für Endanwender dürften problemorientierte Sprachen wichtiger sein (ein Ingenieur will dem Computer nur sagen, WAS er machen soll, ohne sich über das WIE Gedanken machen zu müssen.



  • CStoll schrieb:

    Wer sagt denn, daß Programme auch in Zukunft geschrieben werden?

    Nun, ich nicht. Ich sagte nur "solange sie geschrieben werden" 😃



  • CStoll schrieb:

    Irgendwann werden wir sie dem Computer diktieren 😉

    Ist das nicht super-unpraktisch?



  • Mit C++ sicher... Ausser die Erkennung ist intelligent und man muss nicht jede Klammer einzeln einsprechen 😉 .


Anmelden zum Antworten