Alejandro Jakubi

MaplePrimes Activity


These are replies submitted by Alejandro Jakubi

@oldstudent 

Maintenance of the entire codebase for Maple is a big issue, apparently without a good answer. It has been the subject of several (sub)threads here like:

Programming styles

@nm 

There has been several (sub)threads here dealing with these Engineering issues. E.g.:

When an upgrade isn't

Quality Assurance

Broken help links / Maple 12 Classic

One important difference is the legal status, it seems.

Note, by the way, that the structure of threads in this site was changed by the reform of June 2010, frequently breaking their logical order.

@nm 

Actually, it is more than two GUIs, it is about two parallel subsytems, the historical or C one, and a Java one grafted upon. The interplay between them is rather complex, with wide ranging consequences. For instance, "clickable" facilities with no programatic counterpart. And quite a number of quirks and bugs arise from the lack of coordination between these two subsytems. And then there are two internal formats, two parsers, two Standard GUI typesetting modes, and much more...

I also wonder which is the idea. I would find very interesting that Laurent revive his blog and tells us about it.

Yes this site is a mess. Formating of posts were spoiled several times along its history. Worst, I keep finding posts disappearing all the time. And I have just had to load again a picture in a post of mine about Medit, linked in the F3 thread, that was there short time ago...

 

 

@Andriy 

This is a post that I have made a while after finding Medit. I had been looking for something like that a long time. I kept using it ever since.

@Carl Love 

In this thread, Bill Lark said:

One possibility might be that a line in the worksheet is executing before the previous one is complete. For example, if you have a /restart/ command somewhere in the middle of the worksheet, it could be that the line after is running before the /restart/ is fully complete. Putting the /restart/ command in its own execution group should solve a problem like this.

This comment is currently missing. This quote was rescued from my archive. Yet another example of the "Bermudas Triangle effect" hitting on this site...

@Markiyan Hirnyk 

The problem is that there are two pieces of code in interaction, the traditional Maple language commands on the one hand and Java code plus worksheet settings on the other, that acts as a kind of cache. The setting here for Standard is "No Annotation" for "Assumed variables". Now, starting Standard and pasting the lines:

restart;
assume(z>0):
interface(showassumed=0):
z;

in an execution group of a fresh worksheet, and executing it with !!! produces an output without tilde (z). Then, starting a new worksheet (new tab, CTRL N), independent kernel but same Java virtual machine (VM), and doing the same, produces quite reproducibly an output with tilde (z~). Reexecution of this second worksheet may keep producing tilde, but the length of this "tilded" sequence is variable on the try (sometimes 2, sometimes 8, etc). While a tilde output is shown, a save of the worksheet produces a worksheet XML code that does not keep trace of the tilded output (meaning that when reopened no tilde occurs). And after the tilded sequence finishes, no tilde output occurs again.

Now, one reproducible mechanism to end the tilded sequence is switching to the first worksheet, and then back to the second. The next reexecution of the latter no longer shows a tilde. This event produces a distinct signature in the VM. Monitoring it shows a jump (duplication) of the Permanent Generation size. 

   

@Markiyan Hirnyk 

The difference is about an assignment. Your document has the line:

laplace(r, t, s)

instead of an assignment like:

r:=laplace(r, t, s)

or

r:=inttrans[laplace](r, t, s)

So, eval(r, z = 1) evaluates on the value of r := convert(f(t), Heaviside).

@Carl Love 

How would a normal/newbie user know which package is new and fully module based, old and table based or old but updated, parts table and parts module? The help page ?index,package does not provide this information. Certainly, experienced users do remember about old packages, so that we have a clue...

Moreover, modules were introduced in Maple 6 (1999). It is time that all the library packages were implemented as modules!

@nm 

Certainly, at least at the discursive level, there is a sharp difference between the narrative for Mathematica and Maple about the value of coherence in development. E.g. compare this paragraph by Stephen Wolfram:

And from the beginning I put incredible effort into making sure that it was coherent, and unified. And would always remain so. I wanted all the pieces of the system to fit perfectly together. So that if you were using one part of the system, you could immediately pull in any other part, you’d immediately know how to use it, and it would just fit seamlessly in.

with this paragraph by roman_pearce:

The Maplesoft company maintains and enhances the core routines (such as simplify, int, solve, etc), develops the Maple kernel, and oversees development of the system as a whole. The picture I'm trying to paint here is that Maple is more like an organic ecosystem than a monolithic product. The company has built a platform and it supports many different (and sometimes competing) development efforts. The advantage of this approach is that the good routines win out over the long term, and the product is allowed to evolve and adapt to new uses quickly. This is the reason why Maple is so widely installed - there is almost always something useful that it does. The downside of this approach is that it is chaotic. Old parts of the system don't seem to know about new functionality, and some newer parts occasionally conflict. Long-term users of Maple accept this, and complain to the company endlessly about what needs to be fixed.

It remains to be investigated how far these different narratives actually reflect into the development process.

@rlopez 

Yes, programmers are one of the sectors of the user community that would benefit from a GUI optimized for coding. As a matter of fact, a one-for-all, bloated GUI as Standard cannot be optimized for every particular purpose. A better choice would be a GUI for clickable math, 2-D input and the like, and another one for development and high performance. Or, perhaps better, a modular approach where the user chooses the components that fit better his profile, trading for the best balance between performance and features.

Many threads here and elsewhere have been reporting about serious problems of the Standard GUI in areas like performance, reliability and convenience. I think that you should read them, even if they deal on usage patterns different from yours. Choice means, among other things, choice of priorities, which sector of users to prioritize (more about marketing than "malignity", as you have interpreted). This issue of priorities has been discussed extensively here and elsewhere. Choice means also choices in design and architecture of the system. 

@rlopez 

But, as even Laurent has recognized here, it would be possible to produce a modern GUI, the succesor of Classic in current technology. As it has been requested and discussed many times, here and elsewhere, a simple, efficient and reliable GUI is needed by a significant part of the user community. It is a matter of choice by Maplesoft not to provide it.

@nvc 

Using inert forms helps doing many other things, besides bypassing even-symmetry normalization of cos. In any case, specific advice much depends on your actual code (or a general enough fragment).

Yes, I agree that the Standard GUI is very clunky. Even a burden on the whole system, I would say. You may find many examples here and elsewhere. But some people think the opposite. Maplesoft management in particular. So, there is no solution in sight on this issue. There is another GUI, Classic, obsoleted and barely maintained, but nevertheless an option on some platforms (it is a 32-bit application).

Consequently, in recent years, my choice has been using mainly the CLI through an IDE-like editor, unless a GUI specific feature is required.

@casperyc 

Now, as usual lately, the computer is booted on Linux. But looking at some application configuration file (for launching Maple) on the Windows partition, basically the "batch file" parts, I see that I have set some of these lines (years ago)  like start /b ..., see e.g. here. I guess that you might not need the option -q for Maple, in this case. Yet, certainly, I see in this file no example of start and the redirection operator combined, though it might be by chance or historical reasons. Note, by the way, that the reason for using start here was unrelated to running parallel processes.

When possible, I will check whether that BLANK result is anyhow reproducible here. In the mean time, you might try alternative schemes. E.g. a batch file calling batch files, like:

start /b a.bat
start /b b.bat
...

where a.bat is like:

cmaple a.mpl > a.out

and so on.

First 15 16 17 18 19 20 21 Last Page 17 of 109