App-Link #1033 Script/Runtime/VM-Sprachen mit Fehlerbehandlung und zwingend automatischer Speicherverwaltung

z.B.


try {
dokument.speichern();

datenbank.commit();

status_anzeigen("Daten gespeichert");

}
catch() {
datenbank.rollback();

meldung("speichern fehlgeschlagen");
}


Also, versuche zu speichern:
- wenn's klappt, alles festschreiben
- wenn nicht, alles rückgängig machen und den User informieren





Buffer-Overflows sollten in Script/Runtime/VM-Sprachen auch nicht vorkommen.
( z.B. TypeScript/JavaScript, Java, C#, ... )

Diese benutzen jedoch Bibliotheken, die's ev. mit dem Speicher nicht so genau nehmen.
Oder man benutzt unsafe-Blöcke oder unglückliche Compilerschalter.
( Undefiniertes Verhaltung (UB) glänzt am besten durch Abwesenheit )

C++ ohne UB geht auch -- z.B. mit C++/CLI


jedoch nicht ISO C++ konform.
( Alles mit ^ ist hier auch verwalteter Speicher )


public ref class IntDotnetClass
{
public: int IntValue;

public: IntDotnetClass()
{
this->IntValue = 0;
}


public: virtual ~IntDotnetClass()
{
System::Console::WriteLine("~destruct IntDotnetClass" + IntValue.ToString());
}


public: int operator=( const int IntValue)
{
this->IntValue = IntValue;

return this->IntValue;
}

public: virtual System::String^ ToString() override
{
return IntValue.ToString();
}

};

Weiters stehen zur Vermeidung von Speicherproblemen


- Rust
- Fil-C
- Valgrind
- und ev. bald TrapC
zur Verfügung.
- 1 -    (TxtDoc-runtime-sprachen2026-06-02.html)

INTRANET