Question: Does any language have only smart pointers? Then would memory management be automatic and without garbage collection.
One minute response: Early programming languages did, but the cost of combining pointer manipulations with storage management proved to be too expensive when storages grew large and the number of pointers increased. Splitting pointer manipulations and storage management let pointer manipulations go at full speed (and tended to simplify the pointer manipulations) while preserving the illusion of having infinite memory via garbage collection (which was paid for, in part, by the cost of collecting the garbage).
This page last modified on 16 July 2003.