Raspberry Pi Programming
Back to the Hub.
Software & Distributions:
Software - an overview.
Distributions - operating systems and development environments for the Raspberry Pi.
Kernel Compilation - advice on compiling a kernel.
Performance - measures of the Raspberry Pi's performance.
Programming - programming languages that might be used on the Raspberry Pi.
Programming languages, IDEs, etc.
Tested on Alpha board
- gas (GNU assembler) 
- Mono (C#)
- Python 
- Ruby 1.9.2 (KidsRuby)
- Tiny BASIC for Curses
Tested on Raspberry Pi
- GalaxC programming language and XXICC "Chicken Coop" environment (works in progress)
- How to set up Java and add access to the hardware
- gcj - for Java code compilation,
- depending on floatness, Oracle JVM may or may not be available. For now, only soft-float JVM is available. See here for thorough description.
- Groovy (requires Java)
- Other JVMs are compared here.
- Free Pascal Compiler / Object Pascal language
- Lazarus, the professional cross-platform IDE for Free Pascal.
- Python 
- Regina Rexx 
Expected to work
- (maybe) BoaConstructor
- Anjuta for C/C++
- BBC BASIC
- Small Basic
- Squeak implementation of Smalltalk
- Other BASIC variants common to Debian, Ubuntu, Fedora, etc. are all likely to work fine, including:
- Regina Rexx
See also: RaspberryPiBoard/EducationalLinks for education-friendly languages.
- Xojo - Create desktop, web and console apps for Pi. Not free and does not run on the Pi itself, but super-easy to use.
- Gambas - possibly a good choice; easy like old Visual Basic
- Android App Inventor
- Star Logo
- PrimerLabs CodeHero
- Lazarus I was working on LaZorOS4Pi a while back to provide a on-device IDE but I'm stuck with only a VGA monitor + chroot. Will pick it back up asap for it is a great combination. (Used: Fedora, Razor-QT desktop and Lazarus-QT+FreePascal. 2nd attempt => Funtoo)
- YAD 'Yet Another Dialog' for fast GUI scripting in Bash.
- EasyBashGui Want to keep it fast and simple than this is your tool. Goes even faster with the code snippets from Komodo Edit + Bash Menu plugin.
- BlueGriffon is a very slick WYSIWYG editor for HTML5.
- fpGUI Toolkit has been tested and fully working on the Raspberry Pi. fpGUI is a custom drawn, full featured, cross-platform GUI toolkit that has been in development since 2006. fpGUI can be use for Desktop or Embedded environments, and is suitable for commercial and open source projects. Implemented 100% in Object Pascal, and producing small executables and very low library dependency (just the standard X11 - no Qt or GTK, etc. required). For a very quick setup of the Free Pascal Compiler & fpGUI Toolkit, download the starter archive (3.5 MB download) from http://www.turbocontrol.com/easyfpgui.htm. Unzip, and you are ready to go! fpGUI includes lots of ready made widgets, a documentation viewer (docview), a Visual GUI Forms Designer (uidesigner), and an IDE (maximus). The IDE is still in the very early stages of development, but any programmer editor could be used with fpGUI too.
- Pi3D hardware accelerated 3D (and 2D) for Python - still being improved but works now
- Adafruit Learning System Raspberry Pi WebIDE - allows programs to be written, compiled, and executed on the Raspberry Pi via a web interface.
- Pridopia Scratch-RaspberryPi GPIO Driver -- helping children / beginner programmers / hardware enthusiasts build up their skills by doing simple tasks with even easier commands / controls.
- Lego Mindstorms
- KTurtle and other Logo/turtle graphics (The I/O board supports motor drive outputs)
Would Be Great If These Worked
- wvdial -- Dialer for Land-line, GSM, UMTS modems and other serial devices.
- VHDL -- VHDL (VHSIC hardware description language) is a hardware description language used in electronic design automation to describe digital and mixed-signal systems such as field-programmable gate arrays and integrated circuits.
- Verilog -- Verilog, standardized as IEEE 1364, is a hardware description language (HDL) used to model electronic systems. It is most commonly used in the design and verification of digital circuits at the register-transfer level of abstraction. icarus verilog (iverilog) is available at http://iverilog.icarus.com/ or apt-get install iverilog
- Sugar Learning Platform: An alternative to the Desktop metaphor of the GUI
- Frink - A language that tracks units of measure through all calculations. If Java works, Frink will work. Frink runs under any version of Java 1.1 or later. Can work without GUI, with AWT GUI, or with Swing GUI, or run on Android if that's what you're using.
See also Category:Education