Thursday 7 August 2014

System Design & Analysis (1) Octave

Octave
http://en.wikipedia.org/wiki/GNU_Octave

Basic:
1) free software under the terms of the GNU General Public License.
2) a high-level programming language.
3) a replacement of MATLAB.
4) primarily intended for numerical computations, like: regression, plot.

Development Platform:
1) written in C++ using the C++ standard library.
2) uses an interpreter to execute the Octave scripting language.
3) works with gnuplot and Grace software to create plots, graphs, and charts, and to save or print them.
4) later include a Graphical User Interface (GUI) in addition to the traditional Command Line Interface (CLI). GUI developed using Qt.

Key Product Features:
1) Support key things a programming language, e.g. variables, functions, comments.
2) Large number of supports on matrices, built-in math functions.
3) Octave treats incompatibility with MATLAB as a bug, interesting.

GUI:

















Open Source Update:
2011-2012:
about 90 di erent contributors made 2917 commits, 57 of them made only 1 or 2 changes, the top 5 contributors made 2377 commits.

Incomes:
A few large donations from a small number of benefactors
Many small donations from users

Limitation:
1) Interaction with C++ and Java. In many cases, we want to use Octave code as a small part in a large project.
2) No Object concept. But I do not think it is a big limitation currently.

Success?
From users' point of view, Octave achieves its design goal as a GNL free software to replace the expensive MATLab, it is a success.
However, the developer team do need to find more ways to sell Octave.

No comments:

Post a Comment