I am facing a bit of a dilemma / problem.

I am an amateur programmer ( profile ) , and in programming languages some terms are accepted, known to everyone and frequently used everywhere.

My confusion is that when I am passing my code in a spell checker, some terms are marked as wrong and / or need corrections.

Some examples:

accepted term = the suggested / correct (alternative)

  • plugin = plug-in ( plug in )
  • uploader = up-loader ( up loader )
  • textarea = text-area ( text area )
  • checkbox = check-box ( check box )
  • submenu = sub-menu ( sub menu )
  • metatag = meta-tag ( meta tag )
  • screenshot = screen-shot ( screen shot )

Now for those of you that have ever experienced basic programming, those terms would be very familiar, but how should I treat those terms when releasing my software ? (Even while writing here, My firefox browser marks all those terms as spell errors. Better yet, the name "firefox" itself is marked as an error :-) )

I must stress that I am not a native speaker and English is not my mother tongue (it is a mere 1 out of 8), But I would still like to know what is the correct way to handle those situations.

I do suspect that some of these terms (like checkbox or plugin) have become an adjective by themselves and are no longer exclusively used as a noun or as descriptive term for an action.

closed as off topic by MetaEd, tchrist, user21497, Matt E. Эллен, aedia λ May 9 '13 at 18:11

Questions on English Language & Usage Stack Exchange are expected to relate to English language and usage within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    This is really off topic IMO. Also, you should not be using a spell-checker on source code. Ever. Use an IDE with syntax highlighting or use Notepad++ (etc etc) – horatio May 8 '13 at 14:54
  • 2
    @horatio Of course you should use a spellchecker on source code! How else will you know if you screwed up the domucentation in the commments? – tchrist May 8 '13 at 16:00
  • @horatio - I am using an IDE , and syntax highlighter has nothing to do with the question. Even NP++ that you yourself mentioned has a built in spell Checker. I believe that either you have never released a software, or you misunderstood the question... How else should one spell check 20,000 different translatable strings ??? – Obmerk Kronen May 8 '13 at 16:53
  • 1
    code != localization strings – horatio May 8 '13 at 17:14
  • Can you state your exact English language question in one sentence at the beginning? The title is not a question. "... how should I treat those terms when releasing my software?" is not self-explanatory. – Kris May 9 '13 at 6:32

Now , for those of you that ever experienced basic programming , those terms would be very familiar , but how should I treat those terms when releasing my software ?

If the terms are within the code, then don't worry about spellcheck errors. Like you said, these are generally understood terms, and very few programmers care about dictionary levels of correctness in code.

If you're using a term that is not generally understood by non-programmers in the UI or documentation for your program, replace it with something more user-friendly.


If it's possible to "educate" your spell checker (that is, update its database with common spellings of technical terms), do so.

If you want to "correct" the terms that the spell-checker flags, you probably know that many programming languages do not allow hyphens within variable names, so there's nothing you can do about terms like plugin (for which plug-in is the correct form).

As you educate your spell checker, however, it would help to have a good dictionary handy. Note that in the examples you cite, uploader, checkbox, and screenshot are considered correct as they stand.


Why are you putting code through a spell-checker?

It may be useful to spell-check your documentation, but any code snippets quoted will be copied verbatim from the programs, and therefore not necessarily standard English (of any variety).

If, on the other hand, you want to check that any displayable messages embedded in your code are spelled correctly, it might be useful to try to structure your modules so that these are declared as constants, or fetched from a text file or database. This way, you only need to spell-check the message file. It will also give you the opportunity to be able to develop alternative language versions of your programs by simply replacing the message file, leaving the functional logic untouched.

  • 2
    You spell check your code so you don’t look like an unprofessional idiot. Stop lists for variable names are a completely different matter. – tchrist May 8 '13 at 16:02
  • 1
    I did not posted this question to discuss programming methodology, but language . How to treat those strings of language that might have a ( correct ) meaning in a certain context but are grammatically ( or spelling wise ) wrong . – Obmerk Kronen May 8 '13 at 16:56

I suggest you look at https://stackoverflow.com/q/8786880/509840.

Running your code through a spell check is a little like ironing your underwear. It's an effort that no one will see.

  • 2
    This is a mistake. You should certainly spellcheck your code. Othrewies yor cmments lkko lkie txtspk. – tchrist May 8 '13 at 16:01
  • 2
    For years I had to use a record that our vendor named "ItemAnlysis". I cursed them every time I encountered it. – Hellion May 8 '13 at 16:49
  • @ragah9 - what do you mean no one will see ?? how do you recon that UI are made ? by magic ? I have a surprise for you, they are made with CODE . Take a look at this very website here .. how many strings do you think are in the code ? – Obmerk Kronen May 8 '13 at 17:01
  • 4
    They are called "string literals" and are for the express purposes of presentation for the user. It is arguable that "code" is what they are, and I think you might find that they are considered "data." In any event, I think you should take note that everyone has construed your question as misguided. Perhaps you should edit your question slightly to emphasize that you are referring to strings which are presented to a user. – horatio May 8 '13 at 17:24
  • @tchrist Code <> Comments. /* Comments mispelled wil halve no affect on UI */ On any modern IDE, a misspelled code fragment will have a wavy underline. To use Hellion's example, if I correctly spelled the variable as ItemAnalysis, then IntelliJ, Eclipse, Netbeans, et al. will not compile your code until you knuckle under and misspell it. – rajah9 May 9 '13 at 12:58

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