Gilda uses a variety of features to minimize the need for pointers and when they are needed, help manage their use. Unrestricted and unnecessary pointer usage leads to familiar problems. Gilda lets you use pointers when you really need them, but also provides the look and feel of programming without pointers when you don't need them.
Since dynamic strings are a primitive type, problems associated with representing strings as a pointer array of characters are eliminated. Memory for String contents is automatically managed; which otherwise would be a common source of programming errors.
Global variables cannot be pointers; their use is limited to individual procedures. Structures can also contain pointers. Their scope is limited to methods within the class where the structure is declared. Pointers cannot be passed as parameters; except returned as an Exit paramter.
There are also two kinds of pointer. A Reference pointer allows read-only access to the data it points to. With a Wizard pointer you can change the data to which it points.
Pointers are also strongly typed, as are all Gilda variables. Variant pointers are also supported that can reference one of several different types of data.