On Mon, Jan 14, 2013 at 4:02 PM, Brian Schenkenberger, VAXman- <system at
tmesis.com> wrote:
BLISS has no I/O, and if you want to be pedantic, nor does C. I/O is
all via support libraries which provide I/O. Neither language has any
inherent I/O syntax. A BLISS coder would call some VMS RTL or delve
into $QIO to do I/O.
Absolutely correct. Sorry to confuse >>in practice<< it was two different
models, but you are right, the languages did not force an I/O model in the language
semantics. So the the issue degenerates to VMS RMS (record I/O - from the IBM mainframe)
vs stream I/O - the C/Multics (byte stream) style.
When VAX was first envisioned GB et al, wanted a machine to go after the 360/370 family.
An efficient RMS was considered a requirement and the crew did an amazing job. It was
small, fast and worked extremely well. I t was complicated but lots of people and it
sounds like you are/were in that camp, loved it.
But after VAX-11C was released and stream I/O installed, engineering discovered that
stream I/O was preferred by more people, and in particular us OS types discovered we
preferred it. FYI: Dave added stream I/O to VMS for VAX-11/C (urban legend is in an
weekend - but I really do not think that was true - I was not on the VMS team, although a
number of my friends were).
My memory is hazy here, but I think there was a point where the compiler team rewrote the
FTN runtime support from RMS into stream code soon their after and "their was much
rejoicing." They are likely to have done it in BLISS, but again, I'd have to
ask one the old compiler guys that actually did the work and few are left.
As I said in a previous message I still see Grove socially every so often, but since he
retired a few years ago; he's not as accessible. If you have a specific question,
that I do not know the answer, I >>might<< be able to find some one that can.
But I'd prefer this off-list, please send it to me directly, with a working return
email address.
Clem