Welcher Sprache gehört die Zukunft?
-
Xin schrieb:
Also sehe ich die Zukunft in einer C++ ähnlichen Sprache mit einem leistungsfähigen Compiler.
Was ist eine C++-ähnliche Sprache? Und worin soll die Ähnlichkeit bestehen? Anscheinend siehst du die Zukunft ja nicht in der Sprache die C++ (trivial) am ähnlichsten ist ...
-
Erhard Henkes schrieb:
Also sehe ich die Zukunft in einer C++ ähnlichen Sprache mit einem leistungsfähigen Compiler.
Klingt doch gut. Was meinst Du damit genau?
"genau" ist ein böses Wort.
Bei einer Umfrage, sagte mir jemand, dass die Ideen zu denen ich frage, zu ungenau wären. Ich würde ja nichtmals sagen, ob meine Sprache kompilierend oder interpretierend sei. Warum ist es eigentlich so selbstverständlich, dass eine Sprache entweder das eine oder das andere ist?
Wie entsteht aus einem ASCII Text ein ausgeführtes Programm?
Man kompiliert es und führt es aus. Ist es so einfach?
Ich hab's mal aufgedröselt: aktuell gibt es 10 Möglichkeiten, wie ein ASCII-Text zu einem ausgeführten Programm wird, beschrieben durch die 2 Begriffe "Interpreter" und "Compiler".
"genau" ist die Sache also heutzutage schon mehr zu beschreiben.Wie ich schon schrieb, ist es erforderlich, dass Programmiersprachen Beschränkungen verlieren, was heute gerne genau festgelegt sein soll, muss morgen ein Compilerswitch sein.
Bashar schrieb:
Xin schrieb:
Also sehe ich die Zukunft in einer C++ ähnlichen Sprache mit einem leistungsfähigen Compiler.
Was ist eine C++-ähnliche Sprache? Und worin soll die Ähnlichkeit bestehen? Anscheinend siehst du die Zukunft ja nicht in der Sprache die C++ (trivial) am ähnlichsten ist ...
Syntaktische Ähnlichkeit.
Beispiel: Die meisten populären Sprachen nach C vergleichen mit "==" und weisen mit "=" zu.
Ist das sinnvoll? In der Mathematik ist "=" der Vergleich. In Pascal auch.
":=" und "=" ist schlechter zu vertauschen, als "=" und "==".
Obwohl die beiden Operatoren leicht versehentlich zu vertauschen sind, heißen die Operatoren in PHP, Java, JavaScript und C# (und vermutlich 5 Milliarden anderen Sprachen) genau wie in C.Ich vermute, dass eine Sprache, die diesen Unsinn abstellt, erstmal nicht so schnell akzeptiert wird. Also wird die Sprache der Zukunft syntaktisch ähnlich zu C++ sein und einen leistungsfähigeren Compiler besitzen.
-
Xin schrieb:
Also wird die Sprache der Zukunft syntaktisch ähnlich zu C++ sein und einen leistungsfähigeren Compiler besitzen.
Nen leistungsfähigen Compiler finde ich auf jeden Fall Top!
Solche Visionen muß man haben!
-
Xin schrieb:
Erhard Henkes schrieb:
Also sehe ich die Zukunft in einer C++ ähnlichen Sprache mit einem leistungsfähigen Compiler.
Klingt doch gut. Was meinst Du damit genau?
"genau" ist ein böses Wort.
Xin schrieb:
Bei einer Umfrage, sagte mir jemand, dass die Ideen zu denen ich frage, zu ungenau wären. Ich würde ja nichtmals sagen, ob meine Sprache kompilierend oder interpretierend sei. Warum ist es eigentlich so selbstverständlich, dass eine Sprache entweder das eine oder das andere ist?
Wie entsteht aus einem ASCII Text ein ausgeführtes Programm?
Man kompiliert es und führt es aus. Ist es so einfach?
Ich hab's mal aufgedröselt: aktuell gibt es 10 Möglichkeiten, wie ein ASCII-Text zu einem ausgeführten Programm wird, beschrieben durch die 2 Begriffe "Interpreter" und "Compiler".
"genau" ist die Sache also heutzutage schon mehr zu beschreiben.Wie ich schon schrieb, ist es erforderlich, dass Programmiersprachen Beschränkungen verlieren, was heute gerne genau festgelegt sein soll, muss morgen ein Compilerswitch sein.
Ich denke, weder Erhard Henkes noch Bashar und erst recht nicht ich interessieren uns für so sprachfremde Dinge wie die Übersetzungsmodalitäten.
Das sind Implementierungsdetails, die lang nicht so wichtig sind wie die Sprache selbst.
Xin schrieb:
Bashar schrieb:
Xin schrieb:
Also sehe ich die Zukunft in einer C++ ähnlichen Sprache mit einem leistungsfähigen Compiler.
Was ist eine C++-ähnliche Sprache? Und worin soll die Ähnlichkeit bestehen? Anscheinend siehst du die Zukunft ja nicht in der Sprache die C++ (trivial) am ähnlichsten ist ...
Syntaktische Ähnlichkeit.
Beispiel: Die meisten populären Sprachen nach C vergleichen mit "==" und weisen mit "=" zu.
Ist das sinnvoll? In der Mathematik ist "=" der Vergleich. In Pascal auch.
":=" und "=" ist schlechter zu vertauschen, als "=" und "==".
Obwohl die beiden Operatoren leicht versehentlich zu vertauschen sind, heißen die Operatoren in PHP, Java, JavaScript und C# (und vermutlich 5 Milliarden anderen Sprachen) genau wie in C.Ist das wirklich das wichtigste, was dir einfällt??
Xin schrieb:
Ich vermute, dass eine Sprache, die diesen Unsinn abstellt, erstmal nicht so schnell akzeptiert wird. Also wird die Sprache der Zukunft syntaktisch ähnlich zu C++ sein und einen leistungsfähigeren Compiler besitzen.
Ich finde nicht, dass das eine Antwort ist. Du hast hier also gesagt, dass die Sprache nicht in Richtung Pascal gehen wird. So weit sind wir denke ich alle.
-
Jester schrieb:
Xin schrieb:
Also wird die Sprache der Zukunft syntaktisch ähnlich zu C++ sein und einen leistungsfähigeren Compiler besitzen.
Nen leistungsfähigen Compiler finde ich auf jeden Fall Top!
Solche Visionen muß man haben!Wohlwissend, dass es kein Kompliment ist, stimme ich Deiner Aussage ansonsten zu.
Manche Sprachdetails werden sicherlich nicht nur positiv aufgenommen werden. Sollte ich es zeitlich schaffen, den Compiler umzusetzen, sehe ich die Sache im großen Ganzen optimistisch - selbst, wenn ich erst in 10 Jahren fertig würde.Mr. N schrieb:
Ich denke, weder Erhard Henkes noch Bashar und erst recht nicht ich interessieren uns für so sprachfremde Dinge wie die Übersetzungsmodalitäten.
Das sind Implementierungsdetails, die lang nicht so wichtig sind wie die Sprache selbst.
Wenn das stimmen würde, gäbe es viel weniger PHP-Programmierer.
Mr. N schrieb:
Xin schrieb:
Beispiel: Die meisten populären Sprachen nach C vergleichen mit "==" und weisen mit "=" zu.
Ist das wirklich das wichtigste, was dir einfällt??
Es war ein Beispiel dafür, dass sich die C-Syntax hartnäckig inkl. ihrer Mängel hält, weil Änderungen schlecht akzeptiert werden. Die Variablendeklaration ist ja leider nur bedingt vergleichbar. Wie sieht's mit 'C#' aus? Wie deklariert man dort ein Array von Pointer Arrays?
(Doch, es gibt Pointer in C#...)Mr. N schrieb:
Xin schrieb:
Ich vermute, dass eine Sprache, die diesen Unsinn abstellt, erstmal nicht so schnell akzeptiert wird. Also wird die Sprache der Zukunft syntaktisch ähnlich zu C++ sein und einen leistungsfähigeren Compiler besitzen.
Ich finde nicht, dass das eine Antwort ist. Du hast hier also gesagt, dass die Sprache nicht in Richtung Pascal gehen wird. So weit sind wir denke ich alle.
Nein, ich sage, dass sie vermutlich C++ ähnlich blieben wird. Die Dinge, die ich interessant finde, sind für Dich nur unwichtige Implementierungsdetails.
Es ist halt eine Antwort, die Dich nicht interessiert.
-
Xin schrieb:
Nein, ich sage, dass sie vermutlich C++ ähnlich blieben wird. Die Dinge, die ich interessant finde, sind für Dich nur unwichtige Implementierungsdetails.
Es ist halt eine Antwort, die Dich nicht interessiert.Das triffts.
-
Xin schrieb:
Syntaktische Ähnlichkeit.
Beispiel: Die meisten populären Sprachen nach C vergleichen mit "==" und weisen mit "=" zu.Achso, dann war diese Aussage also reiner Zynismus. Ich verstehe. Passt auch zu deinen bisherigen Äußerungen zu dem Thema.
-
Bashar schrieb:
Xin schrieb:
Syntaktische Ähnlichkeit.
Beispiel: Die meisten populären Sprachen nach C vergleichen mit "==" und weisen mit "=" zu.Achso, dann war diese Aussage also reiner Zynismus. Ich verstehe. Passt auch zu deinen bisherigen Äußerungen zu dem Thema.
Ich bin ausnahmsweise mal nicht zynisch.
Allerdings bin ich mir auch bewußt, dass ein Konzept, das auf einer Reihe von Detailverbesserungen aufbaut, nicht mit einem oder zehn Details überzeugen kann. Die einen sind theoretischer Natur und damit unwichtig, andere sind unsichtige "Implementierungsdetails" und andere sind praktisch, aber verunreinigen das Gesamtkonzept.Die Chance so positive Rückmeldung zu erhalten ist im Prinzip Null und das Thema ist zu groß, um für jeden einzelnen Überzeugungsarbeit zu leisten.
Solange ich den Compiler nicht fertig habe und weiß, ob _ich_ damit zufrieden bin, werde ich die Spezifikationen nicht veröffentlichen. Bis dahin veröffentliche ich nichts, weil ich auch keine Lust habe, mich für Änderungen zu rechtfertigen.
Bis dahin habe ich kein Problem damit, dass es als Hoax, Vaporware oder sonstwas abgetan wird. Ich empfinde es als unhöflich, aber ich kann es verstehen.
Von einigen nicht ernstgenommen zu werden muss ich daher hinnehmen. Es gibt Leute, die das Projekt und mich besser kennen und es ernstnehmen.
-
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)