long names in 'C' programs (reprise)

Ihnat ignatz at aicchi.UUCP
Sun May 26 03:28:15 AEST 1985


Thanks to all who mailed to me--positive, negative, and a**holes--for at
best, constructive agreement or criticism, and at worst, caring enough
to spend the time to even carp at me.  I'm going to answer all personal
mail on this, and that's where I think it belongs after this; but I would
like to rebut and comment on some items brought up.

First, yes, I know what net.sources is for.  (I've been a participant on
the net since about '81...)  OK, perhaps posting there was questionable;
I *was* annoyed at the time, and wanted to at least guarantee that I caught
the attention of those who may, in the future, be writing code; net.sources
definitely caught some peoples' attention...

Secondly, one person snarled something to the effect of "...what drivel to 
post...".  Excuse me--I make my living in this field.  I think, after something
like 9 years, that I know how to evaluate problems and solutions.  (Either
that, or a lot of corporations are fools, and I'm the benefactor...yes,
I'm leaving myself wide open, but I'm in sincerity mode right now)  Portability
is *not* drivel; it's the crux of the issue.  If you're dealing with a
client who's run an all-assembler shop until now, and try to tell him/her
that a move to 'C' is a reasonable investment, what do you answer to their
"why?" ?  Usually, that they're then portable; no longer tied to machine
XYZ, and development system FernDork.  But if people start cranking out
code for this guy that only works on one or two variants of the compiler, 
he's been sold a bill of goods; the first time they try to go to, say,
an Altos environment running Xenix, they're going to realize that it just
isn't reasonably feasible.

And it's all so pointless; you can use your very long flexnames to give
you meaningful names in your code;  yet it's quite easy to use a naming
convention that is *still* unique in the first, say, 7 characters.  It's
a rare case of having your cake and eating it, too--your code will now
work on ALL systems, so why restrict it's portability and maintainability
when it doesn't cost you anything?

Yes, maintainability.  Some suggested the use of 'clash'.  Yes, I'm aware
of the program--and I still maintain that it's not a reasonable alternative.
The fellow who recounted his problem with GNU Emacs hit the issue dead
center:  updates, bug fixes, and maintenance become administrative nightmares.
Not to mention that you now have to keep twice the source code, or more
than double program generation time; not bad on small, occasional programs,
but totally unacceptable if you're a business considering moving to a different
environment.  It would be all right if there were a large, determined swing
in the industry to move to flex names--but there isn't, not yet.  You won't
see this filter down to the community at large for at least 2 years, and
I think I'm being *very* conservative;  commercial houses like Manx and
Whitesmiths' are slow to make radical changes in their products until they're
tested and proven.  Till then, they can't even shop for a compiler to *buy*.

Several suggested rewriting the compiler, assembler, linker, pcc, etc.
Others, to buy new ones.  Still others, to patch the extant ones.  In all
cases, I have to respond that we're not talking about a school or home
environment.  The client will *not* accept a solution that leaves them
with what they see as a bastardized system that nobody else has ever seen,
and that requires a guru when all they wanted was a development tool that
was touted as allowing them to target a wide range of systems.  They often
don't control the pursestrings, or can't get the compiler on a type of
system that has a market they'd like to break into.

Finally, to end this too-long response, someone made the suggestion that
they hadn't properly controlled their consultants.  True--detailed review
of design proposals is a critical concern when dealing with outside houses.
But this is the place that--I hope--those who will become the programmers
and designers of tomorrow will see and think on these issues, so that they
will bring them up to, all too often, naieve clients who don't realize
that this is even a concern.  YOU are the professional, selling your expertise
to your employer or client; YOU should attempt to make the product as flexible
and usable as possible.

And, to those who simply responded with vitriol, the same.

Any further discussion is welcome, but unless the net at large wants to
stir this up, I suggest a mail forum.  And please, think about it; this
is the type of thing that can make or break 'C' and, by common inference,
Unix in the business world.

	Thanks for your indulgence,
-- 
	Dave Ihnat
	Analysts International Corporation
	(312) 882-4673
	ihnp4!aicchi!ignatz



More information about the Comp.lang.c mailing list