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:
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!
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.
The Windows binaries are partially due to commercial sponsorship.
What does that mean? Commercial companies paid to have the installers built for their use and are sharing, or you bundle adware in with the installers and call it sponsorship?
There is no crapware anywhere. This is all GPL'ed, all GNU, all good for you. Commercial sponsorship does not mean we're out to screw you over. Quite the contrary, we're seeking commercial sponsorship in accordance with free software principles and to make Octave better for everyone.
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.
I did use Octave during my university time even though the course I was doing recommended and used Matlab. And I think for nearly the entire course, Matlab commands were an one-to-one translation to Octave. I personally feel science should be done using open tools.
I know some people who use Matlab to take data and every once in a while their experiments "break" due to forgetting to update their licenses.
Also for a long time Matlab broke on systems using the new Linux network interface naming convention (i.e. en0 instead of eth0) since the license manager was stupid.
Well, I've no great love for FlexLM, but even less for changes to userspace that willfully break things in pursuit of this year's dubious concept of 'better'.
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.
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!
Just a core dev. I actually have not been writing a lot of Octave code recently, and have faded into a more "managerial" or "support" role, helping with the website, the code hosting, and so forth. Other people have done a lot more coding than I recently.
Actually, most of my time has been spent talking to business people trying to grow our commercial support business so that Octave development can really take off.
For the people in my group, I have a stinking suspicion: they use matlab because it's called matlab. Also, they refuse to use octave, python, or anything else because they aren't called matlab.
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.
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...
Octave-Forge (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...
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.)
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.
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.
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.
https://ftp.gnu.org/gnu/octave/
Windows binaries, with source code:
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...
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
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