I hear lots of time the words universal and generic being used in similar contexts (especially in software engineering) - what is the difference between them?

  • Both are words with a lot of meanings, and in software engineering (a field that didn't even exist even 60 years ago, and whose terminology is therefore completely metaphoric) they have both spread out and encompassed more semantic territory, often overlapping. Their original meanings (and both are Latin borrowings) go back centuries and cover most of creation, so etymology is little help. Do you have any ideas about their patterns of use and their intended senses in CE? Jun 6, 2014 at 16:13
  • I can't think of a really good "minimal pair" (if indeed there are any). The best I can come up with is that if I had to assign English and Esperanto to universal language and generic language, I'd connect them in that order. Jun 6, 2014 at 16:29
  • 1
    @Fumble In software engineering, universal code is something quite different from generic code. Jun 6, 2014 at 18:19
  • @Janus: That's a highly "domain-specific" distinction which doesn't reflect anything that would be meaningful to most native speakers. And I must admit that I didn't really understand universal code even after following that Wikipedia link, so I googled define "universal code" hoping for more info. But all I found was unrelated stuff about genetics and ethics. Jun 6, 2014 at 20:29
  • @Fumble Very true—but it is the domain mentioned in the question, where there is actually a clear, distinct difference between the two words. Outside coding and grammar/syntax/semantics, though, I can't recall the last time I used the word generic at all. Jun 6, 2014 at 20:34

3 Answers 3


universal implies there is only one kind, or that this works with all kinds.

generic implies that of the kinds in existence, this one is an 'average' or even 'minimal' one.


Well, in Software Engineering universal means that the thing is applicable to all cases. Or it can adjust with any requirement needed for the machine/tool. Generics are special data types that mean they can be assigned a type at run time. So Generics are not specific. They are dynamic.


Outside of software, generic is usually used in contrast to trademark names. One speaks of generic drugs, for instance, to refer to drugs not produced by the original maker / developer. As such, it carries a whiff of second class.

Universal usually refers to requirements and applications. A universal power adapter, for instance, works over all of the voltages which one is likely to encounter. If a company had made a reputation by developing and selling the first universal power adapter, then a competitor who develops a cheaper (and perhaps less effective or reliable) version could be said to sell a generic universal power adapter.

  • Generic is used widely to denote non-specificity. It is by no means confined predominantly to pharmaceuticals.
    – phenry
    Jun 6, 2014 at 19:40
  • And, if you'll reread my answer, I used drugs as an example. I never stated that the term was restricted, or even confined predominately to pharmaceuticals. And you'll notice that my discussion of universal used an example of a generic device which is not a pharmaceutical. Sheesh. Jun 7, 2014 at 4:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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