Diskussion:Programmbibliothek
Auf dieser Seite werden Abschnitte ab Überschriftenebene 2 automatisch archiviert, die seit 14 Tagen mit dem Baustein {{Erledigt|1=--~~~~}} versehen sind. Die Archivübersicht befindet sich unter Archiv. |
Vorteile
BearbeitenBibliotheken bei verschiedenen Betriebssystemen->Windows->Vorteile: Zweiter Unterpunkt: Ein häufiger Fehler: 'statisch vs. dynamisch'. Hier sollte eigentlich: 'implizit bzw. explizit' stehen
- Diesen Beitrag halte ich für wichtig; über die Sprechweise bei Win-.dll-s weis ich aber zu wenig. Aber aufgefallen ist mir auch, dass da wohl ein anderes "statisch"/"dynamisch" gemeint ist, als noch 4 Zeilen weiter oben.
- *wink* dat sollte mal jemand prüfen, der da mehr Ahnung von hat! --arilou 14:22, 25. Jan. 2012 (CET)
Einleitung
BearbeitenDas könnte verständlicher formuliert werden.
Aktuell: "Eine Programmbibliothek bezeichnet in der Programmierung eine Sammlung von Programmfunktionen für zusammengehörende Aufgaben."
Genau genommen sind in einer Bibliothek nicht nur Funktionen, sondern auch Prozeduren - allgemein "Unterprogramme". Und es sind eigentlich keine "Aufgaben" darin, sondern Lösungen für Aufgaben/Problemstellungen.
Vorschlag: "Eine Programmbibliothek bezeichnet in der Programmierung eine Sammlung von Unterprogrammen, die Lösungswege für thematisch zusammengehörende Problemstellungen anbieten."
--arilou 09:10, 24. Jan. 2012 (CET)
- Auch die nachfolgende Einleitung könnte exakt so, wie sie ist, im Artikel "Plug-in" stehen. Vielleicht wäre es besser, von der Programm-Seite aus zu argumentieren: Statt "[...] die Programmen zur Verfügung gestellt werden." vielleicht eher "die von Programmen angefordert werden." oder so ähnlich.
- --arilou 17:02, 24. Jan. 2012 (CET)
- Ja, das muss man wohl so sehen. Auch die Erwähnung eines Obfuscators gleich im allerersten Absatz ist wohl nicht so dringend, wie der Anschein erweckt wird. --PeterFrankfurt 02:13, 25. Jan. 2012 (CET)
statische vs. dynamische
Bearbeiten- "Statische Bibliotheken sind bereits vorab kompilierter Code." ~ ähm, das sind dynamische doch auch, gelt? --arilou 17:04, 24. Jan. 2012 (CET)
- "[...] Bibliothek wird nach dem Kompiliervorgang des Programms durch einen so genannten Linker mit dem Kompilat verbunden – er setzt aus Bibliothek und Programm ein ausführbares Programm [...]"
- ~ also: Programm+Bibliothek = Programm ?
- Vielleicht sollte man hier (für die Verständlichkeit) sprechen von
- Hauptprogramm + Bibliothek = vollständiges Programm
- o.ä. --arilou 17:10, 24. Jan. 2012 (CET)
- 3. "Statt die notwendigen Symbole zu kopieren [...]" ~ meine OmA möchte wissen, wo denn diese ominösen "Symbole" plötzlich herkommen, und was das nun wieder sein soll. Bei den statischen Bibliotheken war von "Unterprogramme oder Daten" die Rede, aber nicht von "Symbolen". --arilou 17:16, 24. Jan. 2012 (CET)
- Da bin ich überall vollkommen bei Dir. Bei den Symbolen kann man vielleicht einfach eine Klammer ergänzen: (Variablen- und Sprungadressnamen). --PeterFrankfurt 02:12, 25. Jan. 2012 (CET)
- Vielleicht sollte man schon darauf eingehen, dass ein Kompiler erstmal "object-modules" erzeugt, die der Linker dann in "executables" zusammenlinkt. Also nicht
Programm+Programm=Programm, sondern
Object(s)+objectlibrary=lauffähiges programm (bzw "executable").
Für die OmA ist das natürlich nix, schon garnicht, wenn man noch detaillierter wird. -- 213.164.9.10 14:51, 25. Jan. 2012 (CET)- Wenn man sowas in zwei Sätze hintereinander packt, dann wird das schon verdaulich genug: Erst etwas globaler wie oben, dann folgend: "Im Detail erzeugt ein Compiler zunächst aus dem Programmquelltext sogenannte Objekt-Module, die dann von einem Linker im nächsten Schritt zusammen mit den Bibliotheks-Modulen zum lauffähigen Programm zusammengefügt werden." Oder so. --PeterFrankfurt 02:30, 26. Jan. 2012 (CET)
- @Benutzer:PeterFrankfurt: Da halt' ich's mit Unilever: "Du darfst!" *g* --arilou 09:17, 26. Jan. 2012 (CET)
Bibliotheken unter Linux
BearbeitenKönnte im Abschnitt "Bibliotheken bei verschiedenen Betriebssystemen, Unixartige Systeme" noch erwähnt werden, dass shared libraries (mit Ausnahme einiger Low-Level-Bibliotheken) immer mit dem Präfix "lib" beginnen? Und dass die eigentliche Bibliotheksdatei die volle Versionsnummer enthält, symbolische Verknüpfungen auf diese dann den Zugriff über den so-Namen ermöglichen, sowie den Zugriff ganz ohne Versionsangabe? Beispiel:
- libfoo.so -> libfoo.so.1
- libfoo.so.1 -> libfoo.so.1.2.3
- libfoo.so.1.2.3
Der so-Name ist in dem Fall "libfoo.so.1" -- die Zahl nach ".so." ändert sich nur dann, wenn sich in einer neuen Version die Schnittstelle der Bibliothek ändert. Ich fände das sehr hilfreich zum Verständnis -- auch weil es das in der Form so nicht unter Windows gibt. Oder denkt ihr das ist zu viel Detail? --Neitram 17:04, 19. Mär. 2012 (CET)
- Imho kann das durchaus in den Artikel, als "übliche Vorgehensweise und Konvention" unter Unix-OSs. Afaik muss man sich nicht an diesen Usus halten.
- Im Prinzip genau so wie in deiner Frage oben, nur ohne die Fragezeichen am Ende der Sätze *g*
- --arilou (Diskussion) 08:56, 20. Mär. 2012 (CET)
- Dann war ich mal so frei. Ich bin kein Experte, daher bitte ich dich und andere, das nochmal korrekturzulesen und ggf. nachzubessern. Danke! --Neitram 10:21, 20. Mär. 2012 (CET)
Bibliothek vs Modul
BearbeitenEs wurde schon mehrfach in der Disk angerissen. Aber es gibt immer noch viele Textstellen, in denen 'Bibliothek' mit 'Modul' verwechselt wird. Die Bib ist doch nichts anderes als ein Verzeichnis, ihr Inhalt sind einzelne Module. Insofern ist es doch (z.B.) falsch, wenn in #Statische Bibliotheken steht "Eine statische Bibliothek wird nach dem Kompiliervorgang des (Haupt-) Programms durch einen so genannten Linker mit dem Kompilat verbunden". Es ist ein Modul, das mit anderen Modulen aus der Bibliothek verbunden wird. Ähnlich falsch in #Dynamische Bibliotheken: Nicht eine Bibliothek wird in den Arbeitsspeicher geladen, sondern ein bestimmtes (Lade-)Modul aus der Bibliothek.
Richtig formuliert ist in #Quelltextbibliotheken: Dort heißt es "eine Sammlung von ...".
Man könnte vermuten, dass diese Formulierungsschwächen von "DLL" herrühren - weil mit DLL nicht nur die Bibliothek, sondern auch das Bib-Element bezeichnet wird. Meinungen? Sonst würde ich das entsprechend ändern.--VÖRBY (Diskussion) 12:36, 15. Jul. 2013 (CEST)
- Hm, ich hab' im Moment keine Literaturstelle (villeicht schau' ich da nächstes Wochenende mal nach), aber in meinem Sprachgebrauch ist "Bibliothek" und "Modul" weitgehend synonym. V.a. Pascal-(/Modula-/Ada-/Delphi-)Programmierer sprechen gerne von "Modulen", weil die dort so heißen. In anderen Sprachen heißt oft einfach alles, was man zukaufen/dazubinden kann, (ohne weitere Unterscheidung) "Bibliothek".
- Was wäre denn deiner Ansicht nach eine passable Unterscheidung zwischen "Modul" und "Bibliothek" ? Ich seh' da irgendwie keinen Unterschied.
- --arilou (Diskussion) 13:36, 16. Jul. 2013 (CEST)
- Wie gesagt, mir scheinen da unsaubere Ausdrücke zu kursieren, ggf. aus "DLL" abgeleitet. Unterschied «Bib zu Modul» ist wie «Bücherei (oder besser Buchregal) zu Buch». Was du über Module schreibst, sehe ich iW auch so, nur sind das mE keine Synonyme. Dazubinden tut man "keine Bibliothek", sondern "etwas aus einer Bibliothek". Das schließt nicht aus, dass man eine Bibliothek 'benennt' (das ist aber nicht 'dazubinden'), aus der Module zu verwenden sind. Aber vielleicht gibt es auch hier Unterschiede in der Bedeutung - was leider in der IT nicht selten ist. Dann müsste man das explizit erklären, aber nicht mal den einen, mal den anderen Ausdruck verwenden; da erkennt keiner mehr, was gemeint ist.--VÖRBY (Diskussion) 19:10, 16. Jul. 2013 (CEST)
- Viele Sprachen kennen entweder nur den Begriff "Bibliothek" oder nur den Begriff "Modul". Da würde ich doch sehr von "Synonym" reden. Hier werden nicht verwendete Teile (der Bibliothek/des Moduls) meist einfach mit einkompiliert.
- Umgekehrt gibt es Sprachen, die (automatisch) nur jene Routinen/Methoden/Funktionen einer "Bibliothek" zum Programm dazulinken, die tatsächlich verwendet werden. Aber niemand unterteilt deren "Bibliothek" in Module ~ man könnte argumentieren, dass eine solche Sprache automatisch für jede Methode ein Modul erzeugt - aber in den entsprechenden Sprachen wird das meist nicht so genannt.
- Natürlich hindert mich niemand, mehrere Module/Bibliotheken "von Hand" zu einem Zip-Archiv zusammenzufassen, und sonstwie zu nennen. ("Die Module x, y und z bilden meine MatheBibliothek.zip .") Sowas geht natürlich auch mit Verzeichnissen als "Klammern" anstelle eines zip-Archivs.
- Umgekehrt kann eine Bibliothek intern auch mehrstufig weiter aufgeteilt sein - nicht nur in "Module", sondern z.B. jedes Modul dann weiter aufgeteilt in Klassen. (Beispiel Java: Eine Bibliothek (.jar) enthält mehrere Module (packages), jedes Modul enthält mehrere Klassen (class).)
- Alles in allem sehe ich keinen ernstzunehmenden Unterschied zwischen einem "Modul" und einer "Bibliothek". Beides ist eine Sammlung thematisch zusammengehörender Funktionen/Prozeduren/Klassen/usw.
- --arilou (Diskussion) 12:16, 17. Jul. 2013 (CEST)
- Dass gelegentlich ganze Bibliotheken (d.h. alle ihre Einzelteile) hinzugelinkt werdeb, ändert m.E. nichts an dieser Sichtweise. Auch nicht ob man die Elemente in einer solchen 'Sammlung' Module, Funktion, Klasse, Methode o.ä. nennt.
- Wenn aber Bibliothek und die Elemente tatsächlich als derselbe Begriff, d.h. als Synonym verwendet werden, sollte man dies in der Einleitung klarstellen. Mit möglichst belastbaren Belegen. Die bisherige Einleitung jedenfalls beschreibt die P-Bibliothek lediglich als 'Sammlung von ....'. --VÖRBY (Diskussion) 13:44, 17. Jul. 2013 (CEST)
- Ergänzung: Über eine Google-Suche mit 'Definition:Programmbibliothek' findet sich auf den ersten zwei Seiten kein einziger Treffer, der Bibliothek gleichsetzt mit Modul (etc.). Dagegen wird überall definiert, dass Bibliotheken Verzeichnisse etc sind, die zB mehrfach Verwendbares (~) enthalten und bereitstellen. --VÖRBY (Diskussion) 18:03, 17. Jul. 2013 (CEST)
Quellensammlung:
- Buch "C in a Nutshell" von Peter Prinz, Tony Crawford, Seite 497:
- "Wenn ein Programm mit einer Bibliothek gelinkt wird, werden nur die Objektdateien aus der Bibliothek [...] eingebunden, die tatsächlich verwendete Funktionen enthalten."
- "Der größte Teil der Funktionen der Standardbibliothek befindet sich in der Datei libc.a oder [...] in libc.so [...]. Diese Bibliotheken sind gewöhnlich im Verzeichnis /lib/ [...]"
- C-Bibliotheken können also aus mehreren "Objektdateien" bestehen ("Module"?); die einzelnen Dateien (libc.a und libc.so) werden jeweils als "Bibliothek" bezeichnet; und die Sammlung einer bestimmten Menge dieser Bibliotheken wird wiederum als "Standardbibliothek" (Einzahl!) bezeichnet.
- "enthalten" wäre besser als "bestehen". Bibliotheken sind i.S. des Betriebssystems "Dateien", können aber eine besondere Speicherverwaltung haben. Nach dieser Quelle ist also eine Bibliothek eine "Sammlung".--VÖRBY (Diskussion) 12:27, 18. Jul. 2013 (CEST)
- Buch "C++ Kochbuch" von D. Ryan Stephens, S.2 "Grundbegriffe"
- Buch "Visual Basic .NET: Grundlagen, Programmiertechniken, Windows-Anwendungen ..." von Michael Kofler
- S.197 "Das System-Wirrwarr": Hier wird jede dll-Datei als "Bibliothek" bezeichnet.
- ... weil DLL (für mich aus unerfindlichen Gründen) "...Library" heißt. Genau das ist die begriffliche Ausnahme, aus der man aber mE nicht ableiten kann, dass der allgemeine Ausdruck "Bibliothek" als Synonym für jeden seiner Inhalte benutzt werden darf. Vielleicht sollte man auch 'Dateiendung' nicht mit der Typ-Bezeichnung für diese "DLL's" verwechseln. --VÖRBY (Diskussion) 12:27, 18. Jul. 2013 (CEST)
- S.1032 "Modul: In VB.NET ist ein Modul eine Codeeinheit. Module haben ähnliche Eigenschaften wie Klassen, es gelten aber einige Einschränkungen. [...] NET-Technologie bezeichnet ein Modul dagegen eine .exe oder .dll-Datei einer Assembly."
- S.213 "Im Zeitalter der objektorientierten Programmierung ist ein Modul eigentlich etwas Altmodisches, gewissermaßen ein Relik aus alten (Visual-)Basic-Zeiten. So verwundert ed denn nicht, dass C# gar keine Module kennt."
- S.214 "Wenn Sie also einen Widerwillen gegen Module haben, können Sie alles auch mit Klassen erreichen. Daraus ergibt sich kein Vorteil, es erleichtert aber C#- oder Java-Programmierern die Vorstellung darüber, was ein Modul eigentlich ist [...]"
--arilou (Diskussion) 11:10, 18. Jul. 2013 (CEST)
- Hallo Arilou, auch deine Quellen behandeln eine Bibliothek immer als "Sammlung von ...". Nur vom Ausdruck DLL könnte man eine andere Definition ableiten - der ist aber mE ein feststehender Begriff und soll/kann nicht zum Ausdruck bringen, dass eine xxx.DLL eine "Bibliothek ist". Evtl. sollten Linguisten dieses Rätsel lösen. Der allgemeine Begriff von Bibliothek als "Sammlung mehrerer Teile" (egal was diese sind, wie sie heißen oder wie sie genannt werden) wird dadurch jedoch nicht berührt.
- Noch was: Die WP will für jeden Begriff (hier Sammlung von ....) ein Lemma. Der Terminus 'Bibliothek' (außer bei DLL) steht für diesen Begriff. Homonym-Benutzungen könnte man, wenn sie hier belegt wären, einfach nur in der Einleitungt erwähnen. Siehe auch direkte Einfügungen in deinem Text in Kleinschrift. --VÖRBY (Diskussion) 12:27, 18. Jul. 2013 (CEST)
- Deine urspüngliche Kritik war, dass "Modul" und "Bibliothek" verwechselt würde.
- Soweit ich das sehe, ist
- Bibliothek: Eine (thematisch zusammengehörige) Sammlung/Zusammenfassung von Funktionen und Prozeduren, ggf. intern noch in Teil-Themen untergliedert.
- Modul: genau dasselbe - allenfalls fehlt dem Modul die weitere interne Untergliederungs-Möglichkeit.
- Und damit ist sowohl eine .dll als auch ein Menge zusammengehöriger .dlls als auch ein Verzeichnis mit Quelltexten von "Bibliothek" abgedeckt.
- Ein Modul wäre damit sowas wie eine "eingeschränkte Vorstufe" einer Bibliothek.
- --arilou (Diskussion) 13:43, 18. Jul. 2013 (CEST)
- Mit der ursprünglichen Kritik sollte nicht 'Modul' definiert werden, sondern die Abgrenzung zwischen dem Container (Bibliothek) und den Exemplaren seines Inhalts wurde hinterfragt.
- Ja, Bib ist (lt. Einleitung und gem. allen bekannten Quellen) eine "Sammlung von xxx". Aber Modul ist eben "nicht genau dasselbe", sondern damit oder mit anderen Bezeichnungen (s.o. - was aber hier keine Rolle spielt) werden die Elemente einer Bibliothek bezeichnet. Das sind zwei grundverschiedene 'Begriffe' - wie Verzeichnis und Datei. "Eingeschränkte Vorstufe" erfindet einen neuen Begriff, was hier nicht hilft.
- Der DLL-Begriff bildet eine Ausnahme: Nach deiner Quelle "Wirrwarr" sind wohl auch DLL-Dateien selbst als 'Bibliotheken' angelegt (s. Bsp mscorlib.dll). Warum auch nicht. Deshalb heißen sie wohl auch so. Damit sind sie trotzdem Einzelexemplare im Sinn der Bibliotheksdefinition. Das sollte im Text auch erwähnt werden, was aber nicht heißen darf, dort mehrfach den Sammel- anstelle von Einzelbegriffs zu verwenden; Bib muss Bib bleiben und Member Member, das ist allgemeingültig, alles andere führt zu Unverständnis.
- Ich glaube aber, dass im Text nur wenige Stellen geändert werden müssten. Kann gerne Vorschläge machen.--VÖRBY (Diskussion) 16:31, 18. Jul. 2013 (CEST)
- Auch nach gründlichem Lesen des Artikels mit deiner Kritik im Hinterkopf, kann ich im Artikel keinen Fehler finden.
- Genau genommen ist der Artikel sogar strikter und exakter, als ich es auf's erste schnelle Durchlesen erfasst hatte. Der Artikel fixiert sich tatsächlich darauf, "eine Bibliothek" == "eine Datei" anzusetzen, und lässt Datei-Sammlungen praktisch komplett außenvor.
- Ist deine Kritik nicht abgedeckt mit den beiden Sätzen
- "Ein optimierender Linker sucht aus den zugeordneten Bibliotheksdateien nur jene Komponenten (Unterprogramme oder Daten) heraus, die vom Programm auch tatsächlich aufgerufen (referenziert) werden (und für die es im Programm keine Implementierung gibt), und hängt sie dann an das Programm an. Die so entstehende Datei wird entsprechend größer. Einfache Linker fügen einfach die komplette Bibliothek hinzu und vergrößern das Programm dadurch noch mehr."
- Das ist doch genau die Tätigkeit, nur "einzelne Inhalte" einer Bibliothek zu verwenden, oder?
- Aber vielleicht denken wir mal wieder komplett aneinander vorbei, und du musst tatsächlich ein paar Umfomulierungs-Vorschläge machen, damit ich begreife, was genau du meinst...
- --arilou (Diskussion) 12:00, 19. Jul. 2013 (CEST)
- Diesen zweiten Satz in #Statische Bibliotheken hatte ich noch nicht wahrgenommen. Er ist richtig, steht aber im Widerspruch zum ersten - den ich moniert hatte. Noch unrichtiger stehts bei #Dynamische Bibliotheken (s.o.). Ich schlage vor:
- Für den ersten Absatz bei statisch:
- Eine statische Bibliothek wird nach dem Kompiliervorgang des (Haupt-) Programms durch einen so genannten Linker (von englisch „to link”: verknüpfen) mit dem Kompilat verbunden – er setzt aus dem (Haupt-) Programm und den relevanten Komponenten aus der Bibliothek ein ausführbares (vollständiges) Programm oder auch eine andere ausführbare Komponente zusammen. Der Rest wäre gleich; allerdings halte ich die Formulierung dieses Absatzes für stark verbesserungsfähig.
- Für den ersten Absatz bei Dynamisch:
- Aus dynamischen Bibliotheken werden Komponenten bei ihrem ersten Aufruf durch ein bereits laufendes Programm über einen sogenannten Lader in den Arbeitsspeicher geladen.
- Aus dem zweiten Absatz von Dynamisch: Entfernen 'und Bibliotheken'.
- Das wäre aus meiner Sicht vorerst das, was ich moniert hatte. --VÖRBY (Diskussion) 13:07, 19. Jul. 2013 (CEST)
- Diesen zweiten Satz in #Statische Bibliotheken hatte ich noch nicht wahrgenommen. Er ist richtig, steht aber im Widerspruch zum ersten - den ich moniert hatte. Noch unrichtiger stehts bei #Dynamische Bibliotheken (s.o.). Ich schlage vor:
- Ich habe diese Vorschläge in den Artikel übernommen. --VÖRBY (Diskussion) 13:29, 27. Jul. 2013 (CEST)
- Nja, deine Ansichten sind wohl (teilweise) etwas out-of-date. Es ergibt heutzutage keinen großen Sinn mehr, dynamische Bibliotheken explizit nur in Teilen "zu laden" oder mit dem Programm zu verknüpfen. Weil man sie einfach gar nicht mehr lädt, und einfach komplett verknüpft. Siehe letzter Abschnitt bei "Dynamische Bibliotheken". Es wird dann über den Swapping/Paging-Mechanismus nur das ins Ram geladen, das bei einem tatsächlichen Zugriff zu einem Page-Miss führt. Nicht-benötigtes "bleibt automatisch ungeladen". --arilou (Diskussion) 15:33, 29. Jul. 2013 (CEST)
Lader = OS-Funktion
Bearbeiten(Fortsetzung vom vorherigen Abschnitt)
@Arilou: Die Ergänzungen halte ich i.W. für zweckmäßig - außer zu ‚Lader = OS-Funktion‘: Das muss man HIER nicht extra betonen, denn dass steht so in der Einleitung bei [[Lader [Programmierung)]]. Zumal das schon immer so war. Die Artikeltexte sollten möglichst streng beim Lemma bleiben und nicht bei jeder Link-Gelegenheit in das Nebenthema abschweifen. Ich würde [1] wieder löschen.
Swap-Paging mag ein Grund dafür sein, ganze Bibliotheken (bzw. deren Inhalte) zu laden. Dies gilt aber nicht grundsätzlich und nicht für alle Fälle/Betriebssysteme/Systemumgebungen etc. 'Heutzutage' muss auch nicht unbedingt die einzige Zeit sein, über die Wikipedia berichtet. 'Allgemein bzw. grundsätzlich Gültiges' und 'je nach Situation Mögliches' würde ich mir schon getrennt beschrieben wünschen. Das ist aber ein generelles WP-Problem. --VÖRBY (Diskussion) 18:57, 29. Jul. 2013 (CEST)
- ‚Lader = OS-Funktion‘: nein und nein:
- "Zumal das schon immer so war." - erstes Nein: Zu Beginn waren die "Lader" Komponenten des Programmes selbst, ohne OS-Unterstützung, z.B. bei Turbo-Pascal unter DOS. Und im Artikel konnte eine WP:OmA es durchaus so verstehen, dass es auch heute noch so sei.
- "abschweifen in das Nebenthema": Bei dynamischen Bibliotheken etwas auf deren Lader und das Verknüpfen mit dem Programm einzugehen halte ich noch für nahe am Thema; außerdem sollen Links in den Fließtext eingebaut sein, wobei man etwas auf den jeweiligen Begriff eingeht (eingehen muss).
- "Swap-Paging": Es gilt natürlich "grundsätzlich", nämlich für alle gängigen Betriebssysteme. Systeme, die kein Swapping/Paging besitzen, unterstützen auch wohl nur selten dynamische Bibliotheken - aber da hätten wir dann die Ausnahmen vom "grundsätzlichen".
- "Heutzutage" - die WP soll zunächst mal den aktuellen Stand/Bedeutung der Lemmata abbilden. Natürlich darf es auch Abschnitte geben, wie es früher war. Aber niemals ohne entsprechende Nennung, dass das eine veraltete Gegebenheit ist. Ansonsten wird es zu einer Falschdarstellung.
- Noch nie wurde in einem Pascal-(Anwender-)Programm das Laden selbst programmiert; das Programm hat (wie das auch bei ASS der Fall war) den LOAD-Befehl nur parametrisiert 'aufgerufen', der dann im Detail von Systemroutinen, i.w.S. also vom OS ausgeführt wurde.
- Wieso sollte man in einem System ohne SWAP-Mechanismus keine Programme dynamisch linken/nachladen? Gerade dort war es wichtig, Speicherplatz (für Unterprogramme) nur einmal (für alle) zu belegen.
- Wenn du aber meinst, das mit dem OS sei richtig und auch wichtig, dann lass es drin.--VÖRBY (Diskussion) 19:04, 30. Jul. 2013 (CEST)
entfernte Beispiele, ersetzen
BearbeitenDas Löschen der offensichtlich tatsächlich willkürlich gewählten PB-Beispiele kann man akzeptieren. Ich würde aber vorschlagen, in den Beispielen aufzuzeigen, dass es Bibliotheken in/für bestimmte(n) Zusammenhänge(n) gibt - etwa so:
- Programmbibliotheken und ihre Elemente passen von der Konstruktion her zu den sie aufrufenden Computerprogrammen/-Funktionen. Dementsprechend gibt es Programmbibliotheken zum Beispiel in folgenden Zusammenhängen:
- Bibliotheken mit/für Funktionen des Betriebssystems
- Andere System- und Dienstprogramme; Bsp. ????
- Teilkomponenten von Entwicklungsumgebungen und Programmiersprachen; Bsp ????
- Komponenten von Standardsoftware-Paketen, wie SAP und beliebiger anderer ~Kaufsoftware
- Module von Individualsoftware, die der Anwender in bestimmten Bibliotheken verwaltet
Konkrete Beispiele würden dann hierher gut passen. Natürlich würde hier auch eine Kategorisierung nach Programmcode-Typ passen, wie Quelltext- oder Object- oder Ladebibliotheken. Das steht aber m.W. bereits an einer anderen Stelle und könnte/sollte hier deshalb nur kurz erwähnt werden. Meinungen? --VÖRBY (Diskussion) 11:10, 12. Dez. 2013 (CET)
Ergänzen: Speicherformat u.a.
BearbeitenHallo zusammen, ich hätte noch zwei Ergänzungen:
Vorschlag Speicherungsformate:
BearbeitenIn welcher Form Programmbibliotheken gespeichert werden, ist vom Betriebssystem und der Entwicklungsumgebung abhängig, in der sie benutzt werden. Dazu werden im Wesentlichen folgende Varianten praktiziert:
- Die Bibliothek ist ein Dateiverzeichnis*), ihre Einträge sind einzelne Dateien*). Beispiel:
- Die Bibliothek ist eine Datei*), die einzelnen Einträge werden von einer speziellen Verwaltungssoftware identifiziert und verarbeitet. Beispiel: xxx.DLL bei Microsoft
- Mehrere Bibliotheken werden in einer gemeinsamen Datei verwaltet, die Entwicklungsumgebung kann alle Arten von Komponenten innerhalb einer Datei unterscheiden/verarbeiten. Beispiel: eine xxx.MDB bei MS Access
(*) verwaltet vom üblichen Dateiverwaltungssystem des Betriebssystems
Zweite Anmerkung Nicht nur Unterprogramme:
BearbeitenIn Bibliotheken werden nicht nur Unterprogramme verwaltet. Je nach Betriebssystem können auch 'normale' Programme ('Hauptprogramme') aus Bibliotheken geladen werden. In anderen Systemen sind das z.B. einfach EXE-Dateien, die mit Bibliotheken tatsächlich nichts zu tun haben.
Man sieht, es kann überall anders sein; die Texte eines WP-Artikels sind aber oft vor dem Hintergrund einer bestimmten Situation entstanden.
Bitte kurze Statements und evtl. Ergänzungen/Beispiele, damit das ggf. ergänzt werden kann. Danke. --VÖRBY (Diskussion) 12:52, 19. Dez. 2013 (CET)
- Diese wohl sehr seltene Variante kann durchaus in einem Abschnitt zur Sprache kommen, warum nicht.
- ~ Nicht jeder Container, der mehrere Dateien enthält, ist sofort eine "Programmbibliothek".
- --arilou (Diskussion) 23:47, 23. Dez. 2013 (CET)
- Hallo, das mit den Hauptprogrammen habe ich ja bereits im Abschnitt 'Speicherformate' eingestellt. Wie selten das ist, muss ja hier nicht behandelt werden. Bei den Beispielen könnte man auch noch 'Installationsbibliotheken' erwähnen - in denen alle Komponenten einer Anwendung, oft zusammen mit einem Install-Pgm, ausgeliefert werden. Sicher ließen sich weitere Beispiele finden und ergänzen. Schöne Feiertage! --VÖRBY (Diskussion) 16:35, 24. Dez. 2013 (CET)
Eine weitere Diskussion zu 'Programmbibliothek' wurde mit Arilou geführt. Siehe dort. --VÖRBY (Diskussion) 15:54, 31. Mai 2014 (CEST)