Slashdot Mirror


GNU Octave 3.0 Released After 11 Years

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."

16 of 222 comments (clear)

  1. Re:11 Years? by nacturation · · Score: 5, Funny

    11 Years no GUI, and no JIT and only partial MATLAB support.

    Tell me again why GNU FreeSoftware is a better development model if you don't mind. It may not be the best now, but just wait until HURD is released... then this development model's superiority will be obvious!
    --
    Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
  2. Good and bad news by mangu · · Score: 5, Insightful
    The good news is that they are doing in a free way what the Matlab Co. has been charging (a lot!) for, which is distributing an API to use all those libraries the US Federal Government labs give away for free.


    The bad news is that they are wasting their time using the Matlab syntax, while there is a much better alternative for doing exactly the same thing. Python 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?

    1. Re:Good and bad news by betterunixthanunix · · Score: 4, Insightful
      Matlab syntax is weird, but sometimes you are forced to work with other people who may be using Matlab. Python is not universal, 95% of the world's computers (that is to say, the ones running the most popular desktop OS) still do not ship with a Python interpreter, and many engineers are using Windows systems with Matlab and neither Python nor PERL environments.

      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.

      --
      Palm trees and 8
    2. Re:Good and bad news by samkass · · Score: 5, Insightful

      The good news is that they are doing in a free way what the Matlab Co. has been charging (a lot!) for

      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.

      --
      E pluribus unum
    3. Re:Good and bad news by CaptainPinko · · Score: 4, Insightful

      I suppose you mean the spaces vs. tabs thing, maybe you're right, but no one can deny that Python has an extremely simple syntax. You can do anything with it, from HTML parsing to a game physics engine to 3d graphics to Excel spreadsheets to... you name it. You've also just described Lisp/Scheme (i.e. simple syntax and (a) languages(s) you can do anything with))... but switching to their syntax would be quite contentious. If you are gonna argue for a syntax switch you are going to have to have better points than that, especially when the default is (near-)compatibility with a popular product with a large codebase out there.
      --
      Your CPU is not doing anything else, at least do something.
    4. Re:Good and bad news by insignificant1 · · Score: 5, Insightful

      Wow. The leagues of uninformed.

      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/

      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/

      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).

  3. Not entirely compatable by Anonymous Coward · · Score: 4, Insightful

    One of the reasons I haven't moved my students completely to Scilab or Octave is an excellent implementation of 802.11 in Matlab. It uses a bunch of toolkits and blocksets. I'm not even thinking of translating it.
    http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=3540&objectType=FILE

    I wonder how many other such applications there are.

  4. 11 years? by Junior+J.+Junior+III · · Score: 4, Funny

    It turns out that Octave is one of the lesser-known products of 3DRealms. Also, Duke Nukem Forever/Hurd will be out next quarter.

    --
    You see? You see? Your stupid minds! Stupid! Stupid!
  5. Re:11 Years? by betterunixthanunix · · Score: 5, Insightful
    Features? Maybe I can't beat you there. Reliability? Absolutely (GNU code is at least on par with BSD and other Unixes, and far more reliable than other systems, in my experience). GNU won't waste your time with a license check; when my school's Matlab license server went down, me and my peers were left out in the cold, with final projects looming over our heads.

    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.

    --
    Palm trees and 8
  6. Re:11 years to switch between 2.0 and 3.0 by JohnFluxx · · Score: 4, Informative

    For a lot of projects, the major number indicates binary compatibility.

    For example, in KDE 3, a KDE 3.0 app would run on the latest KDE 3.5.8 libraries, but not on KDE 4.

    The second number indicates new API. a program written for, say, KDE 3.5 might not work on KDE 3.4 if it uses any of the new functions.

    The third number is just minor patches and fixes, and shouldn't break anything.

  7. Development accelerating by jpswensen · · Score: 4, Informative

    I have been using Octave heavily over the past few years (and done a little light development), and I can say for certain that development is accelerating. In the last few years, there have been several new large contributors. One of them has made significant improvements to getting the bleeding edge Octave running with all the bells and whistles and installers on Windows, another dedicated to putting out binaries for Macs. All the core distributions have fully optimized Octave packages available. Most of the handle graphics compatibility has been done in the last 12 months. I know there is a push by people who are not the core developers to make an IDE (some based on Eclipse, others on GtkSourceView/VTE, others on QT). There has been work to make the debugger better. I guess my point is that a lot of project like this can take time to develop critical mass and that I think Octave is well on its way. Just as an aside, I think the design and implementation of Octave is great. It is the first kindof big open source project that I have really been able to wrap my head around in terms of understanding the code base and where things are/how to hack on it.

  8. That sucks too, but we have a winner. by r00t · · Score: 4, Insightful

    Python is about equally bad as far as syntax goes. Python behavior also presents difficult obstacles to optimization; the Matlab system apparantly does not (one can convert to C).

    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.

  9. Re:Well, if they ever become competitive to Matlab by 0100010001010011 · · Score: 4, Informative

    Define not "not treating customers well."

    I've called them with a fairly high level support problem. I got patched directly through to an engineer and within 7 hours (we had been pounding our heads against the wall for a week) we had a solution.

    I've heard numerous other stories of similar fate (which is where I got the idea to call).

    While Octave is fine for supporting *most* of the features of Matlab. There is a segment of the market that Octave is never going to touch. Simulink, most of the extra toolboxes, direct from Simulink to ECM Flash software. Some of the high level Power Sim blocks, hardware in the loop stuff (From dSpace). "Matlab" is just the tip of the iceberg when it comes to Mathworks software. We even have people writing S-Functions, I'm picking up MEX to speed up some data routines.

    I live and breathe on Matlab and for most of the stuff I do, Octave won't touch it. For 'us' Octave will never be competitive.

  10. Re:Well, if they ever become competitive to Matlab by ScrewMaster · · Score: 4, Insightful

    Okay, I'll define it. The math man at our company only uses Matlab intermittently (the occasional R&D project) and for the past few years it was decided that we couldn't justify buying support or upgrades. This year he was asked to look into what it would cost to upgrade. He was told that we'd need to make up all the money that Matlab didn't get all those years first, before we could even be considered for an upgrade, and conveniently just purchasing a new copy would be even more expensive. Now this was in spite of the fact that they had provided no support or services in that period. Ended up being about fifteen grand for one seat. Let me tell you, that's a sense of entitlement with a vengeance, one that even the RIAA could appreciate. In other words, play our game and pay us our yearly juice money or we'll shove it up your ass.

    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.

    --
    The higher the technology, the sharper that two-edged sword.
  11. Re:Well, if they ever become competitive to Matlab by steve_bedrick · · Score: 5, Interesting
    I bought a license for Matlab for my old PowerPC-based PowerBook about a year ago, and was initially quite pleased with Mathworks- the times I had to call them for support, they were helpful and responsive. All that changed when I switched to an Intel-based Mac a month or so ago. While moving all of my software over to my new laptop, I observed that most software companies used one of two possible approaches to the software redistribution problem:
    1. Release an Intel-compatible binary of their product, and make it available to current license-holders free of charge; or
    2. Take advantage of the opportunity to do a new major-version revision of their product, which license-holders would have to pay to upgrade to.

    Each of these, to me, seem like reasonable solutions— if it's a major-version update, I'd have to pay for it anyway... and if it's just a recompiled version of the product I already have, it should be free to current users. It turns out, however, that there was a third possibility, which is what Mathworks chose:

    3. Release a new minor-version Universal Binary update, and then make all current customers buy a new full-price license in order to get it.

    So, in order to run Matlab on an Intel-based Mac, current PowerPC license holders have to re-purchase their expensive software from scratch. No upgrade path, no nothing— just a nice, loud, "screw you" from Mathworks to their users. And it's not like we could just use our PowerPC verisons under Rosetta- there was a workaround, but it involved disabling all of the graphing/visualization features. Basically, it was a "pay for a full new license or don't use Matlab on your new computer" kind of thing.

    I dunno, maybe it's not that big of a deal, but it still felt pretty crappy. From a customer service standpoint, it wasn't exactly a master-stroke- it wouldn't have really cost them anything just to let current license-holders have an Intel-compatible copy of the software they'd already paid for...

  12. Re:Well, if they ever become competitive to Matlab by Nexus7 · · Score: 4, Informative

    No, he isn't lying.

    MATLAB did the same thing to us, made us pay maintenance for all the years that it had lapsed, because we wanted to upgrade an users' desktop to the latest version.

    Guess what my desktop runs now?