Was mich aber interessiert: was ist an der Konvertierung ins Lazarus 2.0.2 vom 16. April 2019 denn "unmodern"? Also, außer, dass dies dann vielleicht nicht so toll "Schick schick schickimicki" oder "Hipp Hipp Hippsterle" wäre?
Da gibt es einige Punkte, aber das wäre sicherlich ein neuer Thread, aber einige kann ich vielleicht schon nennen:
1. Erfahrungen von anderen Programmiersprachen.
2. Verbesserter Optimierer(In wie weit, kann ich selbst nicht beurteilen).
3. Bessere Fehler Handling
Du fängt nicht mit dem eigentlichen Programm an sondern: Was kann schief gehen?
Die Fehler Behandlung ist extrem Wichtig geworden. Pascal hat auch schon eine gute Fehler Behandlung, aber in Rust, ist sie deutlich ausgereifter,
du schreibst hier sehr deutlich was du möchtest, daher kann der Compiler sehr schnell Fehler erkennen, ohne sie Stunden lang suchen zu müssen.
Du schreibst im Prinzip alles Viermal was das angeht. Dadurch sparst du Extrem viel Zeit.
4. Verschiedene Programmier Konzepte wurden eingebaut. Sogar von Pascal, gibt es einiges(laut Wikipedia), erkannt man aber auch, an verschiedenen stellen.
5. Bei der OOP gibt es keine Vererbung mehr, sondern Methoden werden hinzugefügt. Dadurch werden komplexe Klassenstrukturen "verhindert". Wie ich gerade wieder bei einem "Problem mit Frames" feststellen musste, z.b. taucht da die Eigenschaft Position auf, die es aber scheinbar nirgendwo gibt, im OI taucht sie auf, aber die Code-Tools kennen sie bei TFrame nicht....
Die TabOrder Eigenschaft ist auch so eine Eigenschaft, die gibt es im OI, aber sie erzeugt ein Laufzeit Fehler bzw. ein Fehler beim Laden des TFroms:
"Unbekannte Eigenschaft"
6. Alle Variablen sind erst mal nicht veränderbar, erst mit einem Schlüsselwort können sie verändert werden.
7. Datentypen werden "selbstständig" ermittelt, aber viele Programmierer schreiben sie freiwillig hin.
8. Klassen werden, wenn sie innerhalb eine "Methode" erstellt werden, automatisch freigeben.
9. Datentypen werden, soweit ich weiß alle mit einem Default Wert belegt.
Es gibt aus meiner bisherigen Sicht auch einige Nachteile:
1. Die Sprache verändert sich noch, bald gibt es eine Stabile Version.
Daher gibt es kaum brauchbares Tutorials in Deutsch, ich konnte nur online Rust Buch von 2015 finden, dass ist aber "uralt".
Es gibt aber eine sehr, sehr umfangreiche Hilfe, allerdings ist es nicht leicht diese Hilfe zu "verstehen", gerade am Anfang.
2. Die Konzepte von Rust verwirren mich.
Die match(ich glaube so heißt sie), ist recht mächtig, aber auch am Anfang nicht so einfach zu verstehen.
Ist wohl auch alles eine Frage der Zeit.
3. Es gibt scheinbar noch keine so gute IDE wie Lazarus.
Alles wird mit einem reinen Text Editor geschrieben. Anschließend Kompiliert.
Habe auch was mit STM32 gemacht, das muss von "Hand" gemacht werden.
Rust Kompiliert es, die Hex Datei muss Umgewandelt werden und anschließend hochgeladen werden.
Das ist eigentlich der Hauptgrund, warum ich mich näher mit Rust befasse, wegen der "guten" STM32 Unterstützung.
Ich möchte auch mehr über Mikrocontroller erfahren. Klar würde es auch mit AVR gehen(Dafür hat Rust, wohl noch kein Target, soweit ich weiß), aber AVR,
ist nun mal echt Veraltet und überteuert im Vergleich zu STM32.
4. Alle Abhängigkeiten werden in einer Datei festgehalten. Das hat vor aber auch nachteile.
Z.B. sollte man eine große Festplatte haben. Der Vorteil: Alle Libs die verwendet werden sind Aktuelle,
jedoch gibt es auch die Möglichkeit alle libs in einem zentralen Verzeichnis zu sammeln.
Einiges kann man sicherlich auch in Object Pascal einbauen, aber wohl nicht alles.
Mir geht es jetzt nicht darum, eine Sprache schlecht zu reden und sagen: die andere ist viel besser, nein.
Ich befasse mich damit, wegen STM32 und um mehr Erfahrungen zu sammeln. Ich finde Object Pascal toll, gerade weil ich damit umgehen kann.