Peter Bismuti said:
> I don't agree that 31 characters is enough
It is interesting to note that when Fortran 90 was being standardised the
committees copped some flak for increasing it to 31 (from 6). At the time,
there were still systems in use (and probably still are today) whose linkers
or object file formats limited the external name length to 6 - but the
Fortran committees decided that the value to the user of having longer names
outweighed the additional burden to the implementors on such systems.
> to exist? You'd have to change your convention and soon you'd be right back
> to "ibcns" (well maybe not but you get the point).
Not really, no. Plenty of large systems have both mnemonic and "reasonably
short" names.
> In any case, it seems like a useless restriction, who
> cares how long a subroutine name is?
The compiler.
The assembler.
The linker.
The library builder.
The operating system.
The debugger.
The profiler.
The Integrated Development Environment.
Any or all of the above may deeply care about the lengths of various names.
Plus the maximum length may well be fixed in:
- the object file format
- the executable file format
- the dictionary file format
- the module file or database format
> Is there a technical reason
> why this number was chosen, or was it chosen arbitrarilly?
The above should give a clue as to the technical reasons why *A* number
was chosen. At a guess, 31 was probably the biggest number which did not
cause problems for too many machines.
Last time I looked, both VMS and Convex Unix had a hard limit of 32, in
the tools and formats mentioned above.
Cheers,
--
...........................Malcolm Cohen, NAG Ltd., Oxford, U.K.
([log in to unmask])
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|