RobiHerb
Level-2
- Beiträge
- 679
- Reaktionspunkte
- 113
-> Hier kostenlos registrieren
Halbherziger Schritt
Die Problematik besteht hauptsächlich darin, dass die Erweiterungen in ST nicht konsequent sind oder dass man nicht in der Lage war, Erkenntnisse, die man in der Entwicklung der Programmier Sprachen längst gewonnen hat, anzuwenden.
Das liegt einmal daran, dass man auf der Sprache PASCAL seinerzeit aufgebaut hat und das ist heute weitestgehend totes Terrain. Andrerseits ist eine IEC NORM eine brutale Bremse, wenn man viele Länder und Interessen überzeugen muss, dass die Welt sich weiter entwickelt hat.
Ich denke, der einzige Laden, der bisher daraus die Konsequenzen gezogen hat, ist Beckhoff, der das moderne Visual Studio mit ins Kalkül übernommen hat.
Ich hoffe, dass die Gremien sich irgendwann einmal durchringen und eine neue moderne Sprache für die SPS Welt zuwege bringen. Die Hoffnung ist allerdings gering, was die nächsten Jahre angeht.
Meine Vorstellungen zur Sprache:
Deklarationen von Variablen im Code Teil und nicht separat.
Parameter Übergabe wie in C, dh. fbTest (x :=xx, y := yy); wird fbTest (xx, yy);
Interfaces wie in C++ oder C#,
Einfache Vererbung wie in C#,
Übernahme von Konstrukten wie private, protected, public.
Garbage Collection wie in .NET,
und viele Erleichterungen beim "Tippen" wie:
Abkehr von der unsäglichen umständlichen GROSS_SCHREIBUNG,
Einzeilige Kommentare mit // eingeleitet
Blockstruktur mit { und } und nicht mit THEN und END_IF und END_CASE etc.
Verwendung von = anstelle von := (Zuweisung in Bedingungen nicht erlaubt, somit eindeutig),
ich hätte da noch viele Ideen aber ...
Das obige Beispiel sähe dann so aus:
if (interfacevar = null) // noch nie verwendet ?
{
interfacevar = ZaehlerFactory (material); // gib mir mal den Erbsen Zaehler
}
Ach so, also könnte ich bspw. sowas machen:
if material = "erbsen" then
interfacevar := fberbsen;
else
interfacevar := fbbohnen;
end if
.
.
.
.
interfacevar.zaehlen();
Die Problematik besteht hauptsächlich darin, dass die Erweiterungen in ST nicht konsequent sind oder dass man nicht in der Lage war, Erkenntnisse, die man in der Entwicklung der Programmier Sprachen längst gewonnen hat, anzuwenden.
Das liegt einmal daran, dass man auf der Sprache PASCAL seinerzeit aufgebaut hat und das ist heute weitestgehend totes Terrain. Andrerseits ist eine IEC NORM eine brutale Bremse, wenn man viele Länder und Interessen überzeugen muss, dass die Welt sich weiter entwickelt hat.
Ich denke, der einzige Laden, der bisher daraus die Konsequenzen gezogen hat, ist Beckhoff, der das moderne Visual Studio mit ins Kalkül übernommen hat.
Ich hoffe, dass die Gremien sich irgendwann einmal durchringen und eine neue moderne Sprache für die SPS Welt zuwege bringen. Die Hoffnung ist allerdings gering, was die nächsten Jahre angeht.
Meine Vorstellungen zur Sprache:
Deklarationen von Variablen im Code Teil und nicht separat.
Parameter Übergabe wie in C, dh. fbTest (x :=xx, y := yy); wird fbTest (xx, yy);
Interfaces wie in C++ oder C#,
Einfache Vererbung wie in C#,
Übernahme von Konstrukten wie private, protected, public.
Garbage Collection wie in .NET,
und viele Erleichterungen beim "Tippen" wie:
Abkehr von der unsäglichen umständlichen GROSS_SCHREIBUNG,
Einzeilige Kommentare mit // eingeleitet
Blockstruktur mit { und } und nicht mit THEN und END_IF und END_CASE etc.
Verwendung von = anstelle von := (Zuweisung in Bedingungen nicht erlaubt, somit eindeutig),
ich hätte da noch viele Ideen aber ...
Das obige Beispiel sähe dann so aus:
if (interfacevar = null) // noch nie verwendet ?
{
interfacevar = ZaehlerFactory (material); // gib mir mal den Erbsen Zaehler
}