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:2, Interesting)
Re:11 Years? (Score:5, Funny)
Tell me again why GNU FreeSoftware is a better development model if you don't mind.
Re:11 Years? (Score:4, Funny)
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.
Matlab and X11 forwarding (Score:2)
Second of all, maybe that is where your CPU cycles are going. Last I checked, which was indeed some time ago, Matlab was fully capable of running without the GUI. You can make your graphi
Re: (Score:2)
MATLAB® and Simulink® Student Version Includes MATLAB, Simulink and Symbolic math functions $99.00
Re: (Score:3, Informative)
local$ ssh -X solaris_server
solaris$ matlab -nosplash -nojvm
Welcome to Matlab v.
>>
The plot windows etc will still be rendered, but you do away with slowly pushing the entire GUI over the network.
If you don't open plot windows and things, you don't even need an X-server.
Connect with Putty or Cygwin from MS Windows, Terminal from OSX.
X11 forwarding on Mac: try 'ssh -Y solaris_server'
(... after installing X11 from the OSX install DVD
Mathematica replacement: http://maxim [sourceforge.net]
Re:11 Years? (Score:4, Interesting)
Most Linux or BSD users, who happen to be using a GUI, will already have X11 running, and will therefore have a much easier time running Matlab off our Unix servers. There is certainly no problem running an X server in MacOS, nor is there a problem running it in Windows -- but these systems are not being marketed to people who have the technical skill to set that up. Not to start a flame war, but Apple just isn't trying to attract users who are aware of X11, Unix terminals, programming, etc. If anything, Apple has tried as hard as possible to remove the "nerdiness" from computing, and present there systems as intuitive, simple, straightforward computers that any idiot with no computing skills whatsoever can figure out how to use. That's fine, but when it comes to doing something that doesn't fit into the desktop computer model -- running a program on a server, and having its GUI rendered on your PC does not fit into the desktop model, at least not as Apple has implemented it -- they are not marketing to people who are comfortable, knowledgeable, or appreciative of such things. You don't have to be their target market to use Apple systems, but you have to be aware of what their target market is, and that the overwhelming majority of Apple users have no interest in anything beyond the desktop metaphor that Apple has created.
It is necessary for me to stress that I am not criticizing Apple or its users; I am criticizing my university and the Mathworks company, for creating an environment where only people who are involved in computing can access Matlab outside of our computer labs. My point is that, because of the terms of Mathworks' site license, the software must be on a specific number of university owned systems, and that while there is nothing stopping Apple or Microsoft users from accessing that software, the majority are not knowledgeable enough to do that. The university doesn't do much to educate or encourage students to set up X servers and run Matlab/Mathematica/Maple on our servers (can't say I blame them; the increased network and server load would probably bring everything to a grinding halt), and most students who use this software aren't even aware that they can access it in that manner anyway.
Re: (Score:3, Informative)
Re:11 Years? (Score:4, Informative)
Re:11 Years? (Score:4, Informative)
Re: (Score:3, Insightful)
Octave needs a gui like python or bash does.
Re: (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.
wrong comparison (Score:2)
There is fairly little effort going into Octave. Why? Because MATLAB isn't worth cloning; MATLAB sucks. Even if more effort were going into it, Octave could never catch up with MATLAB, simply because it takes 1-2 years to clone MATLAB features after a MATLAB release.
The real comparison is with the true open source alternative to MATLAB: SciPy. SciPy is where all
OK, I'll tell you. (Score:3, Informative)
The open source mod
Well, if they ever become competitive to Matlab. (Score:2)
Re:Well, if they ever become competitive to Matlab (Score:5, Informative)
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.
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: (Score:2)
From: http://www.socialtext.net/researchcomputingtest/index.cgi?matlab_site_license [socialtext.net]
* What is the cost of simply increasing our current licenses to 50/100/250 seats for concurrent use with all 50 toolboxes? How does that compare to the site license?
100 seats of concurrent licensing at the 50 toolbox level would be about $100,000; for the 250 seat level, about $300,000. The site license will be less than half the cost of the 100 seat level.
From Yahoo Answers:
"
Re: (Score:2)
I don't buy that for a second. Even if you bought every single toolbox available (which no one would do because they cover such a broad set of tasks), it wouldn't add up to 15 grand per license.
I've only dealt with Matlab on the academic side, but I can say I've had good relations with their customer service. The last time I interacted with them, I had to buy new licenses for our research group; I had read through the various options and thought I had
Re:Well, if they ever become competitive to Matlab (Score:4, Insightful)
Re: (Score:2)
Re:Well, if they ever become competitive to Matlab (Score:5, Informative)
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?
Re: (Score:3, Informative)
The bare minimum for signal processing stuff:
MATLAB: $1900
Simulink: $3000
Signal Processing: $800
Signal Processing Blockset: $1000
Subtotal: $6,700
A few more helpful tools that almost every engineer can make use of, not very extravagant:
Control System Toolbox: $1000
Filter Design Toolbox: $1000
Subtotal now: $8,700
I do a lot of RF comms stuff, so t
Re: (Score:2)
One year our purchasing department was slow in renewing our dozen or so Matlab licenses and we went 2-months beyond our expiration date. They jerks charged us for those two months (we have never used their tech support in over a decade) and still kept our renewal date as the original date. I explained to the salesman that we would be happy to pay for the 2-months support but i wanted the renewal date moved up since we paid
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, Interesting)
OK, I'll define it for you.
I have been a Matlab user since my first graduate classes in control systems in the early nineties, when it ran on old PCs in our controls labs and didn't have the current integrated GUI. It was a revelation to be able to perform matrix and control system analyses in such a simple way, with the many built-in functions (lsim, step, bode, margin, etc.) There was nothing else like it and it taught me a lot.
In my subsequent work as a contr
Re: (Score:2, Interesting)
but your second point you definitely have no grounds to complain. They allow only people who are on software maintenance to have a free trial of the toolboxes. That's one of the benefits of software maintenance. "we were getting poor value for money per year (a few
Re:Well, if they ever become competitive to Matlab (Score:5, Interesting)
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...
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?
Re: (Score:2)
Er, sure matlab syntax sucks, but has any syntax inspired more flamewars than python's?
Re: (Score:2, Informative)
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 [crummy.com] to a game physics engine [sourceforge.net] to 3d graphics [sourceforge.net] to Excel spreadsheets [markcarter.me.uk] to... you name it.
Even if Python isn't quite enough for your needs, you can very easily link it with C language [swig.org] or Fortran [scipy.org] modules in a trivial way.
If I have an alternative that is, at the same time, simpler and more powe
Re: (Score:3, Funny)
Re: (Score:2)
Re:Good and bad news (Score:5, Insightful)
Re: (Score:2)
Have you ever used decorators
Writing decorators isn't always the most straightforward task, but using them is dead simple. If you have a decorator named trace, for instance, you can use it like:
Maybe trace is hideously complex, but you, the user, don't have to see it - you just get the straightforward usage pattern.
or nested list comprehensions?
Those correlate exactly to nested function calls ("composition" for compsci/math types):
isn't any
Re: (Score:2)
To all the people who do not like python's syntax I like to say start indenting your java,ruby,c code for a while and yuo will see that that will improve readability a lot.
I think the point is forcing you to indent a certain way. I will admit I've seen really badly indented code in many langiuages. I also admit that I usually end up writing code to match my IDEs beautifyer. However, sometimes I want the option to indent how I want to. For example. for long parameter lists for a function I want to be able to place the parameters on the next line indented by on tab, and when I want to split that line futher, each subsequent line will be indented by one tab and one space.
Re: (Score:2, Informative)
Re: (Score:2)
But undelimited loops? Yeah -- stupid.
Re: (Score:2)
1. I know how to code in Matlab. I have spent the last 13 years writing matlab code, and it works well. It is especially good at writing vectorized code without having to think about it too much.
2. I have a lot of working, tested code that I don't want to have to re-write. Much of it is special-purpose stuff, and I don't want to have to re-write it and then test it to make sure that it gives the correct answers.
3. Sometimes languages that are good for one thing are not good for another. Mos
Re: (Score:2)
Two reasons.
Fencepost error? :)
I have spent the last 13 years writing matlab code
There are a lot of people like you, and of course that is the point. I avoid matlab where I can, but considering the sheer number of lines of matlab code used in industry, you can't be rid of it completely. Besides, if your office is using matlab, you usually have little choice besides Octave and Matplotlib.
It is especially good at writing vectorized code without having to think about it too much.
Well, that's a good point. Python as a language does not have any inherent problem that prevents it from doing those sorts of optimisations in the background, but none of the curren
Re: (Score:2)
Err...well, maybe. I don't know the opinion of _all_ computer scientists, but I am one, and I think pointers are terrible. I mean, on a low level, you need them, but you really shouldn't be writing application code on such a low level. In a well-designed language, the only power pointers would add that you don't get without them is the power to access memory in ways you shouldn't be a
Re: (Score:2, Insightful)
The re
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: (Score:3, Informative)
Then I have great news for you, there's single package [enthought.com] that you can download for free and it will install everything you need to develop scientific programs in Python in a Microsoft computer.
Even if you have years of experience in Matlab, try it, you have nothing to lose. Wherever possible, they made the function calls the same as Matlab's [sourceforge.net].
Re: (Score:2)
That's a weird line of reasoning. Python is "not universal" because "95% of the worlds [desktop] computers
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: (Score:2)
Re: (Score:2)
Re:Good and bad news (Score:4, Interesting)
I don't know how _one_ open source project copying a proprietary project is supposed to support the idea that open source as a whole can't really innovate. Reasoning that way is completely bogus.
``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.''
I agree with you, and a lot of open source development does exactly that. Or implements things that there is no proprietary software for. But Octave, like a lot of other GNU software, has a different goal, apparently: allowing users to take their MATLAB code and run it using only Free software. That's a worthwhile goal, too. Although it's not something I'm personally interested in - and, apparently, not something many people are interested in at all, or progress would be quicker (either in Octave or in a sister project fueled by developers who resent Octave's slow progress).
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: (Score:2)
And it will get even slower once lawyers and software patents start getting involved.
Re: (Score:2)
Re: (Score:2)
Python does not get the benefit of syntactical sugar purely for the purposes of matrix manipulation- for example, matrix multiplication in scipy/numpy is a = matrixmultiply(b,c). However, Python is far more powerful (especially with libraries such as scipy) and simple to use in general, and in any real world application it makes a big difference. Python is the sort of language you don't actually have to think about- you think about the problem rather than how to solve it using the pa
Re: (Score:2)
Anybody who proposes a = matrixmultiply(b,c) for an interactive numerics package simply has no clue about numerics. There's a reason why real mathematics writes that expression as A=BC, it's so that the notation gets out of the way as much as possible. This is vital when you get to do _real_ computations instead of toy examples.
Your python notation will fail miserably when it's time to write down an expression such as AB^{-1}Cu + DEFQF^{-1}v, which might be a matrix component of s
Re: (Score:2)
Re: (Score:2)
You spelled 'no' wrong. The parent of your comment had exactly the right point. Python may be great as a general scripting language, but for specifically math/statistical applications, Matlab is wonderful. You say that "Python is the sort of language you don't actually have to think about- you think about the problem rather than how to solve it", but that's exactly true for Matlab. Matlab syntax is completely intuitive, provided you bother to learn the syntax. I've known plen
Re: (Score:2)
The original poster is correct. Python/NumPy syntax is more natural than MATLAB's. Much more so.
Re: (Score:2)
Python may be great as a general scripting language
Scripting has nothing to do with it. Python is a great language. True, it is not compiled, but then neither is MATLAB. I tried both for quite a while. In my opinion, Python beats MATLAB hands down. It is equivalent or better in purely numerical computations, and is actually sane for other programming as well.
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: (Score:2)
It's quite easy to write the bottleneck in C/FORTRAN and incorporate that into a Python module.
Re: (Score:2)
Re:That sucks too, but we have a winner. (Score:4, Informative)
That's an old argument, but for the sake of people who haven't heard it before, I will enter the debate again.
Lisp syntax is actually very beautiful for describing tree structures. And tree structures are very useful. For example, web pages have tree structures. And many types of relational data. And with the addition of references, trees can be used to describe graphs, and thus, all data and all relations. Oh! And lest I forget, computer programs!
Now, why would you want to describe your program like a tree? Why would you want _everything_ to start with an open paren, then have a bunch of child nodes (which could be simple words or numbers, or could also start with an open paren, etc.), and finish with a closing paren? What is the advantage of this over having a bunch of curly braces, commas, semicolons, and infix operators thrown in for variety?
Well, the advantage of Lisp syntax is that it is extremely regular. And this is good for analysis and transformations. And _that_ is what Lisp is all about.
In most languages, you write your program in some complex surface syntax, which is then run through a complicated parser. The parser converts it into a tree (hey...wasn't there something about trees before?), and the compiler then performs all kinds of transformations on that tree. Transformations that are relatively easy to describe on trees, but not so much on the surface syntax of the programming language - that's why you generate the parse tree. Of course, this all happens behind the scenes. But not so in Lisp. In Lisp, your program already _is_ a tree the way you wrote it down. A convenient format for performing (and understanding!) transformations to be performed on the source code. And this is something Lisp programmers do all the time, and something that is rarely seen outside Lisp.
I believe this is largely due to the difficulty of describing and understanding program transformations in other languages. Lisp has a very simple macro system; a macro takes a tree you wrote, and runs some Lisp code, and eventually returns a new tree. And then it is as if you had written that new tree instead of the old one. So, where in Java you will see code like...
x.setFoo(y.getFoo());
x.setBar(y.getBar());
x.setBaz(y.getBaz());
(copy-fields x y foo bar baz)
FileInputStream stream = new FileInputStream("filename");
try {
} finally {
stream.close();
}
(with-open-file (stream "filename")
; Do something with stream
)
As it happens, the macro in the second example happens to be part of Common Lisp's standard library and the one in the first example doesn't. Of course, it can easily be written. What the macros have in common, however, is that they allow you to do the same things that the Java snippets do, but with less code, less repetition, and fewer weird characters. I don't know how you can not find that beautiful.
Re: (Score:3, Interesting)
``the way they always trot out the same "with-foo" example. Yeah, it's a minor syntactic improvement over try/finally, but can't you think of something else?''
First of all: obviously I not only can, but _did_ think of something else; it's right in the very same post.
Secondly, I don't agree that with-open-file is just "a minor syntactic impro
Re: (Score:3, Interesting)
Now I will nitpick a bit, for the benefit of people reading this thread (yeah, right
Re: (Score:2)
Help them (Score:3, Informative)
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.
You're right, it's not obvious (Score:2, Informative)
In the case of the Matlab 802.11 model, every part of the protocol is implemented. That me
11 years? (Score:5, Funny)
No JIT a showstopper?? (Score:2)
Re: (Score:2)
I was young and stupid once. I thought the Way was with for loops. Then I started to run into bad stuff. I ran profiler on a few of my scripts and found that loops suck.
Say I have to find something with a hundred thousand or so data points. (We have
Say I need to find a certain con
Re: (Score:2)
There are 2 ways to find times when RPM60 and clutch=on
Slow:
for i=1:length(speed)
if rpm(i)<1200&&speed(i)>60&&clutch(i)==1
coasting(j)=time(i)
end
OR the fast way
coasting=time(rpm<1200&speed>60&clutch==1);
Time savings enters the tens of seconds with large data sets.
Re: (Score:2)
Re: (Score:2)
Quote:
MATLAB is notoriously slow at loops. So how is it a showstopper if octave is slow as wel? They both use C or FORTRAN for all the heavy lifting.
"Yes, that's why you vectorize your loops" is not an answer because it MAKES NO SENSE given the question.
And plea
Re: (Score:2)
No, it's not too much, I read the summary+TFA quite thoroughly. Is it too much for you to mentally parse responses to your comments before replying? My point was that if you code in Matlab correctly, you don't really need JIT. Hence it's absence should not be a showstopper for Octave.
11 years to switch between 2.0 and 3.0 (Score:4, Interesting)
I know some people might disagree with me, but I'm beginning to think some open source projects would benefit from using a year for the public version number:
Octave 2008 (3.0.x)
Thunderbird 2006 (2.0.x)
Firefox 2008 (3.0.x)
FreeBSD 2006 (6.0)
FreeBSD 2008 (7.0)
PostgreSQL 2006 (8.1)
PostgreSQL 2007 (8.2)
PostgreSQL 2008 (8.3)
While internally, the product could use the same version scheme it did before, I think many open source projects are far too anal about version numbers. The stubborn refusal to bump up the "big" version field doesn't help public image because if it never moves up people think the project is dead.
The only version number that matters is the build number and repository version, the rest is marketing. Granted the year scheme isn't perfect in the early stages of a product when functionality is drastically changing every 3 months, but on mature products, I think we could all really benefit from number schemes that use the year the product was release.
Re: (Score:2)
When you look at Octave 2.0 and 3.0, you -know- which one came out first. That's all that matters. The year means nothing at all, and even the numbers they -do- use are picked arbitrarily. There's no science, it's just what they feel like. For instance: "I fe
Re:11 years to switch between 2.0 and 3.0 (Score:5, Informative)
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.
Re: (Score:3, Informative)
The third number is just minor patches and fixes, and shouldn't break anything.
To be very precise (at least for libraries that use this scheme):
There is no compatibility across major number versions. Applications built against a library of one major version are not expected to run with libraries of any other major version. API changes of any sort are allowed. Interfaces may be changed, added or removed.
There is forward compatibility across minor versions. An application built against library version x.y.z will run with any library with minor number y or greater. This means
Re: (Score:2)
And if you have two releases in the same month (say an important bug fix) you could have 2007.12.07 & 2007.12.09. If you need tighter specs you could even append hour, minute, and millisecond (UTC, of course), but that seems rather silly for a public release.
Development accelerating (Score:4, Informative)
But does it script Java/Swing? (Score:2)
You have to run javac from some other place (Eclipse, command line), but Matlab is a nifty substitute for the java command. You can construct Java objects from the Matlab command line or from inside M-file and function scripts, you can assign those objects to Matlab variables, you can invoke methods on that object using oname
cat gack (Score:3, Interesting)
Math software shows up here fairly regularly. I keep taking notes, but never get around to using any. The R statistical package also gets frequent good mention, which I understand is accessible from within Sage.
Where does Octave stand relative to Sage?
Re: (Score:2)
Re: (Score:3, Informative)
For an interesting post by the lead developer of Sage (William Stein) on the relationship between Sage and Octave in terms of overall goals, see this http://sagemath.blogspot.com/2007/12/why-isnt-sage-just-part-of-octave.html [blogspot.com]
--Mike (a Sa
you must be kidding (Score:2)
Compatibility (Score:3, Informative)
Multiple dimensions ? (Score:2)
And about the tech support from Matlab, yeah it sucks. I've had their DRM crash on boot for the last 6 months and they've done jack shit about it. Fortunately I didn't need Matlab no more so I just gave up on it, but still, the site license costs a few newborns. Way to go.
Too ba for Debian users... (Score:3, Funny)
This is the reason that we run Octave (Score:3, Informative)
SciPy (Score:2, Interesting)
So
matlab's real value is in visualization (Score:3, Interesting)
I will check out Octave 3's improved "graphics handle" support-- I hope it closes the gap. But for my own part, I care much less about language compatibility and more about making it really easy to visualize and explore your data.
-Ed
Re: (Score:3, Funny)
Re: (Score:2)
Ok and why exactly is that? They still got a windows license fee from you. They can still sell you windows software.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)