Site iconJava PDF Blog

Top 8 IDEs for Programmers, Coders and Beginners on the Raspberry Pi

At IDR Solutions we spend a lot of our time developing JPedal (our Java PDF Library), JDeli (our Java Image Library) and BuildVu (our PDF to HTML5 Converter). Recently we have been getting involved in the Java and Programming community to try to pass on those coding skills to the next generation of developers. Such as when we were attendees at JavaOne Minecraft sessions.

For me I think the Raspberry Pi is a really good way of getting into programming especially if you are a newbie like me and want to learn about programming and the different programming languages. If you are considering it as a gift for Christmas or birthday, it is well worth the purchase and it is especially good if you want to get your child, niece, nephew or yourself into programming.

So what is the Raspberry Pi?

Raspberry Pi – the coolest thing to own!

It is an extremely small credit-card sized computer that can be plugged into your TV and a standard PC keyboard. It is cheap and uses little power so it is ideal for embedded projects.

A lot of people have been able to utilize the Pi for variety of projects from easy things for children to make too more complex things and for those with more advance skills it can be made to be like a desktop PC doing spreadsheets, word-processing and playing games. It can also play high-definition video.

What are the best IDE’s for the Raspberry Pi?

If you are getting into programming then the first thing to do is to get yourself an IDE (Integrated Development Environment). You need to write code to make your Pi do things and an IDE is a tool to write, test and run code. The Pi supports lots of different languages to write your code so there is a wide choice.

Here are my top eight IDE’s that you can run from a Raspberry Pi.

1. BlueJ IDE

BlueJ is an integrated development environment (IDE) mainly used for programming in the Java language. It was primarily developed for educational purposes and useful for small-scale development. If you are a newbie starting to program or have children that are learning to it is a good place to start as it runs with the help of JDK(Java Development Kit version 3.14) and apart from allowing for development it allows you to execute programs on the Pi.

BlueJ provides full access to any hardware that is attached through an open source Pi4J library from the Java SE language, which includes the new Java 8.

2. Adafruit WebIDE

Adafruit IDE is a web-based IDE which is currently in beta release (please note though as it is in beta at the time of this written article being written it may likely have bugs, and minor issues).

Being a web-based IDE all you need to do is to connect your Raspberry Pi to your local network, and log on to the WebIDE in your web browser to edit Python, Ruby, JavaScript languages and more. Adafruit also allows you to send various commands to your Pi via the terminal found in the browser.

It is also possible for your code to be a version in a local GIT repository and also pushed elsewhere so you can access it whilst on the go.

3. Thonny IDE

The Thonny IDE is an all in one development environment for beginners at python that supports Syntax highlighting, break points and debugger, execution modes, real-time explorer, auto completion, and syntax error management. It also has a beginner friendly system shell, and an easy and clean pip GUI.

It is a good IDE to learn programming with as you can find an online forum linked on their website and is targeted at teachers who want to teach programming or those who want to teach their own kids.

4.Ninja-IDE

NINJA-IDE (often referred to as “Not Just Another IDE“), is a cross-platform IDE designed to build Python applications. It is a fairly light weight IDE and comes with Common functions such as: file handling, find in files code locator, go to line, tabs, automatic indentation, editor zoom, etc.

There is also Syntax highlighting for a wide variety of languages, Static and PEP 8 error highlighting, code migration embedded console, project management modules, code auto completion, session handling, code location and an extensive plugin system.

Initially Ninja-IDE was designed for Linux, Windows and Mac OSX but Craig Richardson has documented how to install the Ninja IDE development environment on the Raspberry Pi. You can learn more about how to do this here.

5. Lazarus IDE

Lazarus IDE is a free cross-platform IDE for rapid application development using the Free Pascal compiler, which supports dialects of Object Pascal, to varying degrees. It can be used to create a native-code console and graphical user interface (GUI) applications for the desktop, and also for mobile devices, web applications, web services, visual components and function libraries.

6.Code Blocks IDE

Code Blocks IDE‘ is a free C, C++ and Fortran IDE and is very configurable. Code Blocks comes with Syntax highlighting,Code folding for C, C++, Fortran, XML and more files, tabbed interface, code completion, class browser, smart indentation,  external customizable tools from plugin framework support for list management for different users and compiling and debugging functionality can be added by plugin.

Code Blocks is Open Sourced (GPLv3), runs on Linux, Mac, Windows and is written in C++ (no Proprietary Libs needed).

7. Greenfoot IDE

Greenfoot is an IDE designed primarily for programming in Java and is used mainly for educational purposes at the secondary/high school, colleges and undergraduate levels and It is primarily designed to allow for easy development of two-dimensional graphical applications. It is built with beginners in mind so is a good place to start if your new to programming.

Greenfoot includes project management, auto-completion, syntax highlighting, and other tools found in IDEs. It supports offline and online publication of your code.

Originally Greenfoot was not meant to be run on the Raspberry Pi however David Briddock has documented how to install the Greenfoot development environment on the Raspberry Pi. You can learn more about how to do this here.

8. Geany IDE

Geany is a small and lightweight IDE and developed to provide a small and fast IDE.

There are few dependencies on other packages  since it was designed to be independent from special desktop environment and Geany only requires the GTK2 runtime libraries.

Geany comes with extensive features which include Syntax highlighting,code folding, symbol name auto-completion, completion and snippets, call tips, code navigation, simple project management and supported filetypes including C, Java, PHP, HTML, Python, Perl, Pascal and more. There is also a plugin interface for extending the IDE.

Geany is designed to run Linux, FreeBSD, NetBSD, OpenBSD, MacOS X, AIX v5.3, Solaris Express and Windows. Essentially any platform with support for GTK libraries, although the Raspberry Pi is not listed on this list an individual called David Briddock has documented how to install the Greenfoot development environment on the Raspberry Pi.

You can learn more about how to do this here.

Hopefully you have found this guide useful, If you’re looking for some good projects to do on the Raspberry Pi why not check out some of the articles which I previously wrote?

The 8 Cool Raspberry Pi Operating Systems/Projects for Beginners
6 Cool things to do with a Raspberry Pi over Christmas

We also covered some articles on the blog relating to the Raspberry Pi.

Remotely deploy projects to the Raspberry Pi using NetBeans IDE
Other Raspberry Pi articles

Do you use IDE’s on your Raspberry Pi? If so which ones and what do you use them for?