Rank: Advanced Member Groups: Registered
Joined: 23/12/2012(UTC) Posts: 94 Was thanked: 169 time(s) in 132 post(s)
|
Hi Faruk,
I’m structural engineer also. I already faced your dilemmas on solutions for organizing a sort of library for including a multitude of structural engineering tools. So, I will share (IMHO), here after, for any eventual utility, some aspects of my experience. Of course, I do not pretend to be always right; I wait for any critics and suggestions.
1. Firstly, in the structural engineering we use a bunch of symbols. One of the biggest qualities of SMath is to allow the use of variable’s names, written and organized as in books and standards. So, the check and the debug are highly facilitated.
2. One of the major features of SMath is that the variables are public. A same name, present in different functions is accessible in read/write operations from anywhere. Clearly, I do not deny the advantages of these features for certain uses. In order to handle this feature, when it is perceived more as an inconvenience, many users add some complementary symbols (@; # & etc.) to avoid hard controlled interferences. Also, some people use the clear() function.
3. Classical programming data scope is not comprehensible applied in SMath (!?).
4. In order to avoid some mess, I proposed to Andrey the creation of a special type of totally encapsulated function, where all the used information is introduced, for read exclusively, only through the function name definition and the results accessible in only read mode, exclusively accessed through the output line. This encapsulation has the great advantage of the free use of names allover without the risk of an out-of-control. In fact, all the native functions (sin(),tan() etc. have this behavior. Probably that the introduction of the concept of public blocks of names declaration could also be benefic.
5. The use of “include” command do not change the common use of variable’s names.
6. Some of the biggest inconveniences of the use of one huge module are hard to manipulate; slow to execute; big damages in a crash, etc.
7. A way I practiced is based on the creation of independent modules changing information by using read/write data files.
Please take my assessments in their full relativity. Really, I would be glad to profit also on some others “art of programming” with SMath. I use SMath, since many years, as it is and as it evoluated during the time, in a very profitable manner. I had not enough words to thank Andrey for his generous project.
The main feature of SMath, that I insistently point, is the full transparency of applications, in opposition with the “black box” feature of major parts of commercial codes.
The major paradox for the use of the modern informatics in the practical engineering is that the commercial programs are doing all in the name of the user who can’t accede in the details of the operations while the user himself keeps the whole and exclusive responsibility.
Best regards, Ioan
Edited by user 09 July 2024 23:40:45(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 |