FAQ: Difference between revisions

20 bytes removed ,  30 August 2012
m
→‎GUI: it's not a subsection of porting matlab code to Matlab
(→‎What documentation exists for Octave?: updated documentation link; the old one 404'd)
m (→‎GUI: it's not a subsection of porting matlab code to Matlab)
Line 755: Line 755:
Character strings in Octave can be denoted with double or single quotes. There is a subtle difference between the two in that escaped characters like {{Codeline|\n}} (newline), {{Codeline|\t}} (tab), etc are interpreted in double quoted strings but not single quoted strings. This difference is important on Windows platforms where the {{Codeline|\}} character is used in path names, and so single quoted strings should be used in paths. Matlab doesn't have double quoted strings and so they should be avoided if the code will be transferred to a Matlab user.
Character strings in Octave can be denoted with double or single quotes. There is a subtle difference between the two in that escaped characters like {{Codeline|\n}} (newline), {{Codeline|\t}} (tab), etc are interpreted in double quoted strings but not single quoted strings. This difference is important on Windows platforms where the {{Codeline|\}} character is used in path names, and so single quoted strings should be used in paths. Matlab doesn't have double quoted strings and so they should be avoided if the code will be transferred to a Matlab user.


==GUI==
=GUI=
This is a small section but it's probably one of the most frequent questions.
This is a small section but it's probably one of the most frequent questions.


===Is there a GUI for Octave?===
==Is there a GUI for Octave?==
No.
No.


===Is there a GUI planned for Octave?===
==Is there a GUI planned for Octave?==
Yes, and is already in development. You can download the [http://www.gnu.org/software/octave/get-involved.html Octave repository] and compile the development branch yourself (it seems to be stable enough for use and the 3.6.2 binaries for windows already have it). Testing is always welcomed, and patches even more. Note that despite being called Octave GUI, it is ''not'' a separate project. It is simply the ''Octave GUI'', the Octave Graphical User Interface, just like the Octave prompt, Octave interpreter, etc are not separate projects (not to be confused with the completely unrelated but similarly named, GUI Octave project).
Yes, and is already in development. You can download the [http://www.gnu.org/software/octave/get-involved.html Octave repository] and compile the development branch yourself (it seems to be stable enough for use and the 3.6.2 binaries for windows already have it). Testing is always welcomed, and patches even more. Note that despite being called Octave GUI, it is ''not'' a separate project. It is simply the ''Octave GUI'', the Octave Graphical User Interface, just like the Octave prompt, Octave interpreter, etc are not separate projects (not to be confused with the completely unrelated but similarly named, GUI Octave project).


===How come there's still no GUI for Octave?===
==How come there's still no GUI for Octave?==
The Octave prompt is really really good and that's what the Octave developers use. Octave is community project which means that it has the functionalities that its users are willing to spend time implementing. Since Octave developers do not need a GUI (some actually would not use one if it existed), they have no reason to make one. Also, many people on the community are of the opinion that using a GUI slows down the learning of the language.
The Octave prompt is really really good and that's what the Octave developers use. Octave is community project which means that it has the functionalities that its users are willing to spend time implementing. Since Octave developers do not need a GUI (some actually would not use one if it existed), they have no reason to make one. Also, many people on the community are of the opinion that using a GUI slows down the learning of the language.


===I want Octave developers to work on a GUI?===
==I want Octave developers to work on a GUI?==
If you would like the Octave developers to implement a GUI for you, consider the same route taken by others that want a specific function/capability to be implemented. Some of the Octave developers will work as coders for hire. Ask on the [http://www.gnu.org/software/octave/get-involved.html maintainers mailing list]. This is not unlike paying a builder to add an extra room to your house. The fact there is no GUI in Octave only shows that there is not enough interest for it (despite the amount of time people asking for it).
If you would like the Octave developers to implement a GUI for you, consider the same route taken by others that want a specific function/capability to be implemented. Some of the Octave developers will work as coders for hire. Ask on the [http://www.gnu.org/software/octave/get-involved.html maintainers mailing list]. This is not unlike paying a builder to add an extra room to your house. The fact there is no GUI in Octave only shows that there is not enough interest for it (despite the amount of time people asking for it).


===What about all the Octave GUIs I find on Google?===
==What about all the Octave GUIs I find on Google?==
None of the GUIs for Octave that have been developed thus far are part of Octave and there is a reason for it. All of them fail at a very important point, integration with Octave. They treat Octave as a foreign black box using pipes for communication, an approach that is bound to eventually fail. This includes QtOctave (now abandoned and incompatible with newer versions of Octave), Xoctave (which is proprietary and commercial) and GUI Octave (which is proprietary and the author is not interested to share his code to preserve its "artistic integrity").
None of the GUIs for Octave that have been developed thus far are part of Octave and there is a reason for it. All of them fail at a very important point, integration with Octave. They treat Octave as a foreign black box using pipes for communication, an approach that is bound to eventually fail. This includes QtOctave (now abandoned and incompatible with newer versions of Octave), Xoctave (which is proprietary and commercial) and GUI Octave (which is proprietary and the author is not interested to share his code to preserve its "artistic integrity").


Quint was a project for an Octave GUI that actually tried to do it right. Eventually it was merged into the Octave repository and is now under development under the name Octave GUI (this is not a separate project anymore, it is simply the ''Octave GUI'' and not to be confused with the completely unrelated but similarly-named, GUI Octave project).
Quint was a project for an Octave GUI that actually tried to do it right. Eventually it was merged into the Octave repository and is now under development under the name Octave GUI (this is not a separate project anymore, it is simply the ''Octave GUI'' and not to be confused with the completely unrelated but similarly-named, GUI Octave project).


===QtOctave has been abandoned. Why are you working on yet another GUI rather than trying to fix QtOctave?===
==QtOctave has been abandoned. Why are you working on yet another GUI rather than trying to fix QtOctave?==
Read previous question. The approach taken by QtOctave for interacting with Octave is bound to fail. Yes, it could be fixed and made to work again for the latest octave release but this would not be a permanent fix and would eventually fail again. A [http://octave-gsoc2012.blogspot.ie/2012/06/why-not-take-existing-gui.html longer explanation] has already been written as part of GSoC2012.
Read previous question. The approach taken by QtOctave for interacting with Octave is bound to fail. Yes, it could be fixed and made to work again for the latest octave release but this would not be a permanent fix and would eventually fail again. A [http://octave-gsoc2012.blogspot.ie/2012/06/why-not-take-existing-gui.html longer explanation] has already been written as part of GSoC2012.


Yes, QtOctave is a useful tool, looks beautiful and we are thankful to its developers for working on such a nice tool plus making it libre. We are in no way saying the opposite. However, it will ''never'' be stable. The Octave GUI being developed now uses code from many different projects, we are trying to not reinvent the wheel. But we want something that will achieve stability.
Yes, QtOctave is a useful tool, looks beautiful and we are thankful to its developers for working on such a nice tool plus making it libre. We are in no way saying the opposite. However, it will ''never'' be stable. The Octave GUI being developed now uses code from many different projects, we are trying to not reinvent the wheel. But we want something that will achieve stability.


===What about GUI Octave?===
==What about GUI Octave?==
GUI Octave is not part of the Octave project despite its very deceptive name. Not only is a different project, it is also very inappropriate for this piece of closed-source software to occupy the name "GUI Octave" with the hostile anti free-software stance the developer has taken. It advertises itself as a "completely free" wrapper to "GNU Octave". It must be explicit that it is not free software as understood by GNU. This is deceptive.
GUI Octave is not part of the Octave project despite its very deceptive name. Not only is a different project, it is also very inappropriate for this piece of closed-source software to occupy the name "GUI Octave" with the hostile anti free-software stance the developer has taken. It advertises itself as a "completely free" wrapper to "GNU Octave". It must be explicit that it is not free software as understood by GNU. This is deceptive.


===How can I know more about Octave GUI?===
==How can I know more about Octave GUI?==
This is being developed as part of the Octave project so subscribe to the [http://www.gnu.org/software/octave/get-involved.html maintainers mailing list]. When you checkout the Octave repository, you'll find the GUI source on the development/default [http://hg.savannah.gnu.org/hgweb/octave/branches branch].
This is being developed as part of the Octave project so subscribe to the [http://www.gnu.org/software/octave/get-involved.html maintainers mailing list]. When you checkout the Octave repository, you'll find the GUI source on the development/default [http://hg.savannah.gnu.org/hgweb/octave/branches branch].


===I'm having problem XXX using GUI Octave, XOctave, QtOctave, etc?===
==I'm having problem XXX using GUI Octave, XOctave, QtOctave, etc?==
Install Octave only, without any of the non-supported by GUIs and see if the problem disappears.
Install Octave only, without any of the non-supported by GUIs and see if the problem disappears.