Philosophie Programmgröße

  • Allgemein

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von siycah.

    Philosophie Programmgröße

    Hallo,

    wenn man sagen will wie groß ein Programm ist, was gibt es dabei zu berücksichtigen? Zum Beispiel kann eine exe 200kB sein, aber wenn da eine .dll dazu gehört z.B. mysql (400kB), gehört das dann mit zur Größe des Programms?
    Das wäre ja verdreifacht dadurch.
    Oder anders gefragt sind kleine Programme mit vielen DLLs dasselbe wie große Programme?

    Viele Grüße

    Haudruferzappeltnoch schrieb:

    Oder anders gefragt sind kleine Programme mit vielen DLLs dasselbe wie große Programme?
    Nein.
    Ein großes Programm ist starr und in diesem Sinne unflexibel.
    Bei Verwendung von DLLs kann man eine DLL gegen eine andere austauschen und kann dadurch z.B. eine andere Kamera ansprechen oder eine spezifische Auswertung durch eine andere ersetzen.
    Das alles in ein Programm zu packen: ein NoGo.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Haudruferzappeltnoch schrieb:

    Oder anders gefragt sind kleine Programme mit vielen DLLs dasselbe wie große Programme?

    Ist Auslegungssache. Am Ende des Tages zählt, dass dein Programm sich so verhält, wie du es brauchst. Ob du Bibliotheken nun statisch oder dynamisch mit deiner Applikation verlinkst hängt komplett davon ab, was du erzielen möchtest.

    Rod hat natürlich Recht, dass ein aufgeteiltes Programm flexibler ist und sich (meistens) besser warten lässt.
    Je nachdem, in welchen Umgebungen du gerade arbeitest, kann das allerdings auch ein Nachteil sein. Dynamisch gelinkte Applikationen lassen sich oft nicht so gut vom Compiler optimieren, wie z.B. statisch gelinkte Applikationen (in .Net soweit ich weiß nicht unter Windows möglich) und sind oftmals schneller.
    Die kommen vermehrt im Embeddedbereich zum Einsatz; wo Speicherplatz und Geschwindigkeit eher das Thema sind und wo in aller Regel sowieso die komplette Software (inkl. Firmware) auf einmal neu installiert wird.

    Auf Servern ist diese Taktik auch häufig zu finden, da man die Applikationen möglichst integriert haben möchte, um immer reproduzierbares Verhalten zu haben.

    Aber - im Normalfall sind Applikationen mit dynamisch gelinkten Bibliotheken zu bevorzugen!

    Haudruferzappeltnoch schrieb:

    wenn da eine .dll dazu gehört z.B. mysql (400kB), gehört das dann mit zur Größe des Programms?


    Wenn du die Bibliothek mit auslieferst, gehört sie zum Gesamtumfang dazu.

    Haudruferzappeltnoch schrieb:

    was gibt es dabei zu berücksichtigen?


    Alles was du mit deinem Programm auslieferst, was für die Ausführung notwendig ist, zählst du mit.
    Konfigurationsdateien, Übersetzungsdateien, sonstige Ressourcen und Bibliotheken.
    Du kannst natürlich auch sagen, wenn dein Programm Daten generiert und auf die Platte legt, dass das Programm eine Nutzungsgröße von OOB bis N GiB hat.
    Quellcode lizensiert unter CC by SA 2.0 (Creative Commons Share-Alike)

    Meine Firma: Procyon Systems

    Selbstständiger Softwareentwickler & IT-Techniker.