What's the opposite of "concatenate" in programming?
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.
Solution 1:
Looking strictly at the Latin roots of concatenate:
concatenare, from Latin com- + catenare, to chain [MW]
com- is the Latin prefix meaning "together, with."
dis- is the Latin prefix meaning "apart."
(de- means "down or away from," so you can make the case for that as well.)
So: discatenate, or decatenate.
Edit: As I (and FF) noted in a comment, decatenate is used in biology/biochemistry to describe the unlinking of a chain of chemical elements.
Solution 2:
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.
Solution 3:
the action used to derive two words from one
decompose - to separate or resolve into constituent parts or elements; disintegrate
(in the same vein as "deconstruct", which has already been mentioned)
"Snowball" can be decomposed into its constituent parts: "snow" and "ball".
Solution 4:
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".