Yet this so-called schism is a relatively modern phenomenon. Right now there's an overwhelming demand for software professionals, and this has spawned a sort of tech exceptionalism that dismisses the liberal arts as a sideshow for mushy technophobes and academics. That feels narrow minded. Those with a background in the humanities are more likely to have an inductive, open-ended approach to reasoning and are more likely to probe beyond the standard methodologies and question accepted practices. The chronology of great writers reads like a laundry list of language innovators: Homer, Chaucer, Shakespeare, Milton, Woolf, Joyce, Kerouac.
But isn't code simply a list of instructions for a computer? Sure, a program must make sense to a computer, but it's equally important that it be understood by humans (not least the human who wrote it). In fact the durability of a program pretty much depends on the ability of the author to express its logic in human terms. Programs are written and maintained by humans, and if they can't readily understand the purpose of a program, they won't try to improve it and they can't fix it when it (inevitably) goes wrong.
Since the 1960s, we've been hearing that soon computers will start writing their own programs. But it takes ingenuity, nuance, and emotional intelligence to craft quality code. Any computer with those qualities would probably be pretty good at writing novels too.
As a long-term coder and literature devotee, I'm the first to admit that writing literature and writing code are two very different processes -- yet I've become increasingly aware of the things they have in common. In both literature and code, words take their meanings from their context. Both literature and code use words (or symbols) to represent complex ideas in concrete form. Then they assign that idea to an object: a word, an expression, a function or method in code, perhaps a character or a place in literature. (Functional programming uses higher order functions to represent ideas of ideas, a concept familiar to readers of Woolf or Borges). Both literature and code are expected to more-or-less conform to rules of logic (even an experimental work of surrealism defines its own logic of a sort). In fact, literature's logic can be at least as complex as a program's--take Dostoevsky's Stavrogin, who "if he believes, doesn't believe that he believes, and if he doesn't believe, doesn't believe that he doesn't believe."
In my book, I try to show the breadth of styles and sensibilities that can be expressed in code. Hemingway's code is intentionally unsophisticated. He wants you to feel the awe of the Fibonacci sequence without him talking all over it. Shakespeare's solution is a "calckulation in two acts employing the humorous logick of java-scripte" (with comments in iambic pentameter). Austen appears to seek the approval of the grammar pedants while winking furiously at those who can see beyond the artifice, Borges generates prime numbers by imagining long-limbed monsters climbing a staircase, Nabokov exploits the rotational delta between Terra and Antiterra to predict the next happy number, Tupac raps out his solution, and Kerouac... oh but now I see your eyes rolling...