GNU Octave 3.0 Released After 11 Years 222
Digana writes "GNU Octave is a free numerical computing environment highly compatible with the MATLAB language. After 11 years of development since version 2.0, stable version 3.0 released yesterday. This version is interesting because unlike other free or semi-free MATLAB competitors like Scilab, specific compatibility with MATLAB code is a design goal. This has manifested itself in goodies like better support for MATLAB's Handle Graphics, a syntax closer to MATLAB's own for many functions, and many functions from the sister project Octave-Forge ported to the core Octave project for an enriched functionality closer to the toolboxes provided by MATLAB. GUI development is underway, but still no JIT compiling, which is a show-stopper for Octave newbies coming from MATLAB with unvectorized code."
11 years? (Score:1, Insightful)
It's been over 11 years since Linux 2.0, and Linux 3.0 is nowhere in sight, but I don't see anybody complaining about its version number.
OTOH, GNU Emacs is at version 22, and I don't see either its proponents or its detractors claiming this is a good or bad thing.
Or maybe I'm just amused because it's on Slashdot. I mean, releasing a new major version of some numerical analysis software must be really easy, right? It's not rocket science, like, say, using CSS for a webpage, huh? Huh? *nudge*
Good and bad news (Score:5, Insightful)
The bad news is that they are wasting their time using the Matlab syntax, while there is a much better alternative [scipy.org] for doing exactly the same thing. Python [python.org] is universal, if there's anything you can do with a computer, the simplest way to do it is with Python, so why do it the hard way?
Not entirely compatable (Score:4, Insightful)
http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=3540&objectType=FILE [mathworks.com]
I wonder how many other such applications there are.
Re:Good and bad news (Score:5, Insightful)
Like Windows, Matlab has become too popular for everyone to just drop and move on to some other platform. Python may be great, maybe even for scientific computing, but Matlab is just what people are used to. It is good that Octave exists as a free software clone of Matlab -- a great way to show people (my fellow engineers included) that it is entirely possible to live without proprietary software, and a great way to bring non-programmers into the free software movement.
Re:11 Years? (Score:5, Insightful)
My school will not give students a copy of Matlab for any purpose, because of license restrictions. We can either use a school terminal (ever wonder what a crowded computer lab looks like?), or run it off a Solaris server (X11 forwarding, leaving Windows and most Apple users out of the loop) which has strict resource limits imposed (forget processing anything big). Of course, with this setup, it is completely impossible to hook up any specialized hardware to the system running Matlab, so to process data from the real world, we must first collect it on one computer, then copy it over to a computer with Matlab installed (which is rarely in the same room as the equipment in use), and no, you cannot process anything as it happens, and yes, our disk space on the Solaris server is limited to 100MB, so your data can't be too large (not that you get enough CPU cycles to process anything large).
Octave? Right on my system. On any system I want, actually. I miss a few features, and bit of Matlab compatibility (not nearly as bad as it sounds, I have yet to have it be an actual problem), and a GUI (which I am not at all concerned about -- I'll take a functional CLI over a dysfunctional GUI any day), but in the end, I get what I needed: Something that allows me to work with other people's Matlab code, without having to wait in line for a computer or worrying about a resource limit on a Unix server. If Mathworks stopped screwing around with license restrictions, that are even worse than Wolfram (the maker of Mathematica, which is also mangled in license restrictions), I would never have even looked into Octave.
Re:Good and bad news (Score:5, Insightful)
But taking their time at it. Don't get me wrong-- I'm glad open source exists. But this project kind of supports the idea that open source can't really innovate, only follow (sometimes far) behind what proprietary companies invent. It would have been really interesting to see what some of the open source folks could do if their goal was to surpass MATLAB instead of be an almost-free version that's almost as good as something that people almost like to use.
Re:Good and bad news (Score:5, Insightful)
That sucks too, but we have a winner. (Score:5, Insightful)
The LISP guy has a point, though that syntax is even uglier. (like being in a sensory deprivation tank)
If you really do want to crunch numbers, you don't screw around with any of the above. You use FORTRAN. Maybe that isn't cool, trendy, hot, exciting, whatever... but it works damn well. Assuming your idea of the C language doesn't include heavy use of the "restrict" keyword, FORTRAN optimizes even better than C. FORTRAN has a genuine international standard; it won't suddenly change because Guido gets a random urge. For number crunching, the world is full of FORTRAN code. Really, you can't do better.
Re:Well, if they ever become competitive to Matlab (Score:5, Insightful)
I know Matlab is a complex product that took decades to develop, but demanding money for services not rendered, just because you know the customer has nowhere else to go, is usurious at best. I presume you've never had to deal with them in that vein because you've obviously bought into their system and it's worth it to you to keep paying them. I have no problem with that. But their attitude left a very bad taste in our corporate mouth, and given that our needs are simplistic compared to yours, we'll be evaluating what else is out there. Their behavior in this regard is not what I expect of a truly customer-oriented operation, but it is what you expect when a single company achieves a de-facto near monopoly.
Re:Well, if they ever become competitive to Matlab (Score:4, Insightful)
Re:11 Years? (Score:3, Insightful)
Octave needs a gui like python or bash does.
Re:11 Years? (Score:3, Insightful)
Just like closed source, open source has some lemons too.
I mean after 5 years of development by the biggest software company in the world Vista shows that closed source isn't that great either.
Re:Good and bad news (Score:5, Insightful)
You think there are two things here, Matlab and Octave. Matlab is proprietary, and Octave followed it. It's as simple as that to you.
But wait, where does much of the meat in Matlab come from? Netlib. OPEN SOURCE! HAHAHAHA (Some of the Netlib code has license restrictions, some does not.)
http://www.netlib.org/ [netlib.org]
What does Matlab use for optimized BLAS routines to run super-quick on your Windows/Linux/Mac? ATLAS. Check out the Sourceforge page:
http://math-atlas.sourceforge.net/ [sourceforge.net]
The really important thing for me is that now that Octave is out there (actually, Octave has been around since about 1994), the explorations that I made in undergrad in Matlab can be done entirely in Octave now and forever. A good tool doesn't get worse as it gets old, it just gets used more.
If there was once a patent on hammers, there is no less usefulness in (but much lower prices on) hammers after the patent expires. Now we get much of Matlab's functionality completely free. Congratulations John Eaton, et al., for giving all who follow another tool to use freely to build bigger and better tools.
And as others have mentioned, if you don't like Matlab/Octave, use another tool that tried to accomplish the task of a high-level numerical tool in a different way. To me, however, I can code up an algorithm, test out concepts, and produce incredibly helpful visualizations in a matter of minutes using Matlab or Octave. Any tool this powerful has a learning curve to get over before it is so efficient, and I climbed that learning curve with Matlab, but I was able to use Octave immediately because I had already gone through that process using Matlab.
If you made a completely innovative new tool, it likely wouldn't be worth it for me to use for a while because I am so fast at coding Matlab/Octave, and the whole point in these tools is to make the programmer's job easy (if I wanted fast code execution, C or Fortran could be used).
Re:Good and bad news (Score:2, Insightful)
The reason it might be seen as a strength is that since FORTRAN doesn't have pointers, FORTRAN compilers generally don't have to deal with something called 'pointer aliasing' (which could just as easily be called reference aliasing, again it has to do with inderection and is nothing to do with GC or pointer arithmetic) and so can often assume that two different variables must have independent values and can make many low-level optimizations that other languages cannot make so easily.
This includes pulling values from memory into registers and changing their values in the register without having to worry about the potiential other references to this memory (the aliases) becoming being out of date.
It also includes being able to use hardware vectorisation without having to make as many checks that memory does not overlap in two array sequences.
It probably includes other things as well, but you would have to ask a compiler writer or maybe a FORTRAN programmer, sadly I am neither.
(PS I think this all refers to older versions of FORTRAN; I am pretty sure recent versions do in fact have pointers to allow enough indirection to keep the computer scientists happy.)