Global variable
|
06-26-2017, 03:09 PM
Post: #6
|
|||
|
|||
RE: Global variable
(06-26-2017 11:48 AM)DrD Wrote: I like to use reserved variables in programs, as they are very efficient. For example, they don't have to be explicitly declared. They live beyond program execution. They are very useful for debugging, or further, (external), processing. This is the biggest reason to NOT use (system, i.e. reserved) global variables. I am of the opinion that these variables should be left to the user for quick on-screen calculations -- much like in the days of old where scientific calculators only had a few registers to save partial computations. Programs should have their own variables; more on why below. Quote:The data is changeable externally. (So don't use global's for constants)! Use of global variables is a programming simplification, one that all levels of programming experience can appreciate. You can still access non-exported variables for debugging purposes using their fully qualified names. Quote:Cyrille, can you explain a little further why the use of global variables is not a good idea, or why they should generally be avoided? Perhaps, due to system memory management issues, etc.? (Very infrequently, I have had to "Reset" the emulator, for example. I have not had to do that with the physical calculator, so far). Also, (so far), I have not encountered any downside to using Reserved variables, and I have used them frequently. When several programs start using the same reserved variables, and those programs should happen to call each other, then you can easily imagine the mess that could result. But the other (bigger) reason for avoiding them is if a user makes frequent use of these variables for their own quick calculations, then your program could very well destroy their data. My personal philosophy is that all programs should never touch a user's data and leave every global variable, setting, flag, etc. as they were unless the program is designed to explicitly modify the user's data and/or system settings. Quote:An enhancement suggestion: creation of a HOME "RESTART" version of the CAS "restart" command to reset all Reserved variables to their initial value, with [options] for [A]LL reserved variables, or to omit [L]ists, [M]atrices, etc. Home "restart" seems like a good command for users; but as a programming command I would probably never use it (again, to preserve the user's data/settings). I do not speak for Cyrille, of course, or anyone else for that matter; just my 2 cents. Graph 3D | QPI | SolveSys |
|||
« Next Oldest | Next Newest »
|
Messages In This Thread |
Global variable - Powersoft - 06-25-2017, 06:56 PM
RE: Global variable - DrD - 06-25-2017, 07:46 PM
RE: Global variable - cyrille de brébisson - 06-26-2017, 05:27 AM
RE: Global variable - toml_12953 - 06-26-2017, 12:27 PM
RE: Global variable - DrD - 06-26-2017, 11:48 AM
RE: Global variable - Han - 06-26-2017 03:09 PM
RE: Global variable - DrD - 06-26-2017, 04:02 PM
RE: Global variable - Han - 06-26-2017, 08:29 PM
RE: Global variable - DrD - 06-26-2017, 09:04 PM
RE: Global variable - cyrille de brébisson - 06-27-2017, 04:51 AM
RE: Global variable - DrD - 06-27-2017, 11:32 AM
|
User(s) browsing this thread: 3 Guest(s)