Subject Re: [IB-Architect] enhancement to procedure/trigger language
Author Doug Chamberlin
At 6/7/2001 10:23 AM (Thursday), Jim Starkey wrote:
>Why doesn't [Pascal] need a return statement?

The original way to return a value from a function was to assign to the
function name identifier. Delphi Pascal introduced the generic "result"
identifier which cleaned up some semantic confusion when the function
identifier was used. So assigning to "result" and then using the Exit
statement is the equivalent to using return.

>Perhaps the most serious problem with Pascal is the impoverishment
>of the original language which forced virtually very implementation
>to design a new language each, confusingly, named Pascal.

I seem to remember the same splintering of dialects (especially in the
runtime libraries) with C back in the late 70's and early 80's before the C
community decided it was in their best interests to conform to a standard.
(I know the libraries are not the "language" but if they are needed for
real work they are effectively part of the language.)

The impoverishment of the original Pascal is well established and well
known. But the resulting dialects were caused mostly by the hands-off
attitude of Wirth who didn't want to participate in the
commercial/practical side of his efforts (even to organize a language
standards effort). The language itself was elegant but incomplete.

Currently Delphi Pascal is the de facto standard. All others are "also
rans" and have been for many years. Borland has done a masterful job of
evolving the language judiciously. It shares many good characteristics with
Java. Of course, it is far from perfect.