For a fixed-function machine with limited controls, like a car or microwave, you don’t need any grasp of how it works before you can master its controls. A programming language is just a complex interface to control a complex machine, giving an infinite range of possible functionality, and I firmly believe that although “somebody said you had to do it that way” will get you through simple tasks, to be creative or deal with complex tasks and errors, a grasp of the principles of how the language and computer operate – at a conceptual level but not a detailed level – is essential. It also reduces the memory load of having to remember lots of individual cases if you can see them as all following from the same conceptual mechanism.
The way I’ll describe objects working, in relation to the programming language the end user types, isn’t the only way they could work, but it is the way they do work in the majority of languages and Tradestation is following the norm. Anything I write about the way a Tradestation object works is the best understanding I have been able to build up, but realistically it is always possible that it is not true; I have no insider contacts. Please report any examples where a Tradestation object actually does something that conflicts with my theory, so I can correct the theory.
I will try and be as complete as I can, to make no assumptions about the prior knowledge any reader may have, so please be prepared to skip over material you already know – but if “what you know” conflicts with what I write, please consider reading some of the text you skipped in case that shows where the deviation comes from. There will probably be lots of cases where ideas A and B relate to each other, and if A is described first it will be necessary to go back and re-read A once B has been read.OOEL-Concepts_AndroidMarvin-2