Programmiersprachen haben eine eigene Grammatik und benutzen Symbole oder Worte, um einem Computer Anweisungen zu geben. Weil Computer mit Dualzahlen arbeiten, hatte die erste Generation der Programmiersprachen einen bestimmten Namen, sie wurden Maschinensprachen genannt. Diese Sprachen erforderten noch die Codierung mittels langer dualer Zeichenketten, um eine Subtraktion, Addition oder einen Vergleich durchzuführen. Spätere Verbesserungen erlaubten die oktale, dezimale oder hexadezimale Schreibweise der binären Zeichenketten. Es ist sehr schwierig, Programme fehlerfrei in der Maschinensprache zu schreiben, deshalb wurden symbolische Sprachen geschaffen, die das Programmieren einfacher und schneller zu machen. Die symbolischen, auch Assembler genannten Sprachen der zweiten Generation, entstanden in den früher 50er Jahren. Sie benutzen einfache Eselsbrücken wie A für Addieren oder M für Multiplizie-ren, die dann in die Maschinensprache übersetzt wurden. Eine Erweiterung dieser Sprachen ist der Makroaufruf (wie READ), die vom Assembler in eine Serie von Befehlen umgesetzt wurde. Mitte der 50er Jahre kam die dritte Generation der Programmiersprachen in den Gebrauch. Die so genannten High-Level-Languages waren zum größten Teil von der Hardware unabhängig. Sie wurden als algorithmischen oder prozeduralen Sprachen entworfen, um besondere Probleme zu lösen.
|