Editing JWE Project Ideas

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 8: Line 8:
 
would be more flexible and reliable.
 
would be more flexible and reliable.
  
=== [[GUI terminal widget|GUI command window]] ===
+
=== GUI command window ===
  
 
The implementation of the GUI command window for Unix-like systems
 
The implementation of the GUI command window for Unix-like systems
Line 36: Line 36:
 
* Performance issues
 
* Performance issues
 
* Lack of WYSIWYG
 
* Lack of WYSIWYG
* Duplication of effort with FLTK and Qt widgets.  With the rest of
+
* Duplication of effort with FLTK and Qt widgets.  With the rest of the GUI using Qt widgets, we should eliminte the FLTK plotting widget.  To do that, we will need to make the Qt plotting widget work when Octave is started with --no-gui and ensure that all features in the FLTK widget are also present in the Qt widget.
* the GUI using Qt widgets, we should eliminte the FLTK plotting widget.  To do that, we will need to make the Qt plotting widget work when Octave is started with --no-gui and ensure that all features in the FLTK widget are also present in the Qt widget.
 
  
 
=== Improvements to classdef (the Matlab object-oriented programming framework) ===
 
=== Improvements to classdef (the Matlab object-oriented programming framework) ===
Line 43: Line 42:
 
* Resolve remaining Matlab compatibility issues.
 
* Resolve remaining Matlab compatibility issues.
 
* Make it possible to load and save classdef objects.
 
* Make it possible to load and save classdef objects.
* Improve and simplify the implementation.  Although the basic features that are implemented now appear to mostly work, the implementation seems overly complicated, making it difficult to debug and modify.  There seems to be quite a bit of room for improvement here.
+
* Improve and simplify the implementation.  Although the basic
 +
  features that are implemented now appear to mostly work, the
 +
  implementation seems overly complicated, making it difficult to
 +
  debug and modify.  There seems to be quite a bit of room for
 +
  improvement here.
  
 
=== String class ===
 
=== String class ===
  
Matlab now uses "" to create string objects that behave differently from Octave double-quoted strings.
+
* Matlab now uses "" to create string objects that behave
 +
  differently from Octave double-quoted strings.
  
 
=== Handle UTF-8 (or whatever) characters properly ===
 
=== Handle UTF-8 (or whatever) characters properly ===
  
Try to do this in a Matlab-compatible way.
+
* Try to do this in a Matlab-compatible way.
  
 
=== Handle single and integer values for ranges ===
 
=== Handle single and integer values for ranges ===
Line 88: Line 92:
 
* Use C++11 features where possible.
 
* Use C++11 features where possible.
 
* Better and more complete use of C++ namespaces.
 
* Better and more complete use of C++ namespaces.
* Better use of C++ features.  Especially standard library features as their implementation becomes more widely available.  For example, we might be able to simplify some things in Octave by using the C++17 filesystem and special functions libraries, if they provide results that are at least as good what we are using now.
+
* Better use of C++ features.  Especially standard library features
* Eliminate C preprocessor macros where possible
+
  as their implementation becomes more widely available.  For
 +
  example, we might be able to simplify some things in Octave by
 +
  using the C++17 filesystem and special functions libraries, if
 +
  they provide results that are at least as good what we are using
 +
  now.
 +
 
 +
=== Eliminate C preprocessor macros where possible ===
  
 
=== GUI code editor ===
 
=== GUI code editor ===
Line 98: Line 108:
 
=== Documentation ===
 
=== Documentation ===
  
* Continue to improve Doxygen documentation for Octave internals to make it easier for new contributors to understand the Octave code base.
+
* Continue to improve Doxygen documentation for Octave internals to
 +
  make it easier for new contributors to understand the Octave code
 +
  base.
  
 
=== JIT compiler ===
 
=== JIT compiler ===

Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)