sjl@amdahl.UUCP (Steve Langdon) (07/18/85)
The source that Steve Hawley ({joevax,mouton,alice}!sdh) recently posted
in net.sources.mac brings to light once again an unpleasant problem.
To quote a message I posted on the subject some months ago:
>The community of Mac programmers using C are faced with an unpleasant
>compatibility problem. Megamax C naming conventions do not follow
>Apple's recommendations and it is very painful to convert programs
>written for the Megamax compiler to run with compilers that do adhere to
>Apple's standard.
>...
>It is extremely tedious to translate a large number of identifiers even
>when you have the UNIX text processing tools available. A Mac user
>without UNIX access would have a really bad time performing the conversion.
>I, along with many UNIX users dislike reaching for the shift key, but I
>consider Megamax's decision to use lower case names a piece of crass
>stupidity. An imperfect standard is better than no standard in this
>situation, and I hate to think about the hours that will be wasted if
>Megamax do not conform.
>...
>For those unfamiliar with Apple's naming convention I have included the
>pertinent section of the SUMacC document.
>
>>Naming conventions.
>>
>> Since Pascal is case insensitive, some of the names
>>present in the original Pascal header files had inconsistent
>>case conventions. Apple realized the headaches this could
>>cause for C programmers, and in October 84 released a small
>>set of rules that govern case in names. When you invent new
>>names, you should use these rules.
>>
>>1. The first character of a name is upper case if the sym-
>> bol is: a toolbox routine name, a type, an assembler
>> global symbol.
>> e.g.: InitGraf, MoveTo, ProcPtr, MonkeyLives
>>
>>2. The first character of a name is lower case if the sym-
>> bol is: a field, a constant, a variable.
>> e.g.: shiftKey, everyEvent, fInvisible
>>
>>3. If the name consists of multiple words, the subwords are
>> capitalized.
>>
>>4. If there are acronyms within the name, they are cased
>> the same.
>> e.g.: fCTS, ctsHold, TEHandle, TENew, eofErr
>>
I believe that Megamax provides a program which will translate their
names to the standard form. Please use it before posting your source.
--
Stephen J. Langdon ...!{ihnp4,hplabs,sun,nsc}!amdahl!sjl
[ The article above is not an official statement from any organization
in the known universe. ]