9. There is no escape
This last point is perhaps the most important. The language is
inadequate but circumscribed, because there is no way to escape its
limitations. There are no casts to disable the type-checking when necessary.
There is no way to replace the defective run-time environment with a sensible
one, unless one controls the compiler that defines the “standard
procedures”. The language is closed.
People who use Pascal for serious programming fall into a fatal trap.
Because the language is impotent, it must be extended. But each group extends
Pascal in its own direction, to make it look like whatever language they
really want. Extensions for separate compilation, FORTRAN-like COMMON, string
data types, internal static variables, initialization, octal numbers, bit
operators, etc., all add to the utility of the language for one group but
destroy its portability to others.
I feel that it is a mistake to use Pascal for anything much beyond its
original target. In its pure form, Pascal is a toy language, suitable for
teaching but not for real programming.