To concatenate means to string together different things. Concatenating "snow" and "ball" produces "snowball." But what would the opposite action be? What is the name of the action used to derive two words from one?

(My dictionaries don't list any antonyms, and Googling revealed how to do the opposite but not what it's called.)

Edit: I had programming parlance in mind, so I've reflected that in the question title.

Realize the page you link to uses con/com to mean the same thing, but in this case don't you mean con, and not com, or is there some meaning beyond the document you linked to. Also, in my opinion comparing an organic seperation to the synthetic nature on written language is problematic. Meaning one is aproximate, the other exact - I personally am unable to believe I'd ever you that word in the context provided, though easily am able to imagine using it within the context of bio sciences.
–
blundersJan 6 '12 at 9:15

A precision: "com" does not mean "together, with" in Latin. It derives from "cum" which means "with" (not "together") in Latin.
–
Vincent RobertJan 6 '12 at 12:16

@VincentRobert According to this site: "com- with, together {com- before b, p, m; cor- before r; col- before l; co- before h, gn and usually before vowels; con- before all other consonants.}"
–
GnawmeJan 6 '12 at 17:35

Depending on what you mean by it, antonyms of catenate or the needlessly wordier concatenate might be detach or perhaps separate — but I’m rather unfond of unjoin. ☹

However, if you actually mean to chomp letters off the end and discard them, you probably want the mysteriously underused apocopate, which abbreviates or shortens a word, usually by a letter or a syllable. It comes to English right out of Latin, and in turn right out of Greek ἀποκοπή.

In most programming languages with C-based syntax, concatenate usually means to link strings or characters together. The fact that the strings usually happen to be words is somewhat irrelevant, because the computer (and hence the programmer) is handling them as a sequence of characters; like linking track from a toy train set together. The answer depends on what you're trying to do. One possibility is 'parse' as others suggest, because it means to separate out an aggregated entity, like a string of characters. However, parsing also implies computationally manipulating each piece or segment as it's separated from the whole. Another is 'split,' because that also applies to strings.

If the originator of the question is translating or editing a programming text, it would be best to verify your choice with the programming language of concern. Every programming language has its own parlance, largely influenced by the standard functions available in each language's respective code libraries or API's (application programming interface). For an example of what I'm talking about, here's java's api: http://docs.oracle.com/javase/6/docs/api/java/lang/String.html

A word of caution: programming jargon is dictated largely by the programming language being used, and by extension, it's syntax. Webster's thesaurus or the classical roots of a word probably aren't your best resources for answering this question.

In programming specifically, there isn't an opposite of "concatenate". The concept makes no sense.

"Split" is probably the least silly alternative. But I wouldn't call it the opposite of concatenation in a programming context. In general usage, perhaps.

Nearly every programming language has an operator for string concatenation: ++ in Haskell, + in Python, . in PHP, etc. No language has an operator for the opposite of concatenation.

If you tell me "I concatenate 'shadows' and 'linger'", then I know exactly what the result is. If you tell me "I split 'shadowslinger'", then I have no idea what the result is; the operation is not well defined. I might guess that it would be "shadows" and "linger". But it could easily be "shadow" and "slinger". Or it might only be coincidence that it looks like English, and the split could have nothing to do with that.

+1 because it doesn't make sense most of the time. However, you did remind me of one language that does have something like that operation: bash has remove patterns (Section 4 & 4.1)
–
IzkataJan 9 '12 at 4:17

I agree with most of what has been said about split/join. However, it's interesting to note that split has no way to know what the root words in your example are. That is, that the split should occur between snow and ball.

The more general case is referred to as tokenization. Split typically implies a character such as space, comma, CRLF, etc. to split on.

So, for example, a tokenizer would have enough information about the compositional root words of English to recognize that snow and ball are the tokens and break down the compound words accordingly.

If you were of a software bent, I would say substring. While I don't think it is legitimately a verb, I have heard it often used as one when describing the act of breaking down a string of characters into any number of smaller strings, whether they be individual characters, or several.

Keep in mind that substring-ing does not assume that the resulting strings will be intelligible.

Agree, the poster is asking about linguistic splitting of words, which is called stemming. A substring as you point out is a string which orginates from other string, for example if I delete all the numbers in this string "r2e2a2d" I get the substring "read"; meaning that to get a substring splitting a string is not require. I would also agree I've heard substring used as a verb, which is an incorrect use of the word in my opinion.
–
blundersJan 6 '12 at 4:14

On the whole, I am pretty lax about my use of the English language ( I figure if the English language is going to be lax with its rules, I will be too) and I tend to verb a lot of words (such as the word verb) which probably should not be.
–
CodeWarriorJan 6 '12 at 4:18

In general, I'm inclined to agree that split is a suitable term for retrieving the component words within, say, "snowball". It's certainly a standard term in a programming context, for the kind of trivial separation dumb code easily performs.

But with a slightly less "transparent" word, such as goshawk, I think it might be better to say you deconstruct it into "goose" and "hawk".

