You are on page 1of 1

PL/SQL, as most imperative languages do, falls somewhere between these two poles.

It
allows programmers a fair amount of control, but wants to reserve some freedom for
itself, either to save the programmer trouble or to make the translation process more
effective and to make compiled programs run more efficiently.

A Definition Of Freedom
This discussion is not merely philosophical. Languages without tight descriptions are
inelegant. PL/SQL needs a tight definition so that programmers know what to expect
and so that new features and capabilities can be added smoothly and with assurance that
no old feature is broken. Most important, Oracle Database 10g provides a new
optimizing PL/SQL compiler which speeds up computationally intensive programs
ported from older versions by two to three times on average.
To achieve these improvements, the compiler must be free to reorder and to eliminate
computations so long as the computational intention of the original program is
preserved. Thus, PL/SQL must specify precisely what freedoms exist so that the
compiler will not unwittingly overstep the bounds

You might also like