Ne Idee für das "EndIf - Problem"
Das könnte mit dem Editor gelöst werden, indem einfach automatisch nach der schließenden Klammer ein Kommentar mit der gegenwärtigen Bedingung unterhalten wird.
Also z.B.
Code: Alles auswählen
for (int i=0; i<12; i++)
{
...
...
...
} // for (int i=0; i<12; i++) //
Der bereich 'da hinten' wird dann automatisch geupdatet. Außerdem kann dahinter ein eigener Kommentar gesetzt werden, der erhalten bleibt.
Das könnte man für sämtliche if / for / while / switch - Anweisungsblöcke einsetzen.
In PB wäre das dann z.B. sowas:
Code: Alles auswählen
If var1 > 23 And var1 < 23
...
...
...
Endif ; var1 > 23 And var1 < 23
Naja, zumindest als Idee.
Apropos Idee... und nochwas:
Gerade bei dem Beispiel fiel es mir wieder ein:
"var1 > 23 And var1 < 23" ist dermaßen blöde zu schreiben, das nervt mich gerade als Mathematiker super oft.
Ich vermisse die simple Intervallschreibweise:
Code: Alles auswählen
If var in [0, 23]
...
else if var in [-23.2, 2322e4]
var in [a, b]
var notin ]0, 22*pi^3 -12b]
var in ]0, ..]
var notin ].., 12e-12[
auch:
var in {123, 343, 21, -23, 2.0, 2.4}
(Ich glaube, ist klargeworden ?

)
Also:
geschlossene Klammer heißt inklusive Randelement, '..' heißt unbegrenzt, offene Klammer heißt ohne Gleichheitsbedingung auf Randelement, und so weiter (logo).
notin heißt einfach nicht im Intervall.
Jeder PreCompiler kann das als eine seiner leichtesten Übungen umsetzen, und z.B. "var in ]..,4]" übersetzen in "var <= 4" bzw.
var in [4, 12*b[ übersetzen in "var >= 4 And var < 12*b
Ungültige Intervalle, z.B. ]6, -2[ könnten einfach als ]0,0[ compiliert werden.
Mengenklammern führen bei z.B. bei
"var in {12, 23, 54, 3*x}"
zu
"var = 12 OR var = 23 OR var = 54 Or var = 3*x"
Gäbe es sowas, würde ich die Sprache gleich nutzen !
P.S.: Und jetzt sag nicht in C++ geht sogar "-14 < var <= 123" ???
solche Ungleichungsketten wären natürlich auch der Hammer.
Form: <constantExpr> <Opr> <VariableExpr> <Opr> <constantExpr>
... und nochwas (es wird spät, da werde ich einfallsreich, oje...):
Arrays mit Startwerten definierbar:
Dim A.l() = {1,2,3,4,5}
ist ein alter Hut, ebenso im mehrdimensionalen
Dim A.l() = {{12, 23, 0}, {123, 34, 9}}
aber wirklich cool wäre was mit Bildungsgesetzen:
Dim A.l(10) = {n | 24*n - 23.0/1.0}
Wieder einfach etwas, was ein PreCompiler mit Textersetzungen durchführen könnte. Letzteres z.B. durch:
Dim A.l(10) = {n | 24*n - 23.0/1.0}
wird zu
Dim A.l(10)
For n=0 To 10 ; in PB gilt Arraysize inkl. Rand
A(n) = 24*n - 23.0/1.0
Next
Form also sowas wie (in PB):
Dim Arrayname.Typ(size) = { localvarname | <expression> }
wobei localvarname von 0 bis size rennt.
Es gibt da noch einige ähnliche Dinge mehr, die eine Programmiersprache in meinen Augen extrem aufwerten würden, und wahrscheinlich jeden Mathe-Interessierten vom Hocker hauen würden, aber für jetzt reichts erstmal
