Difference between revisions of "Raspberry Pi Programming"

From eLinux.org
Jump to: navigation, search
(Uncategorised)
(Tested on RPi)
(24 intermediate revisions by 15 users not shown)
Line 7: Line 7:
 
===Tested on Alpha board===
 
===Tested on Alpha board===
  
* Interp
 
* Scala
 
 
* Clojure
 
* Clojure
* OCaml
+
* gas (GNU assembler) <ref>http://www.vanhaarlem.eu/assembler</ref>
 
* gcc
 
* gcc
 
* g++
 
* g++
 +
* Interp
 +
* Mono (C#)
 +
* OCaml
 +
* NodeJS 0.6.18 (Javascript)
 +
* Perl
 
* Python <ref>http://ntoll.org/article/baking-with-raspberrypipy</ref>
 
* Python <ref>http://ntoll.org/article/baking-with-raspberrypipy</ref>
* Perl
 
 
* Ruby 1.9.2 (KidsRuby)
 
* Ruby 1.9.2 (KidsRuby)
 +
* Scala
 +
* [http://nimrod-code.org/ Nimrod]
 +
* [http://freecode.com/projects/tinybc Tiny BASIC for Curses]
 +
 +
===Tested on RPi===
 +
 +
* Python <ref>http://ntoll.org/article/baking-with-raspberrypipy</ref>
 +
* Java
 +
* PHP
 +
* Groovy
 +
* [http://www.freepascal.org Free Pascal Compiler / Object Pascal language]
 +
* [[Lazarus on RPi|Lazarus]], the professional cross-platform IDE for [[Free Pascal]].
  
 
===Expected to work===
 
===Expected to work===
Line 22: Line 36:
 
* Eclipse
 
* Eclipse
 
* Tcl/Tk
 
* Tcl/Tk
* Lazarus
 
 
* (maybe) BoaConstructor
 
* (maybe) BoaConstructor
 
* Anjuta for C/C++
 
* Anjuta for C/C++
Line 39: Line 52:
 
** [http://sdlbasic.sf.net sdlbasic] - BASIC interpreter for game development  
 
** [http://sdlbasic.sf.net sdlbasic] - BASIC interpreter for game development  
 
** [http://www.yabasic.de/ yabasic] - Yet Another BASIC interpreter   
 
** [http://www.yabasic.de/ yabasic] - Yet Another BASIC interpreter   
 
+
* [http://regina-rexx.sourceforge.net/ Regina Rexx]
 +
* [http://xxicc.org GalaxC programming language and XXICC "Chicken Coop" environment] (works in progress)
 
<blockquote>''See also:'' [[RaspberryPiBoard/EducationalLinks]] for education-friendly languages.</blockquote>
 
<blockquote>''See also:'' [[RaspberryPiBoard/EducationalLinks]] for education-friendly languages.</blockquote>
  
Line 50: Line 64:
 
* [http://education.mit.edu/starlogo/ Star Logo]
 
* [http://education.mit.edu/starlogo/ Star Logo]
 
* [http://primerlabs.com/codehero PrimerLabs CodeHero]
 
* [http://primerlabs.com/codehero PrimerLabs CodeHero]
 +
* [http://www.lazarus.freepascal.org Lazarus] I was working on LaZor'''OS4'''Pi 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, [http://razor-qt.org/ Razor-QT desktop] and Lazarus-QT+FreePascal. 2nd attempt => [http://funtoo.org Funtoo])
 +
* [http://code.google.com/p/yad YAD] 'Yet Another Dialog' for fast GUI scripting in BASH.
 +
* [https://sites.google.com/site/easybashgui 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.
 +
* [http://bluegriffon.org BlueGriffon] is a very slick WYSIWYG editor for HTML5.
 +
* [http://fpgui.sourceforge.net fpGUI Toolkit] has been tested and fully working on the RPi. 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.5MB 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.
 +
* [https://github.com/rec/pi3d Pi3D hardware accelerated 3D (and 2D) for python] - still being improved but works now
 +
* [http://learn.adafruit.com/webide/overview Adafruit Learning System Raspberry Pi WebIDE] - allows programs to be written, compiled, and executed on the RPi via a web interface.
  
 
==Robotics==
 
==Robotics==
 
* [http://mindstorms.lego.com/en-us/Default.aspx Lego Mindstorms]
 
* [http://mindstorms.lego.com/en-us/Default.aspx Lego Mindstorms]
 
* [http://edu.kde.org/kturtle/ KTurtle] and other Logo/[http://en.wikipedia.org/wiki/Turtle_graphics turtle graphics] (The IO board supports motor drive outputs)
 
* [http://edu.kde.org/kturtle/ KTurtle] and other Logo/[http://en.wikipedia.org/wiki/Turtle_graphics turtle graphics] (The IO 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.
  
 
==Uncategorised==
 
==Uncategorised==

Revision as of 09:17, 9 December 2012

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

Tested on RPi

Expected to work

See also: RaspberryPiBoard/EducationalLinks for education-friendly languages.

Graphical Programming

  • Gambas - possibly a good choice; easy like old visual basic
  • Scratch
  • Alice
  • Android App Inventor
  • Kodu
  • 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 RPi. 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.5MB 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 RPi via a web interface.

Robotics

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.

Uncategorised

See also Category:Education

References