If a term contains non-alphanumeric characters, when (if ever) should these characters be spelled out? For example:

C++   written as   C Plus Plus

C#      written as   C-Sharp

If they are spelled out, what are the conventions regarding capitalization and hyphens (e.g. C Plus Plus or C-plus-plus)?

  • 4
    I suggest there's never really any reason to write those long forms except in programming code, where "macros" such as #ifdef __cplusplus need to avoid including symbols that might confuse the compiler's parsing logic. Dec 14, 2011 at 13:45
  • 4
    The only other reason I can think of for spelling them out is to indicate pronunciation ("C#, pronounced C-sharp not C-hash"; "C++, pronounced C-plus-plus not C-add-add")
    – Waggers
    Dec 14, 2011 at 13:54
  • 3
    And the third only reason is for tags or keywords where you can't search for punctuation.
    – Hugo
    Dec 14, 2011 at 14:01
  • 4
    A fourth only reason would be when explaining the origin and meaning of such a term.
    – Jay
    Dec 14, 2011 at 16:10
  • 1
    Enough already! We don't need a fifth reason! Dec 14, 2011 at 22:05

1 Answer 1


I hope I'm not stepping out of line, but since the comments contained several good answers, I thought it worthwhile to group them together into a properly credited answer. Currently it seems the community has found four reasons to spell out non-alphanumeric characters:

  1. FumbleFingers noted that programming code can require spelling out such symbols to avoid creating problems during the parsing phase of a compiler/interpreter.
  2. Waggers added that spelling out symbols can clarify pronunciation (e.g. "C#" as "C-sharp" rather than "C-hash" or "C-pound")
  3. Hugo mentioned the concept of avoiding reserved characters in a tagging/keyword/categorization system.
  4. Jay added that explaining the origin and meaning of such a term could require spelling it out. I think there's a lot of overlap between this and Waggers' answer about pronunciation.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.