# Computersprache

Computersprachen sind formale Sprachen, die zur Interaktion zwischen Menschen und Computern entwickelt wurden.

## Geschichte

Zu Beginn der digitalen Revolution dienten die Computersprachen im Wesentlichen der Programmierung der zentralen Prozessoren. Im Laufe der technischen Entwicklung wurden für komplexere Aufgaben immer höher organisierte, das heißt immer weiter von den Maschinen- und den Programmiersprachen entfernte Computersprachen entwickelt. Diese Sprachen werden weder unmittelbar von den Prozessoren verstanden, noch können sie durch Interpreter oder Compiler direkt in Maschinensprache übersetzt werden, sondern als weitere Stufen sind umfangreiche Betriebssysteme und Softwarepakete dazwischengeschaltet.
Mit der Entwicklung des Internets wurden besonders seit den 1990er Jahren viele Web-basierte Computersprachen entwickelt, die weitgehend unabhängig von den einzelnen Rechnersystemen sind. Zu diesen Sprachen zählen z. B. Browser-fähige Auszeichnungssprachen und Sprachen zur Gestaltung von Websites.

## Programmiersprachen

Der für einen Prozessor unmittelbar lesbare und ausführbare Code heißt Maschinensprache. Jeder Prozessortyp hat seine eigene Maschinensprache, also ein System von direkt ausführbaren Maschinenbefehlen, deren Verarbeitung durch die elektronische Schaltung des Prozessors festgelegt ist.
Da die Befehle der Maschinensprachen in der Regel für den Menschen nur schwer lesbar sind und nur kleinste Verarbeitungsschritte ermöglichen, wurden bald nach der Entwicklung der ersten Prozessoren menschenlesbare Programmiersprachen entwickelt. Die erste dieser Sprachen war in den 1940er Jahren der Plankalkül von Konrad Zuse, der allerdings nie praktisch eingesetzt wurde. Als erste jemals tatsächlich realisierte, höhere Programmiersprache gilt Fortran (1953).
Höhere Computersprachen werden meist in Zeichen und Wörtern notiert, die der menschlichen Sprache entlehnt sind, und haben wie diese eine festgelegte Syntax und Grammatik. Computerprozessoren können diese Sprachen nicht unmittelbar lesen und verarbeiten, aber zu jeder höheren Computersprache gehören Programme, die sie in die Maschinensprache des jeweiligen Rechners übersetzen. Es kann entweder das gesamte Programm vorab in Maschinensprache übersetzt und gespeichert werden (durch sogenannte Assembler und Compiler), oder den Anweisungen entsprechende Maschinencode-Routinen werden in Echtzeit durch sogenannte Interpreter ausgeführt.

## Datenbanksprachen

Mit Hilfe von Datenbanksprachen können Benutzer oder externe Computerprogramme mit Datenbanksystemen kommunizieren. Die bekannteste Abfragesprache ist SQL.

## Beschreibungssprachen

Bekannte Sprachen zur Auszeichnung und Formatierung von Texten sind HTML, CSS und LaTeX. PostScript kann Texte und Vektorgrafiken beschreiben und ist auch eine Seitenbeschreibungssprache. Für Vektorgrafiken ist auch SVG verbreitet. Auszeichnungssprachen für Daten sind z. B. JSON und YAML. XML ist eine „Metasprache“ bzw. ein Regelwerk für Auszeichnungssprachen, auf dessen Grundlage
* für Textdokumente sowohl rein deskriptive Sprachen wie TEI und DocBook als auch die Stylesheet-Sprache XSL
* die Datenbankabfragesprache XQuery
* eben auch die Vektorgrafiksprache SVG
* Sprachen zur Beschreibung grafischer Benutzeroberflächen wie XUL und XAML
* Datenformate
u. a. geschaffen wurden.
Computersprachen, die für das Internet entwickelt werden, z. B. für das World Wide Web, und daher nicht spezifisch auf bestimmte Rechner zugeschnitten sind, unterliegen in ihrer Entwicklung einer Vielzahl von Vorstellungen und Interessen verschiedener Anwender, Browser- und Gerätehersteller und internationaler Organisationen. Die Abstimmung dieser Interessen verläuft oft kontrovers und kann sich über viele Jahre hinziehen. So hat es nach der letzten Empfehlung (Recommendation) für HTML im Jahr 1999 (HTML 4.01) 15 Jahre gedauert, bis der neue Standard HTML5 im Oktober 2014 auf die Stufe einer Empfehlung des World Wide Web Consortiums gebracht wurde.