Möchten Sie also Java-Programme direkt auf dem Minirechner schreiben, greifen Sie besser auf einen schlanken Editor wie Geany (Abbildung 3) aus der Raspbian-Paketquelle zurück. Die IDE bietet neben Features wie Code-Folding und dem direkten Anspringen von Funktionen via Seitenleiste auch Syntax-Highlighting für Java-Programme.
Mono
Mono [15] umfasst einen unter Linux lauffähigen Compiler sowie eine Laufzeitumgebung für die (ursprünglich von Microsoft aus der Taufe gehobene) .NET-Plattform. Dies eröffnet die Möglichkeit, den Raspberry Pi in C# [16] zu programmieren. Diese sehr sauber entworfene Sprache hat mittlerweile auch in der Wirtschaft signifikante Verbreitung gefunden, insbesondere im Windows-Umfeld.
Während das Mono-Paket für Arch Linux den Erwartungen entsprechend funktioniert, treten bei der Variante für Raspbian diverse Probleme auf, weswegen man dort Mono lieber selbst kompilieren sollte. Darüber hinaus steht für die Hardfloat-Distributionen nur Mono 2 zur Verfügung, jedoch nicht das aktuelle Mono 3.
Allerdings hat Mono seinen Ursprung eindeutig in der Windows-Welt und wirkt unter Linux stets wie ein Fremdkörper. Die Windows Presentation Foundation des .NET-Standards unterstützt Mono erst gar nicht. Darüber hinaus sind Mono-Nutzer mit Xamarin von einem einzelnen kommerziellen Unternehmen abhängig. Falls Sie C# beherrschen, sollten Sie daher prüfen, ob nicht ein Umstieg auf Java infrage kommt: Dieses weist recht starke konzeptionelle Ähnlichkeiten zu C# auf, sodass sich der Umstiegsaufwand in Grenzen hält.
ARM-Assembler
Assembler [17] war bis vor rund 25 Jahren eine recht gefragte Sprache. Damals verfügten Computer nur über einen Bruchteil der Rechenkapazität, die heute selbst der winzige Raspberry Pi mitbringt. Dementsprechend musste man sehr ressourcenschonend programmieren.
Das gelang am einfachsten, indem man auf Hochsprachen verzichtete und stattdessen mittels Assembler seinen Code sehr nahe an der CPU verfasste. Möchten Sie sich mit Assembler beschäftigen, verfassen Sie ihre Programme in einem beliebigen Texteditor und übersetzen sie anschließend auf der Kommandozeile mittels des GNU-Assemblers as in die entsprechenden Maschinen-Opcodes.
Aus heutiger Sicht besteht auf dem RasPi eigentlich keine Notwendigkeit, noch auf Assembler zurückzugreifen, zumal sich damit schon mittelgroße Projekte nur noch umständlich und mit viel Zeitaufwand umsetzen lassen. Dennoch erlebt die maschinennahe Sprache in einem Teil der Pi-Community eine Renaissance, da man notgedrungen viel über Aufbau und Funktionsweise von ARM-CPUs lernt, wenn man sie verwendet.
Manche britischen Hochschulen bieten sogar Assembler-Kurse auf dem RasPi an. So offeriert die Universität von Cambridge online ein einsteigerfreundliches Assembler-Tutorial für ARM-CPUs [18]. Dabei entwickeln Sie ein eigenes, wenn auch extrem simples Betriebssystem für den Raspberry Pi. Der Kurstext ist für jedermann einsehbar und darf via CC-BY-SA-Lizenz weitergegeben werden.
Fazit
Getreu seines ursprünglichen Ansatzes als didaktisches Computersystem unterstützen der Raspberry Pi und die dafür verfügbaren Distributionen eine reiche Vielfalt von Programmiersprachen und Entwicklungsumgebungen. In diesem Potpourri findet sich letztlich für jede Vorbildung, Kenntnisstufe, persönliche Vorliebe und angepeilte Anwendung eine geeignete Sprache. Bleibt die Qual der Wahl – da hilft oft nur Ausprobieren weiter
Infos
- Scratch: http://scratch.mit.edu/
- Einführung in Scratch GPIO: http://cymplecy.wordpress.com/2013/04/22/scratch-gpio-version-2-introduction-for-beginners/
- GPIO-Programmierung mit Scratch: Michael Badger, “Pi-Pong”, RPG 06/2013, S. 74, http://www.raspi-geek.de/29884
- Python: http://www.python.org
- Idle: http://www.python.org/idle
- Alternative Python-Implementation mit JIT-Compiler: http://pypy.org/
- Code::Blocks http://www.codeblocks.org
- Qt Creator: http://qt-project.org/wiki/Category:Tools::QtCreator
- Gambas: http://gambas.sourceforge.net
- Gambas und andere Basic-IDEs: Marko Dragicevic, “Einfacher Zugang”, LU 11/2012, S. 20, http://www.linux-community.de/27110
- GPIO-Schnittstelle unter Gambas ansprechen: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=34&t=37659
- Gambas selbst kompilieren: http://gambasdoc.org/help/howto/svn
- Java: http://www.java.com/de/
- OpenJDK: http://openjdk.java.net
- Mono: http://www.mono-project.com
- C#: http://de.wikipedia.org/wiki/C-Sharp
- Assembler: http://de.wikipedia.org/wiki/Assemblersprache
- Assembler-Kurs der Uni Cambridge: http://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/






