Difference between revisions of "Raspberry Pi Programming"

From eLinux.org
Jump to: navigation, search
(Expected to work: Java is working already)
(21 intermediate revisions by 10 users not shown)
Line 20: Line 20:
 
* Scala
 
* Scala
 
* [http://nimrod-code.org/ Nimrod]
 
* [http://nimrod-code.org/ Nimrod]
 +
* [http://freecode.com/projects/tinybc Tiny BASIC for Curses]
  
 
===Tested on RPi===
 
===Tested on RPi===
  
 
* Python <ref>http://ntoll.org/article/baking-with-raspberrypipy</ref>
 
* Python <ref>http://ntoll.org/article/baking-with-raspberrypipy</ref>
 +
* [[Scratch_on_RPi|Scratch]]
 
* Java
 
* Java
 +
** 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 [http://www.oracle.com/technetwork/articles/java/raspberrypi-1704896.html here] for thorough description.
 +
** Other JVMs are compared [http://www.raspberrypi.org/phpBB3/viewtopic.php?f=34&t=15639 here].
 
* PHP
 
* PHP
 
* Groovy
 
* Groovy
 +
* [http://www.freepascal.org Free Pascal Compiler / Object Pascal language]
 +
* [[Lazarus on RPi|Lazarus]], the professional cross-platform IDE for [[Free Pascal]].
 +
* [http://xxicc.org GalaxC programming language and XXICC "Chicken Coop" environment] (works in progress)
  
 
===Expected to work===
 
===Expected to work===
 
* Java
 
 
* Eclipse
 
* Eclipse
 
* Tcl/Tk
 
* Tcl/Tk
* Lazarus
 
 
* (maybe) BoaConstructor
 
* (maybe) BoaConstructor
 
* Anjuta for C/C++
 
* Anjuta for C/C++
Line 51: Line 56:
 
** [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://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 66: Line 70:
 
* [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.
 
* [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://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==
Line 74: Line 81:
 
* wvdial -- Dialer for Land-line, GSM, UMTS modems and other serial devices.
 
* 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.
 
* 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.
* VHDL -- 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.
+
* 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==
 
* [http://wiki.sugarlabs.org/go/What_is_Sugar%3F Sugar Learning Platform: An alternative to the Desktop metaphor of the GUI]
 
* [http://wiki.sugarlabs.org/go/What_is_Sugar%3F Sugar Learning Platform: An alternative to the Desktop metaphor of the GUI]
* [http://futureboy.us/frinkdocs/ 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.
+
* [http://futureboy.us/frinkdocs/ 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.
 
* [http://www.geometricalgebra.net/gaviewer_download.html GAViewer]
 
* [http://www.geometricalgebra.net/gaviewer_download.html GAViewer]
 
* [http://www.geogebra.org/cms/ GeoGebra]
 
* [http://www.geogebra.org/cms/ GeoGebra]

Revision as of 20:38, 10 January 2013

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

  1. http://www.vanhaarlem.eu/assembler
  2. http://ntoll.org/article/baking-with-raspberrypipy
  3. http://ntoll.org/article/baking-with-raspberrypipy