Rank: Advanced Member Groups: Registered
Joined: 23/12/2012(UTC) Posts: 93 Was thanked: 169 time(s) in 132 post(s)
|
Hello Andrey, Hello Everybody,
I’m using with great pleasure and efficiency the SMath and its developments, since 2012. I’m sincerely indebted for the opportunity of using this tool that fit perfectly with my expectations.
All my gratitude to Andrey as to all contributors to the current development.
I promoted it, as well in my teaching activity, as in my professional publications.
Now, after an enough long use, I feel as opportune to mention two developments that would be very profitable for my engineering practice, and I also hope to some others, namely:
A. My first proposal is more a “cosmetic” one but also an ergonomic one. Details:
The matrix programming object, as it is now in SMath, is a very generous tool. It can host a big variety of content. Often, I feel frustrated because it is difficult enough to view and to isolate a cell content; see the above figure. The solution that I propose is to provide some addition lines for showing the structure of a used matrix as in the above example. B. My second proposal starts from the SMath specificity of avoiding the variables scope declaration.
A name used inside a procedure may change the content of a variable from the outside of that procedure and vice versa.
I understood that for some uses, this feature is very profitable but, at least for me, there are also situations generating confusion risks.
For SMath, all variables are global, as well those used in the input line of a function as those used in the function body.
So, in the case of programs with an important number of variables associated with their physical meaning, there are almost inevitable conflicts, hard to identify and hard to doctor. The practice of using in the procedures body names with some specific characters (#, &, @ etc.) is embarrassing enough and generating long ugly code.
My proposal is to invent a special type of function, inside the main SMath module or maybe as an ad-on. This function must be totally proof against changing outside information other than through the input line (read only names) as through the output line, always read only. All its variables must be exclusively local, only the input line and the output information are in contact with the main program.
In the same time, I think that there could be invented a common block data object, declared explicitly and available explicitly
I hope that my proposals, could find some interest for helping in the creation of a robust and easily debugging code. Thanks for your attention.
Best Regards, Ioan
Edited by user 16 May 2024 23:01:30(UTC)
| Reason: Not specified |
Do to others as you would like them to do to you! Knowledge is of no value unless you put it into practice - Chekhov |