Both languages ??implement a model of work with dynamic data: the objects are created dynamically by the design new, runtime monitors the presence of links to them, and the garbage collector periodically clears the memory from objects that do not contain links. To optimize garbage collection specification languages ??and runtime environments do not contain restrictions on the lifetime of the object after removing the last reference to it - the collector operates independently of the execution of the program, ...