The concatenation of "goose" and "hawk" would be "goosehawk" (or possibly "hawkgoose", not "goshawk".
–
FrustratedWithFormsDesignerJan 6 '12 at 4:47

I started by endorsing split for the "lossless, reversible" computer-oriented process. The context I'm proposing for deconstruct is language-based - goshawk is a compound word created from two identifiable components, even if you don't want to accept that those components were concatenated, since one of them has transformed since then.
–
FumbleFingersJan 6 '12 at 5:04

Deconstruct, Dismantle, Disassemble are good for compound words where a transformation has occurred but in the OP's example of snowball (the concatenation of snow and ball), there is no transformation. If it had been snoball, then deconstruct would make more sense then split.
–
FrustratedWithFormsDesignerJan 6 '12 at 14:25

@FrustratedWithFormsDesigner: I think one issue with ELU is that software-oriented users are massively over-represented. I certainly don't begrudge you the points, but I'm sure the fact that this question attracts interests from programmers is what lies behind the high number of votes for "split". I'd never have expected it to be otherwise, but I primarily posted my offering in an attempt to redress the balance a bit (the upvotes currently stand at 36:2, so I guess that was a somewhat forlorn hope! :)
–
FumbleFingersJan 6 '12 at 16:28

@DMCS: The word separate and split have different meanings in my opinion. For example, try replacing the word separate with split in the following sentence: "Spaces separate words in a sentence." Possible, I'm over thinking it, but don't believe they've got the same meaning.
–
blundersJan 6 '12 at 8:59

I concatenate things all the time.. and apart from the academic or the semantic.. its practical opposite is divide. Think not about multiplication, but what concatenation actually implies - and then take it apart. :-)
–
alex grayJan 6 '12 at 9:57

I'm going to go with separate. I think it's one of the closest available to the desired meaning, and it has the bonus of rhyming with (and being at least vaguely close in length and syllables as) concatenate.

I don't think there's a truly great answer, mainly because concatenate isn't the best antonym for anything else. Many people mentioned split, which is a perfectly good word for the job, but the best antonym for split would probably be join.

The approach of using dis-, de-, or un- is certainly logical enough, but such a word feels constructed and unnatural without the benefit of widespread use. (Even if such words are in actual use, they are still far less frequently used than concatenate, especially in nontechnical contexts).

not to mention split and join both imply a delimiter; concatenation have no delimiter. yours is the right approach.
–
naxaJun 27 '14 at 18:35

on an off note, feeling constructed also applies to 'concatenate', if you ask me. I lack an alternative. Perhaps 'linking', as robrambusch put it (I can see where this have failed to gain ground.) Regardless, at least I always felt it sounding arbitrary and/or unnatural. I'm non-native if that puts me into a position for anything.
–
naxaJun 27 '14 at 18:41

When getting the original words from a word formed by concatenating words, or possibly modified parts of words, the previously-mentioned divide and split spring naturally to mind. However, the verb cleave has to recommend it its sense "to split along a natural plane of division" (of a crystal), which can be seen as metaphor for dividing the composite word into natural parts. Another verb that suggests splitting at natural divisions is burst, in its sense "to separate formfeed at perforation lines".

@FumbleFingers Cleave is almost never used in popular use to mean anything but split. That said I think split is still the better word, and being completely unambiguous is a plus.
–
Ben BrockaJan 6 '12 at 20:34

That has a more natural feel as an antonym; concatenate is so formal while split so informal … parse sounds like the perfect nemesis.
–
tajmoJan 5 '12 at 22:59

4

Parse infers intelligence behind the action. Concatenate doesn't require any intelligence, just brute force, put this thing after that thing. Split has the same feeling for me where brute force rather than intelligence comes into mind (other than when slitting atoms lol). Same with separate for the antonym, doesn't require intelligence.
–
DMCSJan 5 '12 at 23:16

2

It's not a good antonym, and I don't think it has to do with how specific or general parse is. Parse just isn't the counterpart to concatenate. Parsing involves gleaning the structure and/or meaning of something, ultimately so we can understand it. Concatenation, especially in programming, is just mindlessly joining things together.
–
John YJan 5 '12 at 23:28

1

I guess the real action of reversing a concatenation would involve parsing, since the splits need to fall in places that make sense. That is, you can mindlessly concatenate, but it requires intelligence to pull things back apart. That doesn't make it an antonym, but that does make it the opposite.
–
tajmoJan 5 '12 at 23:58

1

My experience has been that the word parse is the same as transform, and that splitting a string is one of many different actions, including simple reading a string and writing it. Beyond that, believe the poster's reference to finding an anyonymn to understand the meaning was just a way they attempted to find a meaningful word. The word they're looking for is stemming based on the example given in my opinion.
–
blundersJan 6 '12 at 5:06

It's interesting Frustrated would suggest 'split' because in the programming language Perl, the functions to respectively join two strings, and split two strings in half are respectively: Concatenate, and Split!

I'm pretty sure the guy who wrote Perl had the same dilemma, and that's the best he could come up with!

I guess you could make up a word, and say uncatenate, decatenate or something along those lines.

You posted as I commented to @Frustrated's answer. I don't know even Perl, so that's certainly not my reason for backing "split". I'm not sure anybody ever says "decatenate" - but as I noted, "uncatenate" is already out there and thriving.
–
FumbleFingersJan 5 '12 at 22:53

Actually, the functions in perl are called split and join The . operator is called the concatenation operator, but the appropriate function is join
–
ThePopMachineJan 6 '12 at 23:18

I would use split to mean the opposite of concatenate. I don't know if there's a better choice, but I've seen split used with this particular meaning in mind. Of course you should also specify how you will split the word, since you could split it at any point(s), and into more than 2 parts.

Split is the word you usually see in code where a programmer has to do this. There is uncatenate, used particularly by those DNA boffins who habitually catenate rather than concatenate things together. I don't recommend that for general use, but it's so obvious people do sometimes use it in other contexts.
–
FumbleFingersJan 5 '12 at 22:50

2

Etymologically speaking, uncatenate makes more sense than catenate. At least it means to un-"chain".
–
tajmoJan 5 '12 at 22:55

7

Actually, chem boffins use decatenate as the opposite of catenate.
–
GnawmeJan 5 '12 at 22:57