Aus Raspberry Pi Geek 01/2014

Die richtige Programmiersprache für den RasPi finden (Seite 3)

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.

Abbildung 3: Auf dem RasPi übertrumpft Geany die Eclipse IDE.

Abbildung 3: Auf dem RasPi übertrumpft Geany die Eclipse IDE.

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

  1. Scratch: http://scratch.mit.edu/
  2. Einführung in Scratch GPIO: http://cymplecy.wordpress.com/2013/04/22/scratch-gpio-version-2-introduction-for-beginners/
  3. GPIO-Programmierung mit Scratch: Michael Badger, “Pi-Pong”, RPG 06/2013, S. 74, http://www.raspi-geek.de/29884
  4. Python: http://www.python.org
  5. Idle: http://www.python.org/idle
  6. Alternative Python-Implementation mit JIT-Compiler: http://pypy.org/
  7. Code::Blocks http://www.codeblocks.org
  8. Qt Creator: http://qt-project.org/wiki/Category:Tools::QtCreator
  9. Gambas: http://gambas.sourceforge.net
  10. Gambas und andere Basic-IDEs: Marko Dragicevic, “Einfacher Zugang”, LU 11/2012, S. 20, http://www.linux-community.de/27110
  11. GPIO-Schnittstelle unter Gambas ansprechen: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=34&t=37659
  12. Gambas selbst kompilieren: http://gambasdoc.org/help/howto/svn
  13. Java: http://www.java.com/de/
  14. OpenJDK: http://openjdk.java.net
  15. Mono: http://www.mono-project.com
  16. C#: http://de.wikipedia.org/wiki/C-Sharp
  17. Assembler: http://de.wikipedia.org/wiki/Assemblersprache
  18. Assembler-Kurs der Uni Cambridge: http://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben