C und C++
Große Teile von Linux werden in C entwickelt, zahlreiche Bibliotheken stehen entweder in C oder in dessen objektorientierter Variante C++ zur Verfügung, sodass sich jede Art von Programm verwirklichen lässt – sei es ein Systemdienst oder eine umfangreiche GUI-Anwendung. Da fast alle RasPis mit einer Linux-Distribution laufen, ist es also sinnvoll, zumindest das modernere C++ als Sprache der Wahl in Betracht zu ziehen. In Raspbian und auch fast jeder anderen Distribution ist der Kommandozeilen-Compiler gcc bereits vorinstalliert.
Man sollte jedoch davon absehen, als Entwicklungsumgebung Code::Blocks [7] aus dem PiStore zu installieren: Diese IDE genießt zwar auf Desktop-PCs einen guten Ruf, läuft auf dem RasPi jedoch eher träge. Eine Alternative bietet die via Paketmanager verfügbare IDE Qt Creator [8]: Sie ermöglicht auch auf dem Minicomputer ein angenehmes Arbeiten und bietet neben Standardfunktionen wie einem Syntax-Highlighting auch einen GUI-Designer sowie Funktionen zur Projektverwaltung.
Obwohl es sich bei C++ um eine eher komplexe Hochsprache handelt, verfügt sie noch über genügend Systemnähe, um mit ihr schnelle Programme entwickeln zu können. Gegenüber anderen moderneren Sprachen wie Java weist C++ jedoch nicht nur Vorzüge auf, sondern auch Nachteile: So kann der Programmierer frei auf den Speicher zugreifen und auf diese Weise leicht Abstürze oder Speicherlecks verursachen. Auch ist der Code für Anfänger alles andere als leicht zu lesen.
Möchten Sie gern über quasi unbegrenzte Möglichkeiten verfügen, nah am System programmieren oder mehr über die Interna von Linux lernen, liegen Sie mit C++ prinzipiell richtig. Allerdings gilt es, hierfür ausreichend Zeit zum Erlernen einzuplanen. Darüber hinaus kann es bei einigen Projekten den Entwicklungsaufwand senken, eine der anderen in diesem Artikel beschriebenen Sprachen zu verwenden.
Basic-Dialekt Gambas
Bei Gambas [9] handelt es sich um einen objektorientierten Basic-Dialekt samt eigener IDE [10]. Beides wurde vor Jahren von Microsofts Visual Basic inspiriert, weswegen Gambas diesem sowohl in der Oberfläche als auch der Syntax an vielen Stellen ähnelt. Sie klicken in einer komfortablen IDE beispielsweise eine GUI-Anwendung zusammen und legen dann mithilfe von Code-Schnipseln fest, wie das Programm auf bestimmte Ereignisse (wie etwa Mausklicks) reagieren soll. Beim Erlernen der Sprache helfen Beispielprogramme und ein Projektassistent.
Gambas eignet sich gut, um mit wenig Lernaufwand GUI-Anwendungen für den Raspbian-Desktop zu erstellen, damit man diese beispielsweise anschließend im PiStore veröffentlichen kann. Fans der Programmiersprache haben es mithilfe der Bibliothek WiringPi auch schon geschafft, die GPIO-Pins unter Gambas anzusprechen [11]. Aufgrund der Größe der resultierenden Programme ist das jedoch nur begrenzt sinnvoll. Brauchen Sie ein kleines Steuerprogramm, um die Hardware aus einem Bastelprojekt anzusprechen, sollten Sie lieber zu C oder Python greifen.
Ärgerlicherweise funktioniert die Gambas-Version aus der Raspbian-Paketquelle nicht: Nach dem Starten friert der RasPi bei voller CPU-Last ein. Obwohl das Problem seit über einem Jahr bekannt ist, wurde es bis heute von den Raspbian-Maintainern nicht behoben. Um Gambas trotzdem zu benutzen, müssen Sie es selbst aus den Quellen kompilieren [12]. Dies beschäftigt den RasPi zwar für mehrere Stunden, der Übersetzungsvorgang stellt jedoch selbst Anfänger vor keine allzu großen Hürden.
Vereinzelt findet man in der Pi-Community auch Nutzer, die Raspbian-Images mit einem lauffähig vorkompilierten Gambas zum Download anbieten. Ein solches Abbild müssen Sie dann nur noch auf eine freie SD-Karte schreiben, um mit Gambas loszulegen. Doch die Image-Dateien basieren oft auf uralten Raspbian-Versionen, die insbesondere auf neueren RasPis mit Einschränkungen verbunden sind. Selbst kompilieren ist hier auf jeden Fall die bessere Alternative.
Java
Es dürfte kaum jemanden geben, der noch nie etwas von Java [13] gehört hat. Die objektorientierte Sprache erlaubt das Schreiben sehr sauberen, plattformübergreifend verwendbaren Codes. Aus genau diesem Grund lehren nicht nur Schulen und Universitäten Java gern als erste Programmiersprache, auch in der freien Wirtschaft erfreut sich diese großer Verbreitung.
Bei kleineren Projekten macht es auf dem Raspberry Pi hingegen eher keinen Sinn, Java einzusetzen. Hier muss man wesentlich mehr Code-Overhead tippen als beispielsweise bei einem kleinen Python-Skript. Bei größeren Projekten kann das allerdings schon wieder anders aussehen. Besonders interessant ist Java für diejenigen, die diese Sprache bereits vom Desktop-PC kennen und ihren Code nun auch auf dem Pi ausführen möchten.
Bis vor Kurzem lieferte Raspbian das quelloffene OpenJDK [14] mit. Inzwischen ist jedoch stattdessen das auf dem Pi spürbar schnellere, jedoch unfreie Java von Oracle vorinstalliert. Möchten Sie dessen Geschwindigkeitsvorteile unter älteren Raspian-Versionen nutzen, können Sie auch dort auf das Oracle-Java umsteigen (Listing 1).
Listing 1
$ sudo apt-get update $ sudo apt-get install oracle-java7-jdk
Um jedoch Illusionen vorzubeugen: Java war schon immer ein Ressourcenfresser – wollen Sie schnelle, schlanke GUI-Applikationen für den RasPi, sollten Sie besser C++ einsetzen. Das als Java-Standard-IDE geltende, selbst in Java geschriebene Eclipse ist auf dem Pi schlicht unbenutzbar.






