Registered Member
|
Cantor is one of the few programs in KDE designed explicitly for advanced scientific, mathematical, and engineering purposes. From the description:
One of the most-requested features for KDE Science is a good replacement for Matlab, Mathematica, Maple, and other popular general-purpose advanced mathematics programs. There seems to be an agreement that Cantor has the potential to fill this role, but lacks some features needed to make it competitive with these programs. The purpose of this thread is to find out exactly what features people think Cantor needs . For KDE 4.6 Cantor will have improved R support and a variable management panel at least for some backends. So you don't need to request those features.
Man is the lowest-cost, 150-pound, nonlinear, all-purpose computer system which can be mass-produced by unskilled labor.
-NASA in 1965 |
Registered Member
|
How difficult is it to make new backends? In my field (meteorology) ncl (http://www.ncl.ucar.edu/) is heavily used, and totally lacking any kind of frontend. One of the reasons that I enjoy using Matlab more than NCL, is the frontend, which makes interactive usage, history management and eventually scripting easier to do. Another reason is that NCL has a relatively steep learning curve, so it would benefit from a few templates and help files available offline. (The online support is rather good, actually).
Now I understand if NCL is too much of a niche product to let Cantor it support completely, but if there is an easy way feasible... |
Registered Member
|
Apparently one thing Cantor is lacking is a tutorial about making a backend. It is propably not complicated to do a simple backend for a language, but presently one has to look at the API docs and existing backends to figure it out. For an inexperienced programmer that's an obstacle.
I hope that the next person who goes through the process of writing a new backend also writes a tutorial to TechBase about how it is done. Obviously, one cannot expect the Cantor devs to write support for something like NCL, so you need someone who has a personal interest in using NCL with Cantor to write the plugin. |
KDE Developer
|
Cantor was designed to make it as easy as possible to add new backends.
Basically you only have to find a way to interface to the backend app (e.g. through a C/C++-API if available, or by parsing its console output). Then all you have to do is write a thin layer, that takes commands from Cantor (strings), executes them in some way and reports the results back (as text, image, etc.). Indeed a tutorial is missing (I've had that on my todo for a long time. sorry), but I think you can learn the needed things by coping over from some existing backends. For a very simple one using an API see KAlgebra, for parsing console output see Maxima/Sage/Octave. I don't know anything about NCL, but if you want to try it, feel free to ask me for help on the Cantor side.
arieder, proud to be a member of KDE forums since 2008-Oct.
|
Registered Member
|
Of course it should be something that an NCL user should do. a) It's the party with interest in it, and b) we're the gang that have (potentially) the knowledge to do it.
So I'll give it a go one of these days. Time is - as with most scientists - an issue, but from a first look at both the NCL API and the cantor code, it seems not undoable. |
Registered Member
|
A few things I think are missing:
A pure python backend (as opposed to SAGE). Sage is huge and has a lot of stuff I don't need, all I really need is python, scipy, matplotlib, and mpi4py (and numpy of course, but both scipy and matplotlib use numpy). An integrated documentation browser for the backends A function list panel The ability to drag and drop reorder the boxes in a worksheet (I don't know the proper name) Find should use a bar like kate, dolphin, rekonq, etc. The tab bar should use qt tab bar, which allows drag-and-drop reorder of tabs, a new tab button in the bar (which could be used in place of the new worksheet button), the ability to appear on the left, right, or bottom of the window, and other features. The ability to duplicate a worksheet (by right-clicking on the tab). The help panel should display the documentation for the function, data type, or module you are hovering over, at least with backends that support this like Sage.
Man is the lowest-cost, 150-pound, nonlinear, all-purpose computer system which can be mass-produced by unskilled labor.
-NASA in 1965 |
KDE Developer
|
Registered users: bartoloni, Bing [Bot], Google [Bot], Sogou [Bot]