The English language has 26 letters which can be rearranged in combinations of open-ended length, giving colossal variability. According to the Oxford English Dictionary, there are about 170,000 words in current use.
Programming languages are based very loosely on human language structures. Although the pool of "words" is much smaller, they are also open-ended in the sense that the programmer is free to create words or function names.
Both are also sequential - if you do anything other than follow them in the order they were designed to work, you will get gibberish.
Although DNA can be understood as a language it is much simpler than your other examples. It has four letters and all of its words are 3 letters long. That gives you a hard maximum of 64 words. In point of fact, nature only uses 21 of these words, and there is a great deal of redundancy built in.
A "book" in DNA sense is a single gene. The length of a gene varies enormously but the average is about 480 "words". Although the DNA in a book does need to be read sequentially, all the "books" in a chromosome or a genome do not. So long as each "book" is read in order, the "books" themselves can be read individually and still make sense.
So: all recombination needs to do is ensure that the combination occurs in a break between two "books", and everything will work fine. As @user40949 mentioned above, there are processes to ensure that recombination does indeed occur within specific regions between "books". And even if it didn't, a failure would only invalidate a single "book".