Autor |
Beitrag |
Implementation
      
Beiträge: 33
Erhaltene Danke: 2
Parabola, Trisquel GNU/linux-libre
FPC, GCC
|
Verfasst: Sa 06.11.10 17:43
delfiphan hat folgendes geschrieben : | Das Framework gehört zum Betriebssystem. Ohne Betriebssystemaufrufe kannst du sowieso keine sinnvolle Applikation schreiben. |
Das .NET-Framework? Nicht ganz. Das muss zuinstalliert werden und liegt AUF dem Betriebssystem.
Wenn man miteinrechnet, dass normale Delphi-Exen standalone laufen, ohne dass man etwas anderes erst installieren muss, sind sie insgesamt dann doch DEUTLICH kleiner als .NET-Anwendungen.
Du darfst nicht einfach auf die Größe der Exe selbst schauen!
_________________ Free as in Freedom!
|
|
delfiphan
      
Beiträge: 2684
Erhaltene Danke: 32
|
Verfasst: So 07.11.10 01:10
.NET ist "integral part of Windows". Ausser du bist vielleicht noch auf dem Stand von 2 Generationen früher (Windows XP), was von Microsoft nur noch im Extended Support ist.
Implementation hat folgendes geschrieben : | Du darfst nicht einfach auf die Größe der Exe selbst schauen! |
Wenn du denkst, dass ich das nicht darf, bist du off-topic 
Willst du damit sagen, dass "Standalone Delphi-Exen" keine Abhängigkeit zum Betriebssystem haben und das Programm von vorhin z. B. die MessageBox mit Magie zeichnet?
Spass beiseite - Fakt ist, in den neueren Versionen von Windows ist .NET mit dabei und du kannst kleine Anwendungen schreiben, ohne auf kompliziertes non-VCL zurückgreifen zu müssen. Möglichst kleine Exe ist nicht unbedingt das Verkaufsargument von Delphiapplikationen. Wer es sich (gerade deswegen) zum Sport macht, eine Mini-App mit Delphi zu schreiben, darf das gerne tun. Allzu sinnvoll ist es aber nicht.
|
|
spawn89
      
Beiträge: 82
Erhaltene Danke: 7
Linux
CodeTyphon
|
Verfasst: So 07.11.10 03:25
Na wenn es dann sinnvoll ist seine Platten mit Backups von VMs voll von unnötigem Balast ala .Net, Java, whatever zu füllen, dann ist ja alles gut.
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 07.11.10 03:55
Dafür bieten diese Frameworks auch viele Vorteile. Und bei dem bisschen Speicherplatz.
Da nehmen andere Sachen viel mehr Platz weg. Meine Entwicklungspartition alleine ist mehrmals so groß wie Windows 7 mit allen installierten Programmen.
|
|
FrEaKY
      
Beiträge: 235
D7
|
Verfasst: So 28.11.10 20:14
Nersgatt hat folgendes geschrieben : | Doch, das gibts. Aber das lohnt sich erst bei einer bestimmten Größe, da der Platz, den der Entpacker braucht ja auch erst mal eingespart werden muss. Außerdem werden diese gepackten EXE gern mal als Trojaner erkannt, eben weil sich Trojaner manchmal so tarnen.
Und zu guter letzt: in Zeiten, wo ne 1 Terrabytefestplatte 44,99 EUR kostet, muss man wirklich nicht mehr auf ein paar Byte schauen, die die Exe belegt. |
Ist eine Frage des Skills oder nicht? Warum soll ich zusätzliche 350 kb in mein Programm packen, die ich nicht benötige? Wenn du 10.000 Euro auf dem Konto hast, schmeißt du dann auch einfach 300 Euro aus dem Fenster, weil ja noch genug übrig ist?
Ich finds echt arm wie heuzutage die meisten Programme hier wo fast nichts drin ist, schon auf 500-800kb kommen.
|
|
FrEaKY
      
Beiträge: 235
D7
|
Verfasst: So 28.11.10 20:19
delfiphan hat folgendes geschrieben : | Das Framework gehört zum Betriebssystem. Ohne Betriebssystemaufrufe kannst du sowieso keine sinnvolle Applikation schreiben. |
Nö tut es nicht. Nicht jeder müllt seinen Computer voll mit allem möglichen unnützen Zeugs.
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 28.11.10 20:35
|
|
Martok
      
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: So 28.11.10 21:27
Das Framework ist kein Teil vom Betriebssystem, genausowenig wie die MSCVRT ein Teil vom Betriebssystem ist.
Es ist nur zufällig auf neueren Windows-Versionen vorinstalliert!
Anders sieht das in Singularity aus, in dem .NET die Win32-API komplett ersetzt. Aber solange das nicht am Markt ist, hat FrEaKY vollkommen Recht.
.NET 1.1 ... 2.0 macht übrigens 22% meines WINNT-Verzeichnisses auf dieser Maschine aus... und beim .NETfx 3.5 ist der Installer allein 10mal so groß. Was dabei rauskommt weiß ich allerdings nicht, ist nirgendwo installiert
Darf ich an die Signatur vom MrSaint erinnern?
"people knew how to write small, efficient programs [...], a skill that has subsequently been lost"
Andrew S. Tanenbaum - Modern Operating Systems
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 28.11.10 21:35
Martok hat folgendes geschrieben : | .NET 1.1 ... 2.0 macht übrigens 22% meines WINNT-Verzeichnisses auf dieser Maschine aus... und beim .NETfx 3.5 ist der Installer allein 10mal so groß. Was dabei rauskommt weiß ich allerdings nicht, ist nirgendwo installiert  |
.NET 1.1 bis 4.0 brauchen bei mir ca. 700 MiB. Mein Windows Verzeichnis ist etwas über 20 GiB groß, wovon ca. 9 GiB im winsxs Ordner (und damit teilweise redundant) sind.
// EDIT:
Martok hat folgendes geschrieben : | Darf ich an die Signatur vom MrSaint erinnern?
"people knew how to write small, efficient programs [...], a skill that has subsequently been lost"
Andrew S. Tanenbaum - Modern Operating Systems |
Es ist ja nicht so, dass ich keine kleinen Programme schreiben kann. Aber klein und effizient passt oft nicht zusammen. Denn da das Programm klein sein muss, muss man vor allem darauf achten und kann weniger auf Effizienz achten. Und dass man wenig Speicherplatz verwendet, hat nicht viel mit Effizienz zu tun. Was nutzt ein winziges Tool, das dafür langsam und von der Oberfläche her unproduktiv ist?
Die vielen non-VCL Spielereien, die es immer wieder gibt, sind das beste Beispiel dafür...
Durch das .NET Framework kann man sehr effizient programmieren ohne stattdessen sehr viel Code für den gleichen Zweck zu schreiben. Und die Geschwindigkeit von Delphiprogrammen oder .NET Programmen steht handoptimierten Assemblerprogrammen nicht viel nach. Je nach Kenntnisstand des Entwicklers sind die manuell optimierten Programme oft auch langsamer.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 28.11.10 21:47
|
|
delfiphan
      
