Grundlagen der Computerprogramme und Softwareentwicklung

Eingeordnet in Informatik

Geschrieben am in mit einer Größe von 5,12 KB

Was sind Computerprogramme?

Computerprogramme (Wikipedia) sind Listen von Anweisungen, die von einem Computer ausgeführt werden. Diese reichen von wenigen Anweisungen für einfache Aufgaben bis hin zu hochkomplexen Listen, die auch Datentabellen umfassen können. Viele Programme enthalten Millionen von Anweisungen, von denen viele wiederholt ausgeführt werden. Ein moderner PC (Wikipedia) konnte bereits im Jahr 2005 rund 3 Milliarden Instruktionen pro Sekunde verarbeiten. Computer verdanken ihre außerordentlichen Fähigkeiten nicht der Ausführung komplexer Einzelbefehle, sondern der Anordnung von Millionen einfacher Anweisungen durch Programmierer (Wikipedia).

Die Rolle der Programmiersprachen

In der Praxis schreiben Menschen Anweisungen normalerweise nicht direkt in Maschinensprache, da dies zeitaufwendig und fehleranfällig ist. Stattdessen beschreiben Programmierer die gewünschten Aktionen in einer Programmiersprache auf „hohem Niveau“ (Wikipedia), die dann automatisch durch spezielle Programme wie Interpreter (Wikipedia) und Compiler (Wikipedia) in Maschinensprache übersetzt wird.

Arten von Programmiersprachen

  • Low-Level-Sprachen: Sprachen wie Assembler (Wikipedia) orientieren sich eng an der Maschinensprache.
  • Hochsprachen: Sprachen wie Prolog (Wikipedia) basieren auf abstrakten Prinzipien, weit entfernt von der tatsächlichen Funktionsweise der Hardware.

Die Wahl der Sprache hängt von der Aufgabe, den Fähigkeiten des Programmierers, der Werkzeugverfügbarkeit und den Kundenanforderungen ab. Beispielsweise wurde für Projekte des US-Militärs oft die Verwendung der Sprache Ada (Wikipedia) vorgeschrieben.

Software und Anwendungen

Computer-Software (Wikipedia) ist eine alternative Bezeichnung für Computerprogramme. Es ist ein integrativer Begriff, der auch Begleitmaterialien umfasst. Ein Videospiel (Wikipedia) besteht beispielsweise nicht nur aus dem Programmcode, sondern auch aus Daten für Bilder, Geräusche und die virtuelle Umgebung. Eine EDV-Anwendung (Wikipedia) ist Software für Endnutzer, oft im Einzelhandel erhältlich. Ein klassisches Beispiel ist die Office-Suite (Wikipedia), eine Sammlung verknüpfter Programme für Büroaufgaben.

Komplexität und Software-Engineering

Viele Computerprogramme sind extrem groß und komplex. Ein typisches Beispiel ist Windows XP, das aus rund 40 Millionen Zeilen Computercode (Wikipedia) in der Sprache C++ (Wikipedia) besteht (Quelle). Das Management dieser Komplexität ist der Schlüssel zum Erfolg solcher Projekte. Programmiertechniken ermöglichen es, Aufgaben in immer kleinere Teilaufgaben zu unterteilen. Dennoch bleibt die Softwareentwicklung oft langsam und fehleranfällig. Die Disziplin des Software-Engineerings (Wikipedia) versucht, diesen Prozess effizienter zu gestalten und die Qualität zu verbessern.

Computationality und Computerlinguistik

Ein Problem oder Modell fällt in den Bereich der Computerlinguistik, wenn es so formalisiert ist, dass es in ein Computerprogramm transformiert werden kann. Computationality ist ein zentrales Forschungsthema in den Geistes-, Sozial- und Psychowissenschaften. Moderne systemische und kognitive Ansätze (Quelle) versuchen, „weiches“ Wissen formal als Rechenaufwand zu spezifizieren.

Verwandte Einträge: