Was sind die verschiedenen Arten der Computerprogrammierung?
Angesichts der Tatsache, dass die Definition von Computerprogrammierung so umfassend und die Verwendung von Programmen so allgegenwärtig ist, gibt es tatsächlich viele Arten von Computerprogrammierung, die oft sehr unterschiedlich definiert werden. Die grundlegendsten Arten der Computerprogrammierung können von der vom Programmierer verwendeten Programmiersprache wie C, Lisp oder Java® aufgeschlüsselt werden. In anderen Zusammenhängen gibt es möglicherweise nur zwei Arten von Computerprogrammierung - System und Anwendung. Es wird zwischen Netzwerkprogrammierung, webbasierter Programmierung und Desktop-Programmierung unterschieden. Die verschiedenen Arten der Computerprogrammierung können manchmal von der Zielplattform getrennt werden, z. B. eingebettete Systemprogrammierung, Echtzeitsystemprogrammierung (RTS) oder Datenbankprogrammierung.
Die verschiedenen Arten der Computerprogrammierung hängen häufig von der Sprache ab, in der die Software geschrieben wird. Es stehen viele Sprachen zur Verfügung, die jedoch entweder in strukturierte Sprachen wie C oder in objektorientierte Sprachen wie Java® unterteilt sind. Beide Sprachen werden von Fachleuten häufig für verschiedene Aufgaben verwendet. Sprachen können ebenso unerlässlich sein, wie die zuvor erwähnten, oder funktional, wie Lisp, bei denen Programme aus einer Reihe von Funktionen anstelle von Befehlen bestehen. Einige Computerprogramme werden ausschließlich mit Skriptsprachen erstellt. Hierbei handelt es sich um für Menschen lesbare Dokumente, die Vorgänge in einem anderen Rahmen ausführen.
Traditionell wurde zwischen zwei Arten der Computerprogrammierung unterschieden. Die erste ist die Anwendungsprogrammierung und beinhaltet das Schreiben von Programmen, die für einige Funktionen direkt verwendet werden können. Alternativ gibt es die Systemprogrammierung, bei der Programme für die Verwaltung von Hardware oder Frameworks entworfen werden sollen, in denen Anwendungen ausgeführt werden können, z. B. Betriebssysteme.
Mit zunehmender Verbreitung der Technologie für Netzwerke und Fernkommunikation begannen sich bestimmte Arten der Computerprogrammierung von den anderen Bereichen der Computerprogrammierung abzuheben. Die Netzwerkprogrammierung wird aufgrund der erforderlichen Kenntnisse der Netzwerkprotokolle und Hardwareschnittstellen als unterschiedlich angesehen. Das Programmieren von webbasierten Anwendungen oder Servern erfordert spezielle Kenntnisse zu Sicherheitsbeschränkungen, Internetprotokollen und einzigartigen Programmierdesignmustern.
Es gibt auch Arten der Computerprogrammierung, die für ein bestimmtes Gebiet oder eine bestimmte Zielhardware spezifisch sind. Bei der Datenbankprogrammierung werden spezielle Abfragesprachen, Skripts und andere Elemente verwendet, um mit bestimmten Datenbankinfrastrukturen zu interagieren. Zum Programmieren von Spielen gehören Kenntnisse in Bezug auf Grafikhardware, Grafikalgorithmen und manchmal spezielle Optimierungstechniken. Eingebettete Systeme wie Handheld-Geräte oder Konsolen können eindeutige Hardwarespezifikationen und Kenntnisse der Herstellerbibliotheken beinhalten. Eine fortgeschrittenere Echtzeit-Systemprogrammierung kann das Schreiben einer ausfallsicheren Steuerungssoftware für Kernkraftwerke oder militärische Hardware umfassen.