Beiträge: 2684
Erhaltene Danke: 32
|
Verfasst: So 28.11.10 22:13
|
|
Delphi-Laie
      
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: So 28.11.10 22:21
ScaVo hat folgendes geschrieben : | Wie bekomme ich eine "kleinst"-Exe hin? |
Hängt alles nur von der Funktion dieser "exe" ab.
Auch wenn Exe und Com intern ein anderes Format haben, so kann man - nach meiner Beobachtung - Exe in Com umbenennen und umgekehrt, ohne daß die Funktionalitäten leiden.
Die mit sehr großer Wahrscheinlichkeit kleinste (sinnvolle) Com, die es jemals gab, schrieb ich vor knapp 20 Jahren, und zwar bestand sie nur aus 2 Byte und hatte dennoch eine sinnvolle Funktion: In Assembler bestand sie aus der einzigen Funktionszeile
Int 19 (oder Int $19?)
, und nach dem Assemblieren löschte ich alles in der Com-Datei, was noch "drumherum" war, so daß wirklich nur noch die beiden Bytes (eines für Int und eines für 19) übrigblieben.
Int 19 ist ein Hardwareinterrupt für Reboot, der/das - abhängig von der Hauptplatine - unter DOS tatsächlich zu einem Reboot führen konnte.
Dies 2 Bytes wollen jetzt nur noch unterboten werden - wer bietet weniger?
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Di 30.11.10 08:47
@Luckie: Ich darf doch mal:
Diesen Link kennst Du doch hoffentlich?
Nicht!? Lies ihn doch einfach mal
Die Idee hinter Frameworks ist durchaus gut und lobenswert, aber nicht immer ist es sinnvoll für ein Küchenrack eine Generische Tool Building Factory Factory Factory zu betreiben.
Ich wünsch mir schon seit Jahren, dass ich beim Compilieren einer VCL-Anwendung konfigurieren kann, welchen Kram er aus der VCL in die EXE packt und auf welche Sachen ich gut verzichten kann.
Es mag zwar schön sein, nicht alle Sachen erneut schreiben zu müssen, aber kann man das nicht irgendwo reduzieren, dass man analog wie unter Linux einmal üblich gewesen, die Funktionen alle in Libs auslagert und das Programm im Wesentlichen nur noch ein Stub zum Aufruf der Lib ist?
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 30.11.10 09:47
BenBE hat folgendes geschrieben : | Es mag zwar schön sein, nicht alle Sachen erneut schreiben zu müssen, aber kann man das nicht irgendwo reduzieren, dass man analog wie unter Linux einmal üblich gewesen, die Funktionen alle in Libs auslagert und das Programm im Wesentlichen nur noch ein Stub zum Aufruf der Lib ist? |
Das nennt sich Runtime Package.
|
|
spawn89
      
Beiträge: 82
Erhaltene Danke: 7
Linux
CodeTyphon
|
Verfasst: Di 30.11.10 10:26
Man sollte aber schon zwichen
- Gb großen Zwangsframeworks mit weltweit massig verschiedenen Versionen, die aber generell dem Kunden rein gar nichts bringen (.Net, JavaVMs)
und
- nativen Frameworks, die genau das gleiche können und vom Compiler in die Exe optimiert/reduziert werden
unterscheiden
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 30.11.10 11:22
spawn89 hat folgendes geschrieben : | nativen Frameworks, die genau das gleiche können |
Genau das stimmt ja absolut nicht. .NET hat Features, von denen man als Delphientwickler (ohne Prism) nur träumen kann. Und wofür man tausend externe Bibliotheken oder sehr viel eigenen Code bräuchte.
Ich nutze trotzdem lieber Delphi, aber dieses Argument stimmt nicht.
|
|
spawn89
      
Beiträge: 82
Erhaltene Danke: 7
Linux
CodeTyphon
|
Verfasst: Di 30.11.10 11:30
Sorry, ich meinte es im Sinne von: "auf den gleichen Features des OS basieren"
|
|
|