Bild von Gerd Altmann auf Pixabay

Programmiersprachen

von

Dank des Schockwellenreiters habe ich mal wieder Lust bekommen ein wenig meine Programmierkenntnisse aufzufrischen. Und zwar mit Pascal. 

Angefangen habe ich ja wie die meisten meines Jahrgangs: Mit Basic auf dem 64er. Davor hatte ich bereits einen „Laser 210“ von Sanyo, den ich auch mit Basic programmiert habe. In der Schule kamen erst Logo dann Turbopascal. Pascal hatte mich damals nicht so angesprochen. In der Höheren Handelsschule allerdings wurde ich mit Turbopascal erst richtig warm. Danach habe ich ein wenig mit der (damals) aktuellen Turbopascal Version 5.5 herumgespielt und dann kam Visual Basic. Endlich konnte man grafische Benutzeroberflächen so einfach zusammenklicken wie ein Bild in Coreldraw. Und dank Basic auch schnell zum Leben erwecken.  

Dann kam auch Delphi 1.0 mit der Programmiersprache Object Pascal. Nachdem Borland von Embarcadero (Wer denkt sich solche Namen aus?) gekauft wurde, wurde Delphi eins: Teuer. Die aktuelle kommerzielle Version kostet schlappe 1700 EUR für ein Jahr. Leider sieht es bei Visual Studio mau aus: Visual Basic gibt es nicht mehr. 

Meine persönliche Entwicklung ging über C/C++, ein wenig Java, Objective-C auf dem Mac mit Cocoa, Qt und C++ über Swift und Python.  

Und nun bin ich wieder über Pascal gestolpert in der Open-Source-Version: Free Pascal und Lazarus. 

Free Pascal ist ein Pascal-Compiler und kommt mit den meisten Bibliotheken, die auch Turbopascal mitbrachte. Lazarus ist ein RAD (Rapid Development)-Tool das sich an Delphi orientiert. 

Der Vorteil von Pascal ist, das es eine sehr verständliche Sprache ist, einfach zu lesen. Kein Wunder: Pascal war sehr lange Lehr- und Lernsprache an den meisten Unis und Schulen. Viele Konzepte von Pascal ermöglichen eine kurze Lernzeit und dadurch, das es relativ strikte Syntax-Regeln gibt und man vor allem keine Zeiger benötigt (Inzwischen hat Pascal Zeiger, doch es gibt nur wenige Anwendungszwecke dafür), macht es sehr leicht, wieder hineinzukommen. Mal schauen was ich damit mache.

Wie bei Delphi und Visual Basic ist der erste Schritt, die grafische Benutzeroberfläche zu entwerfen. Dann füllt man die Events der einzelnen Benutzeroberflächenelemente mit Code, kann aus Lazarus direkt debuggen und dann am Ende auch als fertiges Programm ausgeben. Den Quellcode kann man auch einfach nehmen und auf anderen Systemen neu kompilieren. Der Free Pascal-Compiler unterstützt neben den üblichen dreien, Linux, Mac OS und Windows auch Exoten wie Haiku oder FreeDOS. Lazarus gibt es derzeit nur für die drei Systeme Linux, Mac OS und Windows. Dank Open Source ist es aber auch möglich die Entwicklungsumgebung auf andere System zu portieren. Das sollte recht einfach gehen, da Lazarus vollständig in Free Pascal programmiert ist. 

Die Vorteile von Lazarus (und natürlich Free Pascal) sind: Einfache Syntax der Sprache, einfache Datenbankverbindung (Delphi wurde sehr häufig benutzt um Datenbankanwendungen zu schreiben), einfache Portierung des Quellcodes auf andere Systeme, eine große Auswahl an Komponenten (Controls wie Buttons oder nicht sichtbare Komponenten wie eine SQL-Verbindung) sowie eine große Auswahl an Tutorials und Beispiele für fast alle Bereiche im Web für fast alle Anwendungen. Durch die Nähe zu Delphi kann man sogar einige Delphi Tutorials mitmachen.

Natürlich ist da, wo Licht ist, auch Schatten: Die erstellte Software verhält sich auf dem Mac wie ein Fremdkörper, nicht so schlimm wie beispielsweise Java, aber man kann durchaus sehen, wenn man eine Lazarus-Software benutzt. Allerdings gerade bei Geschäftssoftware wie Datenbanken oder wissenschaftliche Software kommt es weniger auf die Benutzeroberfläche an, sondern beispielsweise, das die Software auf allen benutzten Systemen läuft und am Ende das gleiche Ergebnis liefert. Gleiches gilt zum Beispiel für Spiele, die haben meist auch eine eigene GUI. Das Lazarus Wiki hat aber zahlreiche Tutorials, wie Software auf dem Mac besser aussieht und sich besser integriert. Der andere große Nachteil gegenüber Proprietärer Software wie Delphi ist, das die Installation doch etwas tricky ist, aber mit  googeln und der guten Dokumentation ging es auf Mojave und Catalina. Unter Windows ist die Installation einfach: Installer herunterladen und installieren. Fertig. Unter einem aktuellen Linux geht es ähnlich wie bei MacOS: Drei Pakete herunterladen mit dem Paketmanager in der Reihenfolge: FPC, FPC-Sources und dann Lazarus installieren, danach sollte es funktionieren. Bei einem aktuellen Linux Mint funktioniert das ohne Probleme. Es gibt aber einige Distributionen die sich dessen annehmen. 

Inzwischen gibt es auch Möglichkeiten auf IOS und Android zu portieren. Das habe ich aber noch nicht ausprobiert.

Fazit: Ein System zum Lernen, wenn man die Installationsprobleme beiseite läßt. Wenn es erst man läuft, kann man fast alles machen, was auch in Xcode möglich ist, aber mit extrem weniger Aufwand, einer einfach zu lernenden Sprache und einer direkten Verbindung zu den meisten Open Source Datenbanken.