More likely, he'll be told to stop wasting his and the IT manager's
time. If he doesn't know how to get a hexdump by now without
writing a new C program to do it, there's something wrong.
The average programmer probably doesn't know the arcane
IDCAMS PRINT DUMP. On the Unix I use, "od -x" is crap.
Regardless, I have my own utility, which I am happy with,
written in portable C, and I can run it on any alien
environment I encounter. E.g. I only recently started
using CMS. I've done many hexdumps. If there's a native
hexdump, I don't know it.
And a hexdump is just one example anyway. What's the
native CMS call to calculate a CRC-32 of a block of
memory?
Given that even expensive C compilers are so cheap compared to any
reasonably-sized organisation's IT budget, if the organisation as a
whole doesn't have a C compiler it can only be because IT
management has decided it doesn't need one, presumably because it
can get by with the stuff it already has.
Of course it can get by. As it has been for many years.
Which is exactly what the bottleneck for C90 as a
lingua franca is, as far as I can tell.
It's common sense to use
what you've got if it will do the job and save you spending money
on something you don't currently have.
It will do the job. It can be written in assembler, just like
everyone else does. The people who are doing the programming
don't necessarily care. They get paid regardless. Who is the
person who is going to point out that the company would be
better off with a C compiler? Some of these things aren't
that easy to even measure anyway.
That sounds more like broken than working, but smuggling a C
compiler onto the mainframe is not the right fix.
Can you name one organization with nothing broken in it?
I'll go to them to get bug-free code too - a one-stop shop.
I'd love to see the women there too.
And that's not necessarily "smuggling" anyway. So long as
it's free so that no paperwork is involved, it's no different
from writing it yourself, at least if it's in source form.
It depends on your boss. I got permission to use CVS in
development the same way. PVCS is the official thing to
use, but it's only used for final submission to production
rather than during development.
And there's very few people or organizations I have encountered
that know what a 3-way diff is, despite being one of the major
milestones of computer science (in my opinion). I see enormous
lost productivity because of this. I can remember explaining
project branches to one manager-type person who was about to
implement this new concept of "module ownership" (one person
would make all the changes for all the different projects to
a particular source file). I explained that CVS would
automatically do the merging if it was set up like that.
His "decision" was based on "do you really think we would be
going to all this effort if it was possible to do it
automatically?". That's what he literally said to me.
I left that company and returned a couple of years later and
asked whether the scheme had been implemented. It had! And I
was told the conclusion was "and we must never do this again".
Something like that is very difficult to justify to my boss
as well, as I need to spend time on the CVS admin side, so
that we don't have source control problems. Since so few
people understand the 3-way diff, they don't see why I need
to spend an hour stuffing around with the source code when
it's already been delivered to us and sitting there ready
to use.
It depends on the boss whether they trust you enough to let
you do it the non-standard way which they don't even
understand. Given sufficient time I will then be in a
position to say "when was the last time we had a source
control problem from our end?". Similar to "how many
people are now using info-zip now that we've got a
C compiler"?
Well, I upload stuff to a z/VM system via c3270. I manually
initiate the transfer after pressing ctrl-[.
There may well be a way to automate that, but I don't know it.
There is a way to initiate the transfer in software. I ***may***
even have code to do it, although that was a few machines ago and
it could easily have got lost. I'll look if I find time.
I don't have a problem with the current zip method. I've
stopped transferring files to that site.
I would have to get familiar with the source code to do
that. Last time I started down that route with newlib on
Cygwin I didn't get very far. It pollutes the namespace
with Unix nonsense and there was no easy way to reverse
that out, and the powers that be didn't see anything
particulary wrong with a non-conforming C compiler.
So much for a lingua franca!
So prior to doing the transfer, I do a hexdump (sort of) of
the zip file. However, for some reason, text mode transfers
don't work either, so I do the conversion to EBCDIC in
advance.
Um, quite. I remember having to cut code to translate [ and ] into
the characters that, after conversion, would represent the EBCDIC
characters that the C compiler insisted upon for [ and ] - the
The text mode transfers aren't even getting far enough
to hit that problem.
alternative was trigraphs (which you'd think was unthinkable,
except that I have actually worked on a code base that was littered
with the darn things). Such translation is a nuisance, but /only/ a
nuisance.
So is writing code in assembler instead of C.
It's easy enough to arrange to do them all in one operation
/without/ using zip.
The filenames need to be changed on the CMS system too.
My unzip program (written in C) accounts for that.
Yes there is.
A lack of problem is normally only a problem for teachers.
I'm only relating first-hand experience of having to write
things unproductively in assembler.
But if they don't need one, why have one?
Not everything is done on a "need" basis. Why do you
have a colour TV when you can get by with bongo drums?
Or you just do your processing locally and transfer it up, as I've
suggested. It's not difficult.
That's just one of many problems I would normally solve
with a C program. How do I traverse MVS control blocks
locally?
Please don't misunderstand me - I'm not averse to the idea of a free
compiler for mainframes. But in my experience the kind of place
that won't pay for what it considers to be non-strategic software
tools is also the kind of place that won't allow programmers to
upload FOSS onto the mainframe anyway!
There's no blanket rule like that. Even if not all organizations
will be covered with a free C compiler, some can be and have been.
And at least the problem is now down to politics. The barrier of
financial cost and red tape for purchase orders and support
personnel have been eliminated, as people can upload the
required stuff to their private datasets, just as if they had
written it themselves.
BFN. Paul.