Variablen

Variablen sind Platzhalter, wie man dies aus der Mathematik kennt. Dort werden Funktionen definiert, in denen nicht bekannte Werte durch eben genau solche Platzhalter ersetzt werden. Beispiele sind dort unter anderem x, y, z usw. Auch der jedem bekannte Satz des Pytagoras (a2+b2 = c2) greift auf Variablen zurück. Ähnlich können diese auch bei Computerprogrammen verwendet werden. Wir zeigen, wie das geht. Im heutigen Artikel, aus der Serie Einblicke in die Software Entwicklung, widmen wir uns den Variablen.

Variablen in der Software Entwicklung

In der Welt der Software sind Variablen ein wenig komplexer als in der Mathematik. Wird in einem Computer in einer Variablen ein Wert gespeichert, wird der im Arbeitsspeicher abgelegt. Es muss also Speicher dafür reserviert werden. Das übernimmt in manchen Sprachen wie C/C++ der Entwickler, andere Sprachen kümmern sich selbst um Speicherverwaltung. Außerdem kennt die Mathematik keine Zeichenketten, die in Variablen hinterlegt werden können.

Zwischenspeichern von Werten

Variablen sind grundlegend als flüchtige Speicher. Der Inhalt, der in einer Variablen gespeichert wurde, ist nach dem Programmende weg. Der Speicherbereich wird freigegeben und erneut verwendet. Wenn wichtige Daten dauerhaft gespeichert werden müssen, zum Beispiel eine Benutzereingabe in einer Software, dann muss dies über separate Programmlogik geschehen. Auch beim Programmstart kann immer ein Wert in eine Variable geschrieben werden. Dieser existiert jedoch nur im Speicher, bis das Programm wieder beendet wird.

Vorstellen kann man sich den Speicher, zumindest als gedankliches Modell, als einen Schrank oder eine Kommodo mit vielen Schubladen. Jede Schublade ist quasi eine Variable, in der ein Wert abgelegt wird. Man kann jederzeit wieder auf die Werte zugreifen, kann auch neue Werte hineinlegen oder kann die Schublade wieder vollständig freigeben. Der Namen der Variable ist quasi ein Alias für die Adresse des Speicherbereichs. Im Beispiel vom Schrank könnte das »dritte Schubladen von oben« sein, beim Computer ist es dann doch ein wenig komplizierter.

Datentypen von Variablen

Werte, die in Variablen hinterlegt werden, haben einen sogenannten Datentyp. Damit der Wert in einer Variable gespeichert werden kann, muss der Datentyp kompatibel sein. Das wird von Sprache zu Sprache unterschiedlich gehandhabt. Es gibt Sprachen, in denen ist der Entwickler verantwortlich bereits bei der Entwicklung auf korrekte Datentypen zu achten. Dies nennt man statische Typisierung. Ein Beispiel ist die Sprache C. Die andere Variante ist das Gegenteil. Der Entwickler verwendet nur die Variablen. Um den Typ kümmert sich die Programmiersprache intern. In den meisten Fällen kann sich der Typ sogar im Programmablauf ändern.

Dynamische Typisierung

Es gibt mittlerweile viele Sprachen mit sogenannter »dynamischer Typisierung«. Vornehmlich Skriptsprachen wie PHP, Python oder Javascript fallen in diese Kategorie. Variablen haben einen Datentyp. Dieser kann sich doch auch im Programmverlauf ändern. Zu Beginn wird bspw. ein Integerwert gespeichert. Anschließend wird ein boolscher Wert hinterlegt und dann ein Objekt. Um den Typ kümmert sich der Interpreter. Der Programmierer muss nicht angeben, um welchen Datentyp es sich handelt. Das wird indirekt über den zugewiesenen Wert festgelegt.

Ein Beispiel auf Basis von Javascript:

Man sieht im Beispiel, dass unterschiedliche Arten von Werten zugewiesen werden, ohne speziell etwas beachten zu müssen.

Statische Typisierung

Die Arbeit mit statische Typisierung klingt aufwendiger. Ist es grundlegend auch. Entwickler müssen genau wissen, welchen Datentyp eine Variable haben soll. Bereits im Quelltext wird festgelegt, welcher das ist. Treten Fehler auf dabei auf, werden diese schon bevor das Programm übersetzt wurde abgefangen. Wird bspw. versucht in einer Variable vom Typ Integer (Ganzzahl) eine Fließkommazahl zu speichern, wird ein Fehler oder mindestens Warnhinweis ausgegeben. Das ist ein großer Vorteil, da solche Fehler zur Laufzeit mitunter schwer zu entdecken sind.

Hier ein Beispiel für statische Typisierung auf Basis von Java:

Hier ist klar erkennbar, dass die Variablen einen eindeutigen Typ erhalten haben. Der wird bei der Deklaration der Variable festgelegt.

Fazit

Variablen sind in fast jeder Programmiersprache präsent und sehr wichtig. Sie ermöglichen überhaupt erst die dynamischen und komplexen Programme zu erstellen. Wie spätere Artikel zeigen werden, sind nahezu immer an irgendeiner Stelle Variablen im Spiel. Ansonsten müsste für jede Berechnung auch eine Software mit statischen Werten erzeugt werden. Im nächsten Artikel der Serie schauen wir uns dann die Datentypen noch einmal genauer an.

Kommentare (3)

Leave a Comment to Programmieren Lernen › Serie: Einblicke in die Software Entwicklung Cancel reply

Your email address will not be published.