Quellcode

In der Informatik ist Quellcode jede Sammlung von Computerinstruktionen (vielleicht mit Anmerkungen) das schriftliche Verwenden einer menschlich-lesbaren Computersprache gewöhnlich als Text. Der Quellcode einer Programmiersprache wird besonders entworfen, um die Arbeit von Computerprogrammierern zu erleichtern, die die durch einen Computer größtenteils durchzuführenden Handlungen angeben, indem sie Quellcode schreiben. Der Quellcode wird an einem Punkt automatisch übersetzt, um Code maschinell herzustellen, den der Computer direkt lesen und durchführen kann. Ein Dolmetscher übersetzt, um Code maschinell herzustellen, und führt ihn im Fluge durch, wenn das Programm geführt wird, während ein Bearbeiter das Programm im Voraus zum Maschinencode übersetzt, den er als rechtskräftige Dateien versorgt; diese können dann als ein getrennter Schritt durchgeführt werden.

Die meisten Computeranwendungen werden in einer Form verteilt, die rechtskräftige Dateien, aber nicht ihren Quellcode einschließt. Wenn der Quellcode eingeschlossen würde, würde es für einen Benutzer, Programmierer oder Systemverwalter nützlich sein, der das Programm modifizieren oder verstehen mögen könnte, wie es arbeitet.

Der Quellcode, der ein Programm einsetzt, wird gewöhnlich in einer oder mehr auf einer Festplatte eines Computers versorgten Textdateien gehalten; gewöhnlich werden diese Dateien in einen Verzeichnisbaum sorgfältig eingeordnet, der als ein Quellbaum bekannt ist. Quellcode kann auch in einer Datenbank versorgt werden (wie für versorgte Verfahren üblich ist), oder anderswohin.

Quellcode erscheint auch in Büchern und anderen Medien; häufig in der Form von kleinen Codeschnipseln, aber den gelegentlich ganzen Codebasen; ein wohl bekannter Fall ist der Quellcode von PGP.

Der Begriff des Quellcodes kann auch weit gehender genommen werden, um Maschinencode und Notationen auf grafischen Sprachen einzuschließen, von denen keine in der Natur textlich sind. Ein Beispiel von einem Artikel, der auf der jährlichen IEEE Konferenz für die Quellcodeanalyse und Manipulation präsentiert ist:

Die Codebasis eines Programmierprojektes ist die größere Sammlung des ganzen Quellcodes aller Computerprogramme, die das Projekt zusammensetzen.

Es ist übliche Praxis geworden, um Codebasen in Versionsregelsystemen aufrechtzuerhalten.

Organisation

Der Quellcode für ein besonderes Stück der Software kann in einer einzelnen Datei oder vielen Dateien enthalten werden. Obwohl die Praxis ungewöhnlich ist, kann ein Quellcode eines Programms auf verschiedenen Programmiersprachen geschrieben werden. Zum Beispiel könnte ein Programm geschrieben in erster Linie auf der C Programmiersprache, Teile auf der Zusammenbau-Sprache zu Optimierungszwecken schreiben lassen. Es ist auch für einige Bestandteile eines Stückes der Software möglich, geschrieben und getrennt auf einer willkürlichen Programmiersprache kompiliert, und später in die Software mit einer Technik genannt Bibliotheksverbindung integriert zu werden. Das ist auf einigen Sprachen wie Java der Fall: Jede Klasse wird getrennt in eine Datei kompiliert und vom Dolmetscher an der Durchlaufzeit verbunden.

Und doch ist eine andere Methode, das Hauptprogramm einen Dolmetscher für eine Programmiersprache, entweder entworfen spezifisch für die fragliche Anwendung oder Mehrzweck-zu machen, und dann den Hauptteil der wirklichen Benutzerfunktionalität als Makros oder andere Formen von Zusatzfunktionen auf dieser Sprache, eine Annäherung genommen zum Beispiel vom GNU Emacs Textaufbereiter zu schreiben.

Gemäßigt komplizierte Software verlangt gewöhnlich die Kompilation oder den Zusammenbau von mehreren, manchmal Dutzende oder sogar Hunderte von verschiedenen Quellcodedateien. In diesen Fällen werden Instruktionen für Kompilationen, wie Makefile, mit dem Quellcode eingeschlossen. Diese beschreiben die Beziehungen unter den Quellcodedateien, und enthalten Information darüber, wie sie kompiliert werden sollen.

Das Revisionsregelsystem ist ein anderes Werkzeug, das oft von Entwicklern für die Quellcodewartung verwendet ist.

Zwecke

Quellcode ist in erster Linie als Eingang an den Prozess gewöhnt, der ein rechtskräftiges Programm erzeugt (d. h. es wird kompiliert oder interpretiert). Es wird auch als eine Methode verwendet, Algorithmen zwischen Leuten (z.B, Codeschnipsel in Büchern) mitzuteilen.

