Pointers are the ultimate software development aid. They were invented by programmers, to defer responsibility for faults in their applications.
When a problem occurs with a piece of software, the user will automatically blame the programmer. With the introduction of pointers, the programmer can now put the blame on them. The pointers will then blame something absolutely random, although many pointers tend to always blame nothing. Programs running on Apple computers usually blame a dead cow.
If a program is typically used by more advanced users, the programmer can decided to use pointers to pointers, making the real culprit even harder to find.
The first historical records of pointers dates back to 1573. In those days, pointing was a form of manual labor. Due to the increasingly high costs of manual labor, pointers became expensive, and because programmers had to pay for their pointers out of their own salary, the need for a cheaper form of pointers was on the rise. But it wasn't until 1981 that George Stevenson invented the first artificial pointer.
Arrays of pointers
Microsoft, the creator of a really big program, full of
faults undocumented features, named Windows, introduced an advanced concept based on pointers, called an Array of pointers. These arrays can be used to defer many customer complaints at one time.
Another use of the Arrays of pointers was Windows XP, where one key piece of C# code, goes:
Random windows = new Random();