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?
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.
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.
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).
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.
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.
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.
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.
‘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).
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.
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?
We also covered some articles on the blog relating to the Raspberry Pi.
Do you use IDE’s on your Raspberry Pi? If so which ones and what do you use them for?