Programmierer finden es häufig nützlich, vorhandenen Quellcode nachzuprüfen, um über die Programmierung von Techniken zu erfahren. Das Teilen des Quellcodes zwischen Entwicklern wird oft als ein beitragender Faktor zur Reifung ihrer Programmiersachkenntnisse zitiert. Einige Menschen denken, dass Quelle ein ausdrucksvolles künstlerisches Medium codiert.

Das Halten nach Backbord der Software zu anderen Computerplattformen ist gewöhnlich ohne Quellcode untersagend schwierig. Ohne den Quellcode für ein besonderes Stück der Software ist Beweglichkeit allgemein rechenbetont teuer. Mögliche nach Backbord haltende Optionen schließen binäre Übersetzung und Wetteifer der ursprünglichen Plattform ein.

Decompilation eines rechtskräftigen Programms kann verwendet werden, um Quellcode entweder im Zusammenbau-Code oder auf einer hohen Sprache zu erzeugen.

Programmierer passen oft Quellcode von einem Stück der Software an, um in anderen Projekten, ein als Softwarewiederverwendbarkeit bekanntes Konzept zu verwenden.

Das Genehmigen

Software und sein Begleitquellcode, fallen normalerweise innerhalb von einem von zwei Genehmigen-Paradigmen: kostenlose Software und Eigentumssoftware.

Im Allgemeinen ist Software frei, wenn der Quellcode frei ist, zu verwenden, zu verteilen, zu modifizieren und, und Eigentums-zu studieren, wenn der Quellcode heimlich behalten wird, oder in Privatbesitz und eingeschränkt ist. Bemerken Sie, dass sich "frei" auf die Freiheit, nicht den Preis bezieht. Laut vieler Lizenzen ist es annehmbar, für "die kostenlose Software" zu stürmen. Die erste kostenlose Software lizenziert, veröffentlicht zu werden und ausführlich zuzugeben, dass diese Freiheit die GNU-Lizenz der Breiten Öffentlichkeit 1989 war. Das GNU GPL war ursprünglich beabsichtigt, um mit dem GNU Betriebssystem verwendet zu werden. Das GNU GPL wurde später durch andere Nichtgnu-Softwareprojekte wie der Kern von Linux angenommen.

Für die Eigentumssoftware werden die Bestimmungen der verschiedenen Urheberrechtsgesetze, Handelsgeheimhaltung und Patente verwendet, um den Quellcode geschlossen zu halten. Zusätzlich kommen viele Stücke der Einzelsoftware mit einem Endbenutzer-Lizenzvertrag (EULA), der normalerweise decompilation, Rücktechnik, Analyse, Modifizierung oder das Überlisten des Kopie-Schutzes verbietet. Typen des Quellcodeschutzes - außer der traditionellen Kompilation, um Code einzuwenden - schließen Codeverschlüsselung ein, codieren Verfinsterung oder codieren morphing.

Gesetzliche Probleme in den Vereinigten Staaten

In einem 2003-Gerichtsverfahren in den Vereinigten Staaten wurde darüber geherrscht, dass Quellcode als eine grundgesetzlich geschützte Form der Redefreiheit betrachtet werden sollte. Befürworter der Redefreiheit haben behauptet, dass, weil Quellcode Information Programmierern befördert, auf einer Sprache geschrieben wird und verwendet werden kann, um Humor und andere künstlerische Verfolgungen zu teilen, ist es eine geschützte Form der Kommunikation.

Eines der ersten Gerichtsverfahren bezüglich der Natur des Quellcodes als Redefreiheit hat Universität von Mathematik-Professor von Kalifornien Dan Bernstein eingeschlossen, der im Internet den Quellcode für ein Verschlüsselungsprogramm veröffentlicht hatte, das er geschaffen hat. Zurzeit wurden Verschlüsselungsalgorithmen als Munition von der USA-Regierung klassifiziert; das Exportieren der Verschlüsselung zu anderen Ländern wurde als ein Problem der Staatssicherheit betrachtet, und musste vom Außenministerium genehmigt werden. Das Elektronische Grenzfundament hat die amerikanische Regierung im Interesse von Bernstein verklagt; das Gericht hat entschieden, dass Quellcode Redefreiheit war, die durch den Ersten Zusatzartikel geschützt ist.

Qualität

Auf die Weise wird ein Programm geschrieben kann wichtige Folgen für seinen maintainers haben. Das Codieren der Vereinbarung, die Lesbarkeit und eine sprachspezifische Vereinbarung betont, wird auf die Wartung des Softwarequellcodes gerichtet, der das Beseitigen und Aktualisieren einschließt. Andere Prioritäten, wie die Geschwindigkeit der Ausführung des Programms oder die Fähigkeit, das Programm für vielfache Architekturen zu kompilieren, machen häufig Codelesbarkeit eine weniger wichtige Rücksicht, da Codequalität völlig von seinem Zweck abhängt.

Siehe auch

Außenverbindungen


Seattler Seemänner / Raum
Impressum & Datenschutz