Inhalt
Das Ziel jeder Programmiersprache ist es, einen teuren Briefbeschwerer in ein nützliches Datenverarbeitungs- und Speichergerät zu verwandeln. Die für diese Aufgabe gewählte Sprache muss zwischen Effizienz und Benutzerfreundlichkeit ausgewogen sein. Die Maschinensprache repräsentiert die Enden des Spektrums für beide Faktoren.
Maschinensprache
Die Maschinensprache erzeugt die einzigen Anweisungen, die ein Computer ohne Übersetzer versteht. Computer können Audio und Video abspielen, Daten verarbeiten und speichern, mit dem Internet kommunizieren und andere spezielle Aufgaben ausführen. Sie reagieren auf eine Reihe von Anweisungen, die nur Einsen und Nullen erkennen. Das Schreiben von Hunderten von Codezeilen mit nur Einsen und Nullen ist eine mühsame Aufgabe, die zur Popularität von Hochsprachen wie C und Java beiträgt.
Erste Vorteile
Der erste Personal Computer von IBM war mit 512 KB Arbeitsspeicher und einem 360-KB-Diskettenlaufwerk ausgestattet. Nachdem das Betriebssystem von der Diskette in den Speicher geladen wurde, wurden Programme in den verbleibenden Speicherplatz geladen, so dass ein kleiner RAM-Bereich, normalerweise weniger als 100 KB, für das aktive Programm zur Datenverarbeitung übrig blieb. Während dieser Zeit war es das Hauptanliegen eines Programmierers, präzisen und effizienten Code zu erstellen. Das auf diesen Computern am häufigsten verwendete Programmierwerkzeug war die Maschinensprache, die erheblich kleiner sein kann als eine in BASIC oder C geschriebene Version. Die Assemblersprache war auch etwas einfacher zu verwenden.
Plattformabhängigkeit
Die Maschinensprache zeigt direkt auf die Hardware des Computers und gibt dem Programmierer die vollständige Kontrolle über alle Aspekte der Programmausführung. Der Nachteil dieses Ansatzes besteht darin, dass der Programmierer die Architektur jedes Satzes integrierter Schaltkreise (Chipsätze) kennen muss, um effektiven Code zu schreiben. Wenn eine Komponente wie eine Grafikkarte oder ein Festplattencontroller geändert wird, muss der Code aktualisiert werden, um das neue Gerät zu erkennen und zu verwenden.
Hochsprachen
Die Vorteile der Maschinensprache für Geschwindigkeit und geringe Speichernutzung werden durch die Schwierigkeit aufgewogen, Anweisungen auf Chipebene in Binärcode zu schreiben. Durch die Verfügbarkeit von Gigabyte RAM und Terabyte Speicher ist auf modernen PCs kein präziser und effizienter Code mehr erforderlich. Der zusätzliche Speicher- und Speicherbedarf von Programmen, die in Hochsprachen wie C und Java geschrieben sind, spielt bei der Auswahl einer Entwicklungsplattform keine Rolle mehr. Benutzerfreundlichkeit und Wartung sind bevorzugte Faktoren für Geschwindigkeit und Effizienz in den meisten modernen Softwareprojekten.