Registriert: Do Jun 19, 2003 10:44 Beiträge: 991 Wohnort: Karlsfeld (nahe München)
Free Pascal 2.2.0 ist erschienen.
Interessant ist das Genrics experimentel unterstützt werden. Lang überfällig war ebenfalls ein interner Linker, welcher laut Entwicklern für kleinere Binaries, weniger Speicherverbrauch beim kompilieren und für kürzere Kompilier-Zeiten sorgt.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Klingt für mich als FPC-Poweruser (:wink:) doch recht vielversprechend, vorallem auf die Compatibility Improvements und das verbesserte Cross-Compiling werde ich mich stürzen.
Aber was genau sind generics? Bei Wikipedia habe ich nichts gefunden, was mir jetzt konkret weiterhilft. Was bedeuten Generics für mich als FPC-User? Wenn es das ist, was ich glaube dass es das ist, könnte das wirklich genial werden.
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Do Jun 19, 2003 10:44 Beiträge: 991 Wohnort: Karlsfeld (nahe München)
Unter einem Generic kannst du dir eine Art Klasse vorstellen, bei dennen der Benutzer der Klasse bestimmte Typen festlegen kann.
Eine solche generische Klasse kann zum Beispiel eine Liste sein, welche nur Objekte von einem Typ beinhaltet. Der Benutzer der Klasse legt dann zum Beispiel fest, dass er eine Liste haben moechte die nur Objekte vom Typ A enthalten duerfen.
Unter Java kann man noch Bedinungen aufstellen, welche die eingesetzen Typen erfuellen muessen(z.B. Das der Typ das Interface Compareable implementiert um dann die Elemente sortieren zu koennen). Ich bezweifle aber, dass dies unter FreePascal schon moeglich ist.
Neben generischen Typen gibt es auch generische Methoden, ob es die allerdings unter FreePascal schon gibt weiss ich nicht.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Klingt auf jeden Fall interessant. Werde ich mich mit beschäftigen, vorrausgesetzt, Lazarus kommt damit klar...
Das könnte auf jeden fall gerade für meine aktuellen Aktionen einiges erleichern, da ich immer die gleichen sachen für 8 verschiedene Typen brauche. Kommt also genau zur richtigen Zeit, falls es wirklich geht.
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2622 Wohnort: Berlin
Programmiersprache: Go, C/C++
Generics können sehr praktisch sein aber auch performancekiller(je nachdem wie es implementiert wurde) , ich werde davon erstmal die Finger lasse.
Dann wird es bald bestimmt ne menge Templates geben.
Der stark verbesserte ARM support ist doch sehr nützlich, wo doch bald der Open Handheld von der GP2X Community kommt.
Speicheroptimierung ist auch ned schlecht und mein liebling Feature ist klar das pointer[...] .
Darauf hab ich echt lange gewartet und nun muss man ned mehr (pbyte(p)+i)^:=255; machen sondern kann einfach pbyte(p)[i]:=255; oder wenn man p:pbyte; macht sogar nur p[i]:=255; .
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Ahh das is toll!
Ich wusste den eintrag nicht recht einzuordnen, aber das ist wirklich mal ne geniale änderung.
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7804 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Die sind je nach implementation für den Nutzer nicht merkbar.
Generics werden zur laufzeit eingesetzt. Templates beim Compilieren.
(Soweit das rudimentäre Restwissen aus einer Vorlesung.)
PS: Es gab sogar wissenschaftliche Artikel darüber, wie man (mathematische) Probleme durch templates zur Compilierzeit lösen kann. Der ausgeführte Code lief dann nur noch durch, ohne viel tun zu müssen. (Vorsicht auch Restwissen)
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Generics werden bei Java aber auch vom Compiler übernommen. Deren Einführung war keine Erweiterung der Virtual Machine.
Ich würde sagen: Generics heißen die Dinger bei Java (Und einigen (?) anderen Sprachen) und Templates heißen die bei C++.
Registriert: Fr Mai 14, 2004 18:56 Beiträge: 804 Wohnort: GER/OBB/TÖL-WOR/Greiling
Ne, generics und Templates sind unterschiedlich, afaik. Bei Templates werden für die Parametrisierten Typen nur Platzhalter geschrieben, die dann vom Compiler eingesetzt werden. Es ist also generierter Code, und entsprechend schwierig gestaltet sich die Fehlersuche. Bei Generics ist dagegen vollständige Typensicherheit gewährleistet.
Mitglieder in diesem Forum: 0 Mitglieder und 8 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.