
GNU Octave 4.0 released with a new GUI - jordigh
http://www.gnu.org/software/octave/NEWS-4.0.html
======
jordigh
Source downloads:

[https://ftp.gnu.org/gnu/octave/](https://ftp.gnu.org/gnu/octave/)

Windows binaries, with source code:

[https://ftp.gnu.org/gnu/octave/windows/](https://ftp.gnu.org/gnu/octave/windows/)

Earlier screenshot of the GUI, but very similar to the current version:

[http://www.walkingrandomly.com/images/octave/octave_GUI_38.p...](http://www.walkingrandomly.com/images/octave/octave_GUI_38.png)

The Windows binaries are partially due to commercial sponsorship. We are still
selling more commercial support, and we are working on providing even more
commercial options:

[http://www.gnu.org/software/octave/commercial-
support.html](http://www.gnu.org/software/octave/commercial-support.html)

Sorry, no Mac OS X binaries at this point. It has proven to be a much more
difficult target than Windows, due to the impossibility of cross-compiling
into it, plus several idiosyncracies in Apple's libraries. If you are
comfortable with a CLI tool, Octave 4.0 is already in homebrew, which seems
like the best option at the moment. If I could dedicate myself to this
problem, I am confident I could put quite a dent into it.

If you are an Octave enthusiast, come to OctConf 2015 in Germany this
September!

[http://wiki.octave.org/OctConf_2015](http://wiki.octave.org/OctConf_2015)

~~~
paperwork
Looks like brew is still offering up octave 3.8.2_1 (on osx).

~~~
jordigh
The --head brew install option at the moment points to just a few commits
ahead of 4.0. There has not been a lot of divergence. I expect the homebrew
packagers will soon update the url to point to 4.0

I really wish I could dedicate myself to working on the Mac OS X packages. It
really requires a lot of work.

------
probdist
I've never had to turn to Octave because I've always had an employer or
University sponsored access to MATLAB, but I'm incredibly grateful this
project exists. There is a ton of permissively licensed code written targeting
MATLAB that is released for scientific and engineering purposes that would be
DOA for many people without this project.

The origins of Octave are pretty amazing. Created essentially to support a
single textbook and class in Chemical Engineering at UT Austin/UW Madison it
is now nearly code compatible with a major commercial product and has been
under continuous development for over 20 years.

Kudos to the developers/maintainers.

~~~
cozzyd
Even though I have University sponsored access to Matlab, I prefer Octave due
to faster load time.

~~~
jordigh
There are a few other minor perks to using Octave: it recognises more syntax
than Matlab, it allows you to define functions anywhere, not just in function
files, and slightly less insane semantics for some operations.

The biggest perk, however, is no license manager, and you can actually see all
of the code, including the precise BLAS and LAPACK calls that we make. The
backslash operator in Matlab is one of the juiciest secret sauces in
mathematical computing.

~~~
cozzyd
Yes, I imagine the reason Matlab takes so long to start even with -nodesktop
is the license manager. I mostly use Matlab/Octave as a glorified graphing
calculator (anything complicated I do in ROOT) so the startup time really irks
me. That said, I also of course appreciate that it's Free software.

And now that I realize that you're a (the?) core dev, I should say thank you!

~~~
moonbug
Nope. it's the JVM overhead. Try -nojvm.

~~~
cozzyd
Thanks, that brings it closer in startup time to Octave. However, it disables
the ability to make plots, which is a quite severe limitation.

------
mark_l_watson
Great, nice project! Timely for me also: I took Andrew Ng's machine learning
class as a refresher a few years ago and enjoyed using Octave. I have been
planning on making another pass through the class material again as a re-
refresher so I appreciate version 4 being available.

------
elipsey
I'm really glad people wrote octave and gave it to me for free, but I found a
lot of unimpletmented functionality that kept me from getting things done, for
example in image handling. I tried to port some code from matlab a couple of
years ago, and ultimately had to start over with another environment after
losing a lot of time. The basic stuff for things like math and plotting seemed
to be present and complete in octave, but as soon as I got away from those
kinds of things, I started finding stubbed functions and broken stuff. I hope
that either I just didn't know what I was doing, or that octave is getting
more well rounded...

~~~
Jach
Octave-Forge
([http://octave.sourceforge.net/](http://octave.sourceforge.net/)) is kind of
a necessity to bring Octave closer to parity with Matlab, since a lot of the
reason (at least for me) to use Matlab in the first place (as opposed to
Python+Numpy+Scipy+... or Julia or in some cases R) is the wide variety of
useful packages for whatever domain you're in...

------
morbius
Sorry if this is off-topic, but as someone who once sat through a four-hour
compile of Octave several years ago and never touched it again, what exactly
are the advantages of using Octave and R compared with the standard SciPy
stack? (IPython, matplotlib, numpy, sympy, scipy, etc.)

~~~
jordigh
4 hours to compile? I see you're using Mac OS X. This is why I really dislike
source distribution in general, and I get very frustrated with Mac OS X users
who praise homebrew. It really is not a very good distribution mechanism.

As to your second point for why Octave and not R or Python, my stance as an
Octave dev is that you _should_ use R or Python. But if you don't want to
rewrite all of that Matlab code, tutorials, and papers out there and you still
think they should run in something other than Matlab, that is when you use
Octave.

------
ackalker
From the changelog:

    
    
        ** The preference
    
              do_braindead_shortcircuit_evaluation
    
           is now enabled by default.
    

Yup, that put a grin on my face that is going to stay there at least for the
rest of the day.

------
cbd1984
There's a GNU Octave PPA for Ubuntu but it's still at 3.8.

Is there a plan to update this to 4.0?

[https://launchpad.net/~octave/+archive/ubuntu/stable](https://launchpad.net/~octave/+archive/ubuntu/stable)

~~~
jordigh
Of course. Give the packagers a bit of time.

------
Maken
Since I see it nowhere, I assume the OpenGL plotting library still has the
limited range problem.

~~~
e12e
Are you reffering to something that has to do with the second bullet-point?:

> Octave now uses OpenGL graphics with Qt widgets by default. If OpenGL
> libraries are not available when Octave is built, gnuplot is used. You may
> choose to use the fltk or gnuplot toolkit for graphics by executing the
> command graphics_toolkit ("fltk") OR graphics_toolkit ("gnuplot") Adding
> such a command to your ~/.octaverc file will set the default for each
> session.

~~~
Maken
Not exactly. Unlike gnuplot, FLTK uses single precision internally to
represent the data, which limits the range of values it can plot. If you try
to print anything outside that range, it'll just print a blank graph.

