Andreas K. Foerster schrieb:
Zum anderen hab ich das Problem, dass Programme, die man damit erstellt, viel zu groß werden (trotz Optimierung).
Festplattenplatz ist im Zeitalter der 100GB-Platten nicht mehr das große Problem.
Urks! Da haben wir doch recht unterschiedliche Vorstellungen. Festplattenplatz ist vielleicht wirklich kein Problem mehr, aber für die Weitergabe Diskettenplatz... und vor allem Downloadzeit!
Downloadzeit sehe ich vielleicht noch ein (andererseits, wenn ich mir meine Server-Logs so anschaue, habe ich den Eindruck, dass sich viele auch 20 MB-Dateien erst mal runterladen, bevor sie überlegen, ob sie sie brauchen ...), Diskettenplatz eher weniger. Ein kurzes Programm braucht bei mir ca. 100 KB (gestrippt und bzip2-komprimiert), statisch gelinkt 150 KB. Das ist gerade mal 1/10 einer Diskette ...
Wenn du Dir die Größen der mit GPC erstellten ausführbaren Dateien anschaust, so stellst Du fest, dass diese auch nicht mehr beliebig stark anwächst, auch wenn du eine doppelte Quellcodelänge verwendest. Am Anfang werden eben solche rudimentären Sachen wie die Mathe-Bibliothek dazugebunden, die unglaublich viel Platz wegnehmen.
Was ist mit "Smartlinking"...?
Ich habe ein paar Ideen dazu, und werde es irgendwann mal probieren.
In dem Fall würde ich auch dynamisches Bibliotheken gutheißen: Entweder ganz, oder gar nicht.
Prinzipiell geht das auch. Allerdings muss man dabei mit den Versionen aufpassen (bei den Systembibliotheken z.B. zwischen verschiedenen Linux-Distributionen, und die GPC-Laufzeitbibliothek ändert sich i.a. mit jeder GPC-Version). Da erfahrungsgemäß etliche Leute damit Probleme hätten und letztlich mir dann wieder zusätzliche Arbeit beim Fehler-Beheben verursachen würden, lasse ich diese Möglichkeit vorerst "undokumentiert".
Am besten wäre wirklich, wenn sich beide zusammen täten... falls das überhaupt noch möglich ist.
Nein, ist es nicht. Beide Projekte haben eine unterschiedliche Zielsetzung, die nicht in einem Compiler vereinbar ist.
Hmmm? Meinst du standard Pascal versus Borland Pascal? Das versucht gpc ja schon zu vereinen und das ist wirklich der große Pluspunkt, den ich dem gebe.
Aber FPC leider nicht. Von Standard-Pascal halten die Entwickler nicht viel. Ähnlich sieht es bei Portabilität aus. FPC hält am dem BP-Prinzip fest, Code nur für ein System zu schreiben, während GPC-Code i.a. auf jedem System laufbar sein sollte.
Oder meinst du, dass die nichts vom "Copyleft" halten?
Doch, in diesem Punkt sind sich beide Compiler einig.
Außerdem kann man mit FreeDOS schön mal eben schnell eine selbstbootende Diskette oder CD machen. Mit Linux ginge das uU. zwar auch, aber längst nicht so schön einfach und platzsparend. Manche nehmen das auch für eingebettete Systeme...
Also ein 16-Bit DOS hat auch in heutiger Zeit noch seine Nischen. Mit FreeDOS gibt es auch eine freie Variante, es fehlen halt nur freie Compiler. Über die Lizenz von OpenWatcom kann man ja auch streiten...
GCC/GPC auf 16-Bit-Systeme zu portieren, dürfte schwer bis unmöglich sein. -- Ich weiß, RMS hat so was vor etlichen Jahren mal zu DJ Delorie gesagt, und heraus kam dann DJGPP. Aber das ist halt ein 32-Bit Dos-Extender. Läuft das eigentlich inzwischen unter FreeDOS? Wenn ja, wäre das wohl eine Lösung (für 386+). (DJGPP selbst muss ja nicht installiert sein, um ein DJGPP-compiliertes Program auszuführen, lediglich ggf. cwsdpmi (20 KB)).
Für Windows gibt es schon so ein Paket, siehe http://www.gnu-pascal.de/contrib/chief/
Muss man dafür auch noch diese riesige MinGW ziehen? Inakzeptabel! :-(
Tja, beschwer dich bei Microsoft, dass sie so viele wesentliche Systemkomponenten weglassen ...
Frank