When to use a hyphen in writing a compound word
Which is correct?
- front-end engineering
- frontend engineering
- front end engineering
I looked over http://www.grammarbook.com/punctuation/hyphens.asp, referenced in this answer, and I'm still not sure which to use.
Rule 1 under Hyphens Between Words says:
To check whether a compound noun is two words, one word, or hyphenated, you may need to look it up in the dictionary. If you can't find the word in the dictionary, treat the noun as separate words.
"Frontend" is not found at reference.com. "Front-end" and "front end" are both found, which "front end" as two words representing the software term, so I think this must be right. However...
Rule 1 under Hyphens With Prefixes says:
The current trend is to do away with unnecessary hyphens. Therefore, attach most prefixes and suffixes onto root words without a hyphen.
I think that "frontend" qualifies under this rule. Compare that with "backend" and it sounds to me that "front" and "back" are prefixes to "end".
Also, the most common usage I've noticed is "frontend" as a single word when talking about software. Common usage has to count for something, right?
What's considered the final say here?