Take the 2-minute tour ×
English Language & Usage Stack Exchange is a question and answer site for linguists, etymologists, and serious English language enthusiasts. It's 100% free, no registration required.

I wonder what the difference is between concatenate, merge and join from the lexical point of view.

These words are often used in scientific or programming text. It seems to me that different authors use any of them with slightly different meaning. How should they be used from the language point of view?

share|improve this question
1  
The exact technical definition of these words depends on the subarea of science or computation that is using them (some subareas may not have technical definitions for all these words). I'm not surprised that different authors use them with different meanings. –  Peter Shor Sep 23 '12 at 20:23
    
-1 Without specific examples to provide context, this question is just asking for dictionary definitions –  Peter Taylor Sep 24 '12 at 12:30
    
Dear @PeterTaylor Thanks for voting me question down. I see questions on this forum must be very carefully considered as forum users vote them down if they not in their taste. The question ask about a difference between scientific and programming meaning of these words and they lexical meaning. The difference is not the same as dictionary definitions, (but maybe I am wrong in this point too). The question also point to usage of the words in scientific or programming text. I assume if I would copy large chunks of different texts, the question would be also marked down for lack of consistency. –  tomasz74 Sep 24 '12 at 16:24
    
It's not a matter of taste: it's a matter of whether there's a specific question which isn't mere general reference (see FAQ). Your comment seems to me to change the meaning of the question to something a bit more specific, but it's still quite vague: you appear to be asking for all technical meanings which three words might have in some field of science or IT. The answer to that is still "Find a good dictionary". –  Peter Taylor Sep 24 '12 at 17:34
    
A good question might be "I've been reading a lot about relational databases recently, and the words concatenate, merge, and join seem to have a technical meaning. In these examples: (example 1) (example 2) I can't make any sense of them using the definitions in the Oxford English Dictionary or Merriam-Webster. Is there a good reference for database jargon which explains them?" –  Peter Taylor Sep 24 '12 at 17:41

5 Answers 5

To me, concatenate refers to the very specific operation of appending things in order, specifically abstract things. Words and ideas can be concatenated, but things in the real world are usually not said to be concatenated. The word is mostly used in programming discussion and other discussion involving strings.

Merge usually implies mixing; if two companies, two ideas, or two galaxies are merged, they are implied to form one new entity in which the previous two are not distinguishable as wholes. It is more vague than concatenate.

Join can mean many things and it often depends on the context. If two organizations are joined, they may remain two organizations but under a larger name or cause or goal. Join seems to imply, sometimes, that there is something connecting two or more entities but those entities are still distinguishable. The word is a lot less specific on its own than the other two, though.

share|improve this answer
    
I'd say "concatenate" is a more specific form of "join". It's not a form of "merge". –  Joachim Sauer Sep 24 '12 at 7:36

Consider the lists:

List A

alpha

bravo

charlie

echo

golf

List B

bravo

foxtrot

golf

hotel

Concatenation would be appending one list to the end of the other, so concatenating List A to List B would result in:

Concatenation

alpha

bravo

charlie

echo

golf

bravo

foxtrot

golf

hotel

Merging refers to combining the two lists together, preserving their order. Depending on the context it could keep only the unique records or preserve them.

Merge

alpha

bravo

charlie

echo

foxtrot

golf

hotel

Joining refers to keeping only the records common to both lists.

Join

bravo

golf

share|improve this answer
    
The OP appears to be asking for the lexical difference between the three words. –  coleopterist Sep 23 '12 at 18:29
1  
Introducing three words in the context of scientific or programming jargon, and then asking about the "language point of view" is pretty ambiguous, and I would also have assumed the question meant their use in scientific or programming language. Perhaps OP could clarify? –  Useless Sep 23 '12 at 18:37
    
In what area of mathematics/science/computing does joining mean taking the intersection? In the areas of mathematics I'm familiar with, join means union (the same as what you're calling merge) and meet means intersection. –  Peter Shor Sep 23 '12 at 20:17
    
@PeterShor: In relational databases, joining is similar to (but not exactly) intersection. –  Jon Purdy Sep 23 '12 at 20:33
    
After rereading the OPs question, I agree it is ambiguous. I saw this: used in scientific or programming text. and also the computing tag and figured thats what he meant. –  skrewler Sep 23 '12 at 23:48

I only know concatenate from scientific contexts and I don’t think the word enjoys much day-to-day usage (though I’m happy to be corrected here).

Merge and, especially, join are more common in daily usage. The difference between them, to my mind, is that things that merge generally lose their individual identity, whereas things that join do not (or need not). For instance, if two rivers merge, it suggests that a new river is formed, but if one river joins another, then it suggests that one is a tributary and the other retains its identity. Or consider herds: if two herds merge, then you can’t recover the original herds any more (maybe wildebeest do this); but herds of elephants may join together for a period then separate into their original groups.

share|improve this answer
  • join: link; connect:
  • concatenate: link (things) together in a chain or series:
  • merge: combine or cause to combine to form a single entity:
  • combine: join or merge to form a single unit or substance
  • connect: bring together or into contact so that a real or notional link is established:

In other words, join and concatenate link or connect things to form a chain or series. Merge and combine unite things to form a new entity where its original parts are indistinct. A merge could coincidentally also be a join.

share|improve this answer

In most contexts, or as a broad generalization, the difference can be thought to be:

concatenate
Append or tag at the end in the order.
AA,BB -> AABB
Generally used with reference to two members; can be more.

merge
Combine together, with no regard to order/ position.
AA,BB,CC,DD -> could be (AACCBBDD / BBAADDCC /...)
Generally used with reference more than two members.

join
Place side by side/ end to end, with no regard to order/ position.
AA,BB -> could be (AABB / BBAA)
Can be thought of as concatenate without the order constraint.
Generally used with reference to two members; can be more.

The exact definitions do vary depending on the context (the field of application: math/ programming/ other) as @Peter Shor already stated above. However, as you seem to be only interested in the differences in a lexical sense/ context, the above may be of some help.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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