Talk:Job Control Language
I have my doubts about the leading "//" on JCL commands being a safeguard against loading the cards backwards in the card reader. If the cards were backwards, nothing would make sense, whether it started with a "//" or not.
I think it's more likely that the double slashes were simply the best available special character available for use in JCL. In normal English, the slash is not used very often, and almost never at the start of a sentence. So the double slash becomes a convenient, short, and unique identifer to the operating system that the card contains a JCL command.
Its fair to ask why JCL needs a special identifier in the first place. After all, since the cards are being read from the card reader, can't it be assumed that the cards contain JCL commands? Yes and no. A deck of cards read by a card reader will normally contain a mixture of JCL commands and data. by simply looking for the double slashes, it becomes easier to distinguish between the two.
When data is embedded in the job itself, it is referred to as instream data. The JCL command which marks the end of instream data is "/*".