Programmiersprachenentwicklungsphilosophie - Ideensuche
-
Hi, ich interessiere mich für Programmiersprachenentwicklung. Manchmal wünsche ich mir viel mehr Standardisierung, z.B. für Kommentare. Ich mag die Abgrenzung in Asm mit ; oder # - aber mir scheint, zu einer neuen Programmiersprache gehört immer auch eine neuer Art der Auskommentierung...
im Moment geht es mir aber darum, wie sich
a=a+1 oder a=a+b
anders ausdrücken ließe
man könnte inc a schreiben wie in asm oder a++ wie in c oder aup, +a1 oder für
a=a+b einfach +ab - aber ist damit viel gewonnen? Habt ihr andere Ideen, bzw. Wunschvorstellungen oder Erfahrungen?
-
nachtfeuer schrieb:
a=a+1
(incf a)
a=a+b
(setf a (+ a b))
ich interessiere mich für Programmiersprachenentwicklung
dann solltest du dir lisp/scheme ansehen
-
Ich hätte gerne mal eine Programmiersprache mit Postfixnotation. Damit man endlich die Klammern und die Punkt-Vor-Strich Regel wegwerfen kann.
a 1 + a set
a b + a setGrüssli
-
nachtfeuer schrieb:
im Moment geht es mir aber darum, wie sich
a=a+1 oder a=a+b
...
Gar nicht, so lassen, wie es ist. Vielleicht in deinem Compiler erzwingen, dass die Leerzeichen ordnungsgemäß da sind:
a = a + 1 a = a + b
Und wenn jemand zwei oder mehr oder Steuerzeichen wie Tabulatoren benutzt, soll der Compiler x Fehlermeldungen ausspucken.
-
Es gibt viele Möglichkeiten. Trotzdem macht es meistens keinen Sinn etwas zu ändern. Es wird vermutlich eh nicht angenommen, da sich andere Schreibweisen bereits fest durchgesetzt haben.
Einfallen würde mir trotzdem etwas.
Ich wollte damals das = vermeiden, da es eine Gleichung vorgaukelt. Eine Zuweisung hätte dann so ausgesehen:
a : 10 + 5;
Kommt a wieder vor, so könnte man anstatt
a : a + 5;
auch
a :+ 5;
schreiben.
Es bringt dir aber keinen Vorteil, da es nur eine Ersetzung von Zeichen ist. Das verwirrt.
-
DrGreenthumb schrieb:
a=a+b
(setf a (+ a b))
*LOL*
Schlimmer gehts wohl nicht.
-
Dravere schrieb:
Ich hätte gerne mal eine Programmiersprache mit ..
a 1 + a set
a b + a setWie waere es mit http://en.wikipedia.org/wiki/Joy_programming_language
-
zum Thema:
wie wäre es damit, erst neue Prinzipien/Paradigmen aufzustellen, und dann eine Syntax zu definieren, die wo diese Prinzipien möglichst glatt formalisiert ?
Programmiersprachen der Bauart "imperativ & Pseudo-OO, gewürzt mit C-Syntax und abgeschmeckt mit ein paar Brocken an Funktionalem" gibt es ja nun schon reichlich.
-
wie wäre es mit einer volltext sprache?
Lege eine Variable des Typ Integer an und nenne sie A. Addiere den Zahlenwert fünf zu der Variablen A; Speichere das Ergebnis der Addition wieder in der Variablen A;
da spart man sich jegliche Kommentierung und lernt nebenher wieder korrekte Rechtschreibung.
-
Deutsch?
-
knivil schrieb:
Dravere schrieb:
Ich hätte gerne mal eine Programmiersprache mit ..
a 1 + a set
a b + a setWie waere es mit http://en.wikipedia.org/wiki/Joy_programming_language
Sieht nett aus, muss ich mir mal genauer anschauen. Danke für den Tipp.
Grüssli
-
> Deutsch?
Das ist bewiesenermaßen unmöglich.
-
Ad aCTa schrieb:
> Deutsch?
Das ist bewiesenermaßen unmöglich.
Ist es? Ich habe keine Informatik studiert, es würde mich interessieren warum. Ich meine: Ich kann ein Programm, welches in Deutsch geschrieben ist, ausführen. Warum sollte ein Computer dazu nicht in der Lage sein? Man müsste ihm eben beibringen, Kontexte zu verstehen.
-
Das Problem ist von ganz einfacher Natur: Du benötigst eine Grammatik, die ein Computer bzw. eine Turingmaschine versteht. Die allgemeinste der Grammatiken ist die Typ-0-Grammatik. Deutsch ist noch viel allgemeiner als Typ-0, die Regeln werden im Deutschen schlicht zu schwammig und es können nur (inhärent) mehrdeutige Parsebäume daraus erstellt werden, mit der eine deterministische Maschine wie der Computer nichts anfangen kann. Kontexte werden von Computern verstanden ( ---> kontextsensitive Sprachen sind ein Teil der Allgemeinen Sprachen)
-
"Erstelle mir eine Variable x, welche mit einem mittel grossen Wert initialisiert wird."
Grüssli
-
Ich will einen "Do What I mean Compiler"
-
Umgangssprache wäre zwar gut für Laien, aber viel zu langatmig für Experten:
"wiederhole für i von null bis n minus eins: addiere den Inhalt der Speicheradresse s zuzüglich d zum Funktionswert, der sich ergibt, indem man den Funktionszeiger f dereferenziert, auf den Inhalt vom Inhalt von x anwendet und i addiert, und speichere das Ergebnis nach r plus plus ..."
nein, das kanns nicht sein.
Nahezu Syntaxfreie Programmierung -- im Grunde genommen mit der einzigen Syntaxregel
"<object> <message>"
-- ist trotzdem eine gute Idee
(, die allerdings schon seit fast 40 Jahren realisiert ist ...)
-
Dravere schrieb:
Ich hätte gerne mal eine Programmiersprache mit Postfixnotation. Damit man endlich die Klammern und die Punkt-Vor-Strich Regel wegwerfen kann.
Factor, Forth, ... so ziemlich jede Stackorientierte Sprache.
-
Lasst mich raten, lauter Informatiker hier...