GNU Octave is a powerful open source alternative to Matlab. A major obstacle to its adoption is the lack of simple and convenient graphical environment (like RStudio for R). The most famous Octave GUI front-end QtOctave is no longer developed and the new environments like Domain Math IDE and Octclipse still haven’t gained maturity. Developing Octave code in an external editor is not too hard, as many editors (e.g. Geany) support Matlab/Octave syntax highlighting and even code completion. For me, the real problem is the lack of an integrated debugger, which makes diagnosing and fixing bugs pretty hard.

Fortunately, the latest version 3.7 of Octave introduces a new GUI front-end with an integrated debugger. Octave 3.7 has not been officially released, but you can download the code, build and test it locally. In Ubuntu 13.x the following script does the trick:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/bash

sudo apt-get install mercurial
sudo apt-get install libtool
sudo apt-get install libqt4-*
sudo apt-get install libqscintilla-*
sudo apt-get install bison
sudo apt-get install llvm
sudo apt-get build-dep octave

hg clone http://www.octave.org/hg/octave
cd octave
hg update default

./bootstrap
./configure
make

The installation may take a while. Depending on your environment you may also like to install the following packages: Autoconf; Automake; Flex; Gnulib; gperf; Gzip; Perl; Rsync. For most Ubuntu installations, these should be already present.

Then you can start Octave GUI from the newly created folder “octave”:

1
./run-octave

This should open the new Octave GUI. It seems like the major functionalities (syntax highlighting, code completion, debugger, help) are already there :-). Here are some screen-shots:

Overview of Octave GUI.