FAQ: Difference between revisions

49 bytes removed ,  27 July 2017
→‎GUI: Overhaul section and some historical research. If I am wrong, please correct me.
(→‎Licensing issues: Overhaul section for clarity.)
(→‎GUI: Overhaul section and some historical research. If I am wrong, please correct me.)
Line 982: Line 982:
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=
=[https://en.wikipedia.org/wiki/Graphical_user_interface GUI]=
This is a small section but it's probably one of the most frequent questions.


==Does Octave have a GUI?==
==Does Octave have a GUI?==
Yes! It was officially released with Octave 4.0.0.  It was
 
also available since version 3.8.0 has an experimental feature (use the
'''Yes!''' It was officially released with Octave 4.0.0.  It was also available since version 3.8.0 as an experimental feature (use the {{Codeline|--force-gui}} option to start Octave).
{{Codeline|--force-gui}} option to start Octave).


==Why did you create yet another GUI instead of making one that already exists better?==
==Why did you create yet another GUI instead of making one that already exists better?==
None of the GUIs for Octave that had been developed thus far were part of
Octave and there is a reason for it. All of them failed at a very important
point, integration with Octave. They treated Octave as a foreign black box
using pipes for communication. This approach is bound to fail with each new
version. Any fix made to make them work with a new Octave versions would only
be temporary. This included QtOctave (now abandoned and incompatible with
newer versions of Octave), Xoctave (which is proprietary and commercial), and
GUI Octave (which was proprietary and no longer available).


Quint was a project for an Octave GUI that actually tried to do it right.
The previously existing GUIs were not part of Octave itself.  The integration within Octave was rather bad, as all of them treated Octave as a foreign black box and used pipes for communication.  This approach is bound to fail with each new version of Octave, as any fix would only be temporary.  For historical reasons and to honor the approaches, a short list of previous GUIs for Octave:
Eventually it was merged into the Octave repository and is no longer a
 
separate project. Also, many bits from QtOctave were reused in the GUI.
* '''QtOctave''' was a great, beautiful, and very useful tool which is now abandoned and incompatible with newer versions of Octave.  We are thankful to its developers to make it free software so we could reuse large chunks of it for what is now the Octave GUI.
 
* '''Quint''' was a project for an Octave GUI that actually tried to do it right. Eventually [https://lists.gnu.org/archive/html/octave-maintainers/2011-07/msg00096.html it was merged into the Octave repository] and is no longer a separate project. Also, many bits from QtOctave were reused in the GUI.


QtOctave was a great and very useful tool. It looked beautiful and we are
* '''[http://www.xoctave.com/ Xoctave]''', which is proprietary and commercial.
thankful to its developers for working on such a nice tool. However, it
would have ''never'' been stable as it was. But most of all, the developers
made it free software so we could reuse large chunks of it which were
incorporated in what is now the Octave GUI.


* '''GUI Octave''', which was proprietary and is no longer available.


=Graphics: backends and toolkits=
=Graphics: backends and toolkits=