da Silva, Joe wrote:
You take things too seriously, Frank. The wink in reference to GC was a clue that you shouldn't have ... <G>
One of the key advantages of Pascal over more primitive languages, and one of several reasons it is much less bug prone, is that it imposes discipline on the program. IMHO, GC is contrary to that philosophy and not appropriate to Pascal
Well, I also disagree here. As others have said, this should be up to the programmer to decide, depending on the needs of a particular program (and so it is).
A counter-argument to your argument (which is certainly also valid) would be that Pascal does some things automatically that, e.g., C does not.
Suppose you only know C (horrible thought, I know ;-) and are used to C style strings, i.e. you malloc() them when necessary and free() them when you don't need them anymore, but the language doesn't enforce the latter. When you then hear the statement above about discipline, you might assume that in Pascal you'd also have to allocate every string, but are forced by the language to dispose of it again. As we know, that's not true, because in Pascal you (usually) don't need any heap operations at all to work with strings (cf. string concatenation, string value parameters, functions returning strings).
So, in Pascal there's both -- more things done automatically behind the scenes, but OTOH stricter enforcement of the rules for those things you have to do yourself. In which of these categories you put memory housekeeping, is not obvious I think. (Of course, the standard contains `Dispose', but it doesn't demand that `Dispose' actually does something, or that a program that doesn't call `Dispose' must fail after awhile.)
Frank