>> IIRC this common code base thing meant that MAIL was re-written from
>> MACRO to C, and is why many of us have maintained the old MAIL
>> executables after upgrades.
> I use the (undocumented) MAIL/OLD feature.
>> Probably by 7.3-1, they work correctly but I have no interest in
>> worrying about that.
> I don't understand the MAIL rewrite at all. It was rewritten from BLISS
> to C. MACRO I can understand. But as far as I know BLISS is still used
> internally by VMS, even on Itanium. So why was MAIL rewritten in C?
The feeling was that MAIL needed to be rewritten, because it was hard
to maintain. Of course when something has to be rewritten for other
reason is about the only time it makes sense to change languages, even
if they had chosen a better language.
Quote:> And what lack of quality control caused documented features to break?
MAIL had a lot of "implicit features" not indicated in any documentation.
Without specific instructions to test for those features, they did not
turn out right.
Quote:> (In my particular case, I run MAIL/OLD since the new executable doesn't
> allow me to spawn out of EDT called from within MAIL, saying that the
> command tables have invalid format.) And why has this not yet been
> fixed (as far as I know)?
So that was presumably an "implicit feature".
As an exercise, try to list _all_ features of MAIL. Then go back
over old comp.os.vms to find all those that were missed in the rewrite.
Were they on the list you just made ?
Although I am a big advocate of strong typing, I believe that most of
the errors customers found in the new MAIL would not have been avoided
by using a better language than C. Language quality might reduce the
time spent with the errors that were found in testing, but not those
that made it to customers.
I was involved in an effort once to rewrite a 10,000 line program
about as old as MAIL into another language (for functional reasons).
The most risky part was capturing the features of the old version.
The specification I wrote of the features of the old version and how
they had to be replicated in the new version was 400 pages long.
Writing a 400 page specification of a previous version is actually
a lot more tractable than the task of getting qualified people to
spend time reading the 400 page specification. At least 20 people
had access to the specification. Nine of those were even people
who had to sign on the dotted line regarding the correctness of
There was a sentence in the middle of that specification offering
a 5 dollar reward to the first person to report the presence of that
sentence. The one person who reported the presence of the sentence
did it a day before the one month deadline was up, and he claimed to
have accidentally stumbled across it rather than having thoroughly
read the specification.