9 Raspberry Pi programming tools bundled with Raspbian

The Raspbian OS has killer programming tools built in!

Raspbian 8.0
Credit: Mark Gibbs
Raspbian 8.0

In my Ultimate Guide to Raspberry Pi Operating Systems (Part 1, Part 2, and Part 3; 58 choices in total!) I listed pretty much every noteworthy OS available for the Raspberry Pi family of single board computers. Of these OSes the 800-pound gorilla has to be Raspbian. Based on Debian, Raspbian 8.0 ("Jessie") on a Raspberry Pi boasts an amazing and rich set of tools, including some of the most widely used programming languages. Let's take a look at what you get out of the box with Raspbian 8.0 …

By the way, if you haven’t checked out my slideshow, 7 ways to make your IoT-connected Raspberry Pi smarter, which is full of Raspberry Pi and Internet of Things goodness, you should.

Comments? Recommendations? Drop me a note at feedback@gibbs.com. Want to know immediately when the next installment of RPi goodness is published? Sign up and you’ll be the first to know.

raspbian 2
Credit: bluej.org
BlueJ, an IDE for Java

BlueJ is a free, simple to use, and arguably revolutionary graphical integrated development environment for Java that's over 15 years old. It has a deliberately smaller and simpler interface than professional environments like NetBeans or Eclipse and was designed for teaching. In interactive BlueJ you can interact with objects, inspect their value, call methods on them, pass them as parameters, and directly invoke Java expressions without compiling. BlueJ not only runs on the Raspberry Pi, it also runs on Windows, Mac OS X, Linux and other platforms that run Java and can also run without installation from a USB stick.

Website: bluej.org

raspbian 3
Credit: geany.org
Geany, an IDE for almost any language

The Geany Programmer's Editor is a small and lightweight Integrated Development Environment that supports coding in a ridiculous number of languages, including C, Java, PHP, HTML, Python, Perl and Pascal, and runs on everything including the Raspberry Pi. "It was developed to provide a small and fast IDE, which has only a few dependencies from other packages. Another goal was to be as independent as possible from a special Desktop Environment like KDE or GNOME - Geany only requires the GTK2 runtime libraries." Geany provides syntax highlighting, code folding, symbol name auto-completion, construct completion and snippets, auto-closing of XML and HTML tags, call tips, symbol lists, and code navigation and includes a build system to compile and execute code as well as simple project management.

Website: geany.org

raspbian 4
Credit: greenfoot.org
Greenfoot, another IDE for Java

Greenfoot is "a full IDE which includes project management, auto-completion, syntax highlighting, and other tools common to most IDEs. It also allows you to publish your work both on and offline. However the interface is designed to be simple and easy to use; built with beginners in mind. Greenfoot is used by thousands of institutions around the world. It provides easy transition into other environments, such as BlueJ and more professional IDEs." (Greenfoot's "About" page).

Website: greenfoot.org

raspbian 5
Credit: raspberrypi.org
Mathematica, serious math on an RPi

“For more than 25 years, Mathematica has defined the state of the art in technical computing—and provided the principal computation environment for millions of innovators, educators, students, and others around the world. / Widely admired for both its technical prowess and elegant ease of use, Mathematica provides a single integrated, continually expanding system that covers the breadth and depth of technical computing—and with Mathematica Online, it is now seamlessly available in the cloud through any web browser, as well as natively on all modern desktop systems" (Mathematica).

Website: Mathematica

raspbian 6
Credit: nodered.org
Node-RED - Wiring for the IoT

Node-RED is a free, open source “tool for wiring together hardware devices, APIs and online services in new and interesting ways,” which is kind of an understatement because the software is amazing and way cool. Developed by IBM Emerging Technologies, Node-RED is in its early days, but its promise is huge, particularly as its pre-installed in the November 2015 Raspbian (Debian) “Jessie” image and also runs on every major operating system as well. I recently reviewed Node-RED and since then I’ve experimented using it for tracking environmental data to analyzing twitter feeds. You’ve got to try this on your RPi.

Website: nodered.org

raspbian 7
Credit: Mark Gibbs
Python, a modern, flexible language for the RPi

“IDLE (Integrated DeveLopment Environment or Integrated Development and Learning Environment) is an integrated development environment for Python, which has been bundled with the default implementation of the language since 1.5.2b1. … IDLE is intended to be a simple IDE and suitable for beginners, especially in an educational environment. To that end, it is cross-platform, and avoids feature clutter … its main features are: Multi-window text editor with syntax highlighting, autocompletion, smart indent … Python shell with syntax highlighting / Integrated debugger with stepping, persistent breakpoints, and call stack visibility" (Wikipedia). Raspbian comes with both Python version 3 and 4 installed.

Website: Raspberry Pi Foundation Python page

raspbian 8
Credit: Mark Gibbs
Scratch, a stepping stone to programming

Developed by MIT, “Scratch is used by students, scholars, teachers, and parents to easily create animations, games, etc. and provide a stepping stone to the more advanced world of computer programming … Scratch allows users to use event-driven programming with multiple active objects called sprites. Sprites can be drawn, as vector or bitmap graphics, from scratch in a simple editor that is part of Scratch, or can be imported from external sources, including webcams." (Wikipedia).

raspbian 9
Credit: Mark Gibbs
Wolfram Language, an insanely rich and powerful language

"The Wolfram Language, which is the programming language of Mathematica and of the Wolfram Programming Cloud, is a general multi-paradigm programming language developed by Wolfram Research. It was designed to be as general as possible and emphasizes symbolic computation, functional programming, and rule-based programming … The language is very large, touching on numerous domains, often specialized. For example, it includes built-in functions for generating and running Turing machines, creating graphics and audio, analyzing 3D models, matrix manipulations, and solving differential equations. It also has a large amount of documentation" (Wikipedia).

Website: Wolfram

raspbian 10
Credit: Mark Gibbs
Sonic Pi

Of all of the programming tools bundled with Raspbian, Sonic Pi is the most domain-specific. Created by Sam Aaron at the University of Cambridge Computer Laboratory, Sonic Pi is a free, open source, live coding music synthesizer released under the MIT License. Better still, it not only runs on the Raspberry Pi as its name suggests, it also runs on Windows, Linux, and OS X. Check out my review.

Website: Sonic Pi Project