Quellcode
Quellcode ist ein Programmcode einer Anwendung als editierbare Datei. Der Quellcode ist ein wichtiges und vor allem wertvolles Geheimnis des Urhebers. Dieser beinhaltet sowohl die Gesetzmässigkeiten des Programms einschließlich dem Algorithmus als auch die schöpferische Befehlsanordnungsschritte. Der Quellcode ist der Kern einer jeden Anwendung. So ist der Quellcode ein wesentlicher Bestandteil, um die Software bei Bedarf erweitern und updaten zu können, aber auch zu Fehlerbeseitigung oder Wartungsarbeiten innerhalb der Anwendung ist der Quellcode ein unverzichtbares Werkzeug.
Der Quellcode ist meist eine schöpferische Leistung, die auf eine jahrelange Forschungsarbeit zurückgeht. Folglich wird der Quellcode als wohlbehütetes Geheimnis nicht an den Erwerber der Software weitergegeben, da jeder, der Einsicht in den Quellcode hat, in die Geheimnisse der Forschungsarbeiten eingeweiht werden und von dieser profitieren kann. Doch an dieser Stelle sei erwähnt, dass nicht jeder Programmierer darauf bestrebt ist seinen Quellcode geheim zu halten. Es gibt eine Reihe von Anwendungen - diese werden Open-Source-Anwendungen genannt - dessen Quellcode freizugänglich jedem zur Verfügung steht.
Damit aus dem Quellcode eine ausführbare Datei oder Anwendung wird, bedarf es Interpreter oder Compiler, welche den Quellcode in eine für den Computer verständliche Maschinensprache übersetzen. Interpreter sind dabei Übersetzungsprogramme, die nur jeweils eine einzelne Befehlszeile des geschriebenen Programms übersetzen und anschließend ausführen. Als Beispiel sei hier die für dynamische Web-Seiten verwendete Programmiersprache JavaScript zu erwähnen. Diese benutzt einen Interpreter zur Übersetzung. Der Compiler übersetzt den gesamten Quellcode eines Programms in ein ausführbares Zielprogramm. Der Nachteil des Compilers ist, dass erst, wenn der Quellcode fehlerfrei in eine ausführbare Datei übersetzt wurde, das Programm im nächsten Schritt ausgeführt werden kann. Also sind mehrere Schritte, anders als beim Interpreter, zur Ausführung eines Programms erforderlich.
Der Quellcode kann in unterschiedlichsten Sprachen, wie Java, C, C++, PHP oder Prolog geschrieben werden. Dabei unterscheidet man zwischen objektorientierten und objektlosen Sprachen. In objektorientierten Sprachen, wie beispielsweise C++ oder Java wird der Wert der Variable durch einen Datentyp, wie etwa int oder float, die sich durch ihren Wertebereich differenzieren, festgelegt. Das einzelne Zeichen kann hier durch den Datentyp char und Zeichenketten durch den Datentyp String gespeichert werden.
Bei den objektlosen Sprachen, wie JavaScript oder Prolog kann die Typisierung anhand des Zeitpunktes stattfinden. Erfolgt beispielsweise die Typüberprüfung bei der Compelierung des Quellcode statt, so spricht man von statischer Typisierung. Findet diese jedoch zur Laufzeit des Programms statt, so ist hier von der dynamischen Typisierung die Rede.