Was können sie nicht ?Aber Delphi-Klassen können das eben NICHT!
Ja, so sind nun mal Klassen, dass ist in jeder OOP Sprache der Fall mehr oder Weniger. Eine Klasse muss erzeugt werden mit Create und wieder Frei gegeben werden mit Free, was ist daran jetzt so Falsch ?Was deklariert wird ist letztlich ein Pointer (auch wenn die Scheibweise dies verbirgt) und der Programmierer muss explizit Create und Free aufrufen.
Gibt es schon Compiler die sowas können ? Wenn ja welche ? C++ Kann sowas nicht, bei Java bin ich mir nicht sicher...Das ist ein teurer Preis: Genaue Resourcenkontrolle durch den Programmierer. Dabei könnte das der Compiler viel besser.
Wo siehst du eine Anlehnung an C++ ? Alle Sprachen Ähnlich sich. Blöcke werden in Pascal mit Begin und end Gekennzeichnet in C++ mit {}. Parameter werden durch , getrennt, wenn eine Methode oder eine Funktion aufgerufen wird. Die Unterschiede zwischen C++ und Pascal sind aber Enorm. Schau dir ein C++ Sorucecode an und danach ein "Object Pascal" Code. In C++ können Variablen Überall Deklariert werden. In "Object Pascal" nicht. Auch die Speicher Verwaltung soll in C++ Problematischer sein als in "Object Pascal"... Beide Sprachen Entwickeln sich weiter. Das Pascal was in den 70ner ? oder 90ner erfunden wurde, gibt es heute nicht mehr.... Aber viele Sachen von früher gibt es immer noch... Neben Class gibt es noch Object, suchst du sowas ?Dabei wäre das gar nicht notwendig, wenn man sich nicht so sehr an C++ anlehnen würde.
Vielleicht hast du deine Lieblings Sprache noch nicht gefunden. Ich bin mit "Object Pascal", in der From, wie es der FPC verarbeitet 98% zu Frieden. Vielleicht musst du einfach nur eine andere Sprache suchen... es gibt genügend. Wie währe es mit Python ? oder mit Ruby ? oder mit Java ? Oder mit C++ ? oder mit C-Shape ? oder mit #Net ? oder oder oder..... Sprachen gibt es wie Sand am Meer. Zu Not kannst du auch deine eigene erstellen. Wie das geht zeigt das Tutorial unter http://www.delphigl.com" onclick="window.open(this.href);return false;, sogar in Deutsch...
Es gibt immer Elemente in Sprachen die es woanders auch gibt, es gibt aber auch Elemente die es in anderen Sprachen nicht gibt z.b. Property. Die sind in "Object Pascal" Einzigartig in dieser Form.