Re: Lessons learnt? I doubt it.
> What more can you say about a scripting language that frequently requires a null operator and calls its null operator "IEFBR14"?
Years and years ago, in the days of OS/MVT 18.0 (or near offer), a new programmer was hired by IBM to work on MVT. This clever lad (for he was a non-female person) realised that IEFBR14 was a massive 4 bytes in size, and consisted of the two IBM Assembler instructions:
SR 15,15 ; clear register 15 to zero
BR 14 ; branch to the return address held in register 14
He thought that he would optimise the program by removing the first instruction, leaving only the two byte instruction:
BR 14
This he did, and put the 'optimised' version of IEFBR14 into the next MVT update. No testing or change-control was needed - "obviously" - since it was such a simple change.
However, he did not realise that register 15 was the return-code register, which would now contain an unspecified number, but not zero, and consequently all jobs which tested for a zero return code began to fail spectacularly.
I am not aware what happened to the hapless programmer.