Mitch Pronschinske is the Lead Research Analyst at DZone. Researching and compiling content for DZone's research guides is his primary job. He likes to make his own ringtones, watches cartoons/anime, enjoys card and board games, and plays the accordion. Mitch is a DZone Zone Leader and has posted 2578 posts at DZone. You can read more from them at their website. View Full User Profile

The Blogging Programmer's Style Guide: Front end or Front-end or Frontend?

10.01.2013
| 18468 views |
  • submit to reddit

I've probably read the articles of more than a thousand bloggers and seen various technical terms – names and words not common outside niche IT audiences – written in dozens of different configurations.  Even among the large IT/development publications, I see inconsistencies. 

It's not always our fault. New software terms and product names are being added to our vocabulary every day, and there's no dictionary or standard document to tell us how to write them.  That confusion is the reason I decided to start writing a guide – one question at a time.

While the conclusions in these posts shouldn't commonly be considered canon, they should at least serve as a guide to point you in the direction that standard developer word usage is moving toward.  If you have a strong opinion about these questions, leave a comment with your rationale.  I'm actively looking for good arguments from people with contrary opinions to mine.

Now, with that introduction, on to the question!

The Question

What's the proper way to write "front end / frontend / front-end" and
"back end / backend / back-end"?


Man, I picked a really tough term for my first post on programming blog guidelines.  I found a ton of inconsistency on this one – across a bunch of tech media sites. 

Let's start with Treehouse, a web development learning site:

On the Treehouse Blog

Take a look at this article and you'll see that Treehouse uses "frontend" and "backend" (except for that one heading that says "Front End").  This is a place where people go to learn web development, so it may be their first exposure to the word.  I expect that Treehouse puts some effort into making sure they use the proper terminology.

Now take a look at some articles on TechCrunch...

On TechCrunch

Here
they hyphenate the word (it makes sense because it's often considered a compound adjective in this scenario), then in this article they use "front end" and "backend" (as nouns in this case). 

First of all, the different spacing for "front end" and "backend" makes no sense to me.  Logically there's no reason why the word "front end" shouldn't match the spacing or hyphenization of "backend".

Finally, a third article reveals that TechCrunch has also used "backend" as an adjective instead of making it the compound adjective form "back-end" as it did in the first article I linked.

So, how do we decide?

We won't always run into a highly inconsistent word like "frontend" or "backend", but this is one case where there's not a very clear winner.  I think the Eclipse project FAQ entry on the word "plugin" has some cogent observations about this kind of situation:

Those with a slavish devotion to the dictates of the English language—copy editors, English teachers, and automatic spellcheckers—will insist that because “plugin” is not a recognized word, the hyphenated plug-in is required. Others—writers, hackers, and the general public—recognize that language is an organic structure that must adapt and evolve to remain relevant. This latter group welcomes the introduction of new words into the lexicon and, thus, will happily adopt the new word plugin.


I definitely don't want to prescribe the "slavish devotion" mentality.  I think in these cases where there is ambiguity, we have to decide which option to use based on the direction we personally want the language to go.

Before I make a final suggestion about "frontend" and "backend", lets use some relevant stats that can inform our decison.

Google Search Hits
  • "front end": 62.8 million
  • "front-end": 62.8 million
  • "frontend": 28.8 million

  • "back end": 19.9 million
  • "back-end": 19.9 million
  • "backend": 32.3 million

Google Books NGrams

Wikipedia

Uses "front end" and "back end" for nouns and "front-end" and "back-end" for compound adjectives. 

Front and back ends, Wikipedia

Indeed.com Job Trends

English StackExchange

Proper Usage: The Verdict

The majority of evidence points to "front end" and "back end" as the more accepted usages, with "front-end" and "back-end" being used in compound adjective situations.  However, if you look at the momentum of the various usages, I think that "frontend" and "backend" could overtake the more accepted versions. 

One indication that "backend" is becoming more widely accepted as the norm is the larger number of Google search results (32.3M vs. 19.9M).  Another hint that the space-less words could win in the end is the progression of other words like e-mail and plug-in, which have commonly become email and plugin. 

"Frontend" and "backend" do make sense as technical terms that are specific to the UI and the business logic of an application.  That's why I think that they can exist as new, single words, not the generic word pairs "front" "end" or "back" "end".  My only concern is whether "frontend" and "backend" will be too unclear for the non-technical.  Clarity should always be your primary concern, so you should choose the usage that is appropriate for your current audience.

There's no right and wrong answer for this case.  All of these forms are acceptable.  None of them have clearly "won" the popularity contest that determines our language's evolution.  That being said, here is my final suggestion:

If you want to play it safe: 

"Back End" and "Front End" for nouns, "Back-End" and "Front-End" for compound adjectives

If you want to move the langauge forward:

"Backend" and "Frontend"



Comments

Ferdinando Colu... replied on Wed, 2013/10/09 - 9:39am

+1 compact form (frontend, backend)

Mitch Pronschinske replied on Wed, 2013/10/09 - 10:36am in response to: Ferdinando Coluccelli

I hope that the blogging community and tech publications (we will) move toward compact forms.  It clarifies that 'frontend' is a technology-specific term, not just the front end of any random object.

Amy Schultz replied on Wed, 2013/10/09 - 12:05pm

Coming in to this article I was leaning toward the safer, traditional English usages and I am not one to be easily swayed by the "everyone else is doing it" argument.  However, between pointing out the evolution and common adoption of the now ubiquitous term "email" and Mitch's comment about technology-specific terminology, I might be convinced to use the compact forms.  At the very least, I will choose to be less annoyed when I see them in use.

Bryan Copeland replied on Wed, 2013/10/09 - 1:48pm

I don't think Google n-Grams and Search Trends are enough to go on. First of all, because they have the same number of results, its lexer is clearly treating "front end" and "front-end" as synonyms before even analyzing any data, likewise for "back end" and "back-end". I'd say those results are inconclusive at best.

This is a tough subject because it almost always comes down to personal preference, but people do tend to use the term they first learned, which in my case was "front-end" and "back-end" forms from the Design Patterns and Enterprise Integration Patterns books.

  1. GoF: http://books.google.com/books?id=6oHuKQe3TjQC&printsec=frontcover&dq=gang+of+four+design+patterns+book&hl=en&sa=X&ei=jKNVUqu3F-jl4AOloICIDA&ved=0CD0Q6AEwAQ#v=onepage&q=front-end&f=false

  2. EIP: http://books.google.com/books?id=qqB7nrrna_sC&printsec=frontcover&dq=enterprise+integration+patterns&hl=en&sa=X&ei=4qNVUsfTJY_J4APTkYCwCQ&ved=0CEkQ6AEwAA#v=snippet&q=back-end&f=false

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.