Re:Fun things to do with your VM/370 CE machine – Fun with b...
by rbanffy on Monday November 09, 2026 @10:38AM
(#50427082)
> It's 2026, and I just wrote about FORTRAN 66. Good heavens!
Thank you for the clarifications. I'll dig a little more and add that to the article. I learned Fortran 77 a long time ago, but I never used Fortran 66.
Re:Fun things to do with your VM/370 CE machine – Fun with b...
by wrs on Monday November 09, 2026 @12:26PM
(#50428596)
To learn more about the mystery first character, the search term is “Fortran carriage control”. I’m not sure all the choices were ever standardized, but you can typically use + (don’t advance the carriage; i.e., overprint the last line), 0 (double space), or 1 (“form feed” to the next page).
I can remember my Fortran teacher illustrating these with little hand gestures as if he was holding the knob on a typewriter carriage.
I also remember someone at college who had a grudge against the computer minions behind the glass who took your printout and filed it in a cubbyhole for you to pick up. He would run a job to repeatedly print
+________ (…132 total underscores)
which had the effect of cutting the paper, which would drop out of the bottom of the printer so the minions had to open up the printer and refeed the paper.
Re:Fun things to do with your VM/370 CE machine – Fun with b...
by JdeBP on Monday November 09, 2026 @03:57PM
(#50432011)
They were. See §7.1.3.4 ('Printing of formatted records') in the 1966 standard. I went and double checked before posting, because I am supposedly not the FORTRAN person in my family. (-:
Notice in EE the use of [F3] to exit as in the original CUA. As I said at https://news.ycombinator.com/item?id=50026580 .
Unix called it 'text' too. That's why the ETXTBUSY error's traditional message string is "Text file busy".
It's not losing the first character from FORMAT because of some magic line printer discard for the first character. It's losing the first character because you don't understand FORTRAN. FORMAT, as you can see in that example program, uses field descriptors to describe formats. It's losing the 'H' from 'HELLO' because that character means a 'Hollerith string' follows it, which in your case is the Mockney 'ELLO WORLD'. (-: You need an extra 'H', to start with.
In Unix terms, this is akin to the classic mistake of using printf() instead of puts() for your Hello program, and using a percent character in your string. In BASIC terms, this is PRINT USING, not PRINT. And yes, that does mean that technically you are holding it wrong. The text to write should be in the list given to WRITE, and FORMAT should just be specifying the field descriptor.
Only then do you get to the fact that the first column of formatted output specifies the number of printer lines to advance. So you are holding it doubly wrong. There should be a space after the 'H' denoting your Hollerith string that precedes the 'H' of your 'Hello'. (-: Notice that IBM's program has a space between the field separator "14H" (14 character Hollerith string) and "PROGRAM ERROR" (13 character string). That's not just random whitespace. It's the first character of the string, it means 1 line of vertical space, and the string is actually " PROGRAM ERROR".
You can get several native versions of REXX for Linux-based operating systems and the BSDs, including ObjectREXX and Regina.
* https://pkgsrc.se/lang/rexx-regina
* https://pkgsrc.se/lang/oorexx
* https://pkgsrc.se/lang/rexx-imc
It's 2026, and I just wrote about FORTRAN 66. Good heavens!