Tam Hanna Freiberufler

Mit den hier besprochenen Grundlagen sollte der Einstieg in Free Pascal, Object Pascal, Delphi und Modula-2 mit vergleichsweise geringem Aufwand gelingen.

In Universitäten tobt seit jeher ein Krieg um die bessere Ausbildungssprache: Während die einen Java oder gar JavaScript bevorzugen, verlangen aus der Praxis kommende Autodidakten oft nach C. Das von Niklaus Wirth um 1970 als Trainingssprache entwickelte Pascal spielt in diesem Diskurs nur noch eine untergeordnete Rolle.

Im physikalischen und rüstungselektronischen Bereich sieht die Situation anders aus: Wer sich hier ein wenig einarbeitet, kann Vorkenntnisse und mitgebrachtes geistiges Eigentum nutzen. Mindestens ebenso wichtig ist, dass die Sprache viele nachfolgende Programmiersprachen beeinflusst hat – nicht selten freut man sich über Pascal-Vorkenntnisse. Zudem ist die Sprache auch heute noch durchaus relevant, nicht zuletzt dank Delphi und der davon abgeleiteten IDE-Familie.

Kostenloser Franzose

Wer ein Produkt des „offiziellen Anbieters“ nutzen möchten, findet bei Embarcadero, dem Nachfolger von Borland, eine Vielzahl attraktiver IDEs. Wir wollen hier aber auf den von Florian Paul Klämpfl gestarteten Compiler Free Pascal setzen, der seit dem Jahr 1993 immense Fortschritte gemacht hat und aktuell in Version 3 für 32-, 64- und 16-Bit-Architekturen vorliegt [2]. Der auf einer Vielzahl von Architekturen und Betriebssystemen lauffähige Compiler wird für Ubuntu in Form eines Pakets angeboten, das auch eine kleine IDE mitbringt. Auf der unter Ubuntu 14.04 laufenden Workstation des Autors war das Deployment nach Eingabe von sudo apt-get install fp-ide erledigt, für die Programmausführung ist das auf den ersten Blick seltsam anmutende Kommando fp zuständig. Daraufhin erscheint eine textgetriebene IDE, die an den Klassiker Turbo Pascal angelehnt ist (Abb. 1).

hanna_pascal_1

Abb. 1: Ganz wie in alten Tagen …

Zur Erzeugung eines neuen Programms müssen Sie per File | New eine .pas-Datei anlegen. Für unsere ersten Schritte reicht folgender Zehnzeiler, der einige interessante Aspekte der Programmiersprache illustriert:

PROGRAM greeter
VAR
  einwert : INTEGER;
  zweiwert: integer;
end.
BEGIN
  einwert:=22;
  zweiwert:=einwert;
  writeln(zweiwert);
end.

Pascal-Dateien sind grundsätzlich in mehrere Abschnitte unterteilt. Die mit program beginnende Zeile legt den Namen des Programms fest und dient auch zur Deklaration von Ein- und Ausgabeoperationen.

An zweiter Stelle kommt hier ein Block vom Typ var. Er deklariert Variablen, denen in Pascal schon bei der Erzeugung ein später nicht mehr änderbares Datenformat eingeschrieben wird. Der Doppelpunkt dient dabei als Zuweisungsoperator, während die einzelnen Kommandos ganz wie in C mit einem Semikolon abgeschlossen werden. Pascal ist übrigens nicht case-sensitive, die beiden Schreibweisen von Integer sind gleichwertig.

Nach dem als Block-Endmarker dienenden end. folgt der mittels begin eingeleitete Hauptteil des Programms. Neben der auch hier notwendigen Terminierung von Kommandos mittels Semikolon ist auch der Zuweisungsoperator interessant – Variablenwerte wandern per „:=“ an ihre neuen Aufenthaltsorte. Das Gleichheitszeichen ist in Pascal für numerische Vergleiche reserviert, um die in C und anderen Sprachen möglichen Verwechslungen zwischen = und == auszuschließen.

Klicken Sie dann auf Run | Run, um die IDE zur Kompilation des Programms anzuweisen. Im Rahmen des ersten Durchlaufs wird sie Free Pascal zur Eingabe von Speicherort und Dateiname auffordern, um sie danach auf die Konsole abzusetzen. Dort erwartet Sie die Ausgabe von 22 – unser kleiner Variablenschieber funktioniert also ohne jedes Problem.

Achten Sie darauf, dass Free Pascal davon ausgeht, dass der Program-Name und der Dateiname identisch sind. Ist dies nicht der Fall, kommt es bei der Programmausführung zu diversen merkwürdigen Fehlern.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Entwickler Magazin 4.16 - "PICAXE: Mit Spaß und Spiel zum Embedded-Profi"

Alle Infos zum Heft
246341Erste Schritte mit dem Urgestein Pascal
X
- Gib Deinen Standort ein -
- or -