Overall, I enjoyed this book, but to do so I had to suspend my disbelief a little further than I would normally expect to, and I had to grit my teeth through quite a few clichés. The plot of the story made sense to me, but where I had to suspend my disbelief further than I would have liked to was in regard to the individual characters' motivations. There were points when I thought 'That doesn't make sense for this character,' and where thoughts and revelations seemed to come out of the blue. For me, the problem lay in Brown's use of an omniscient narrator. All the head-hopping meant I didn't get to know any of the characters particularly well, however, Brown did make good use of this narrator when it came to upping the level of suspense, but after a while exiting a character's thoughts just as they were about to reveal something useful became irritating. What Brown did do well was to describe everything simply, yet vividly. I could visualise the scenes without being distracted by any fancy prose. His action scenes were fast paced and had my heart racing in places. I would describe the story as a page-turner, but only once you get passed the first few chapters of back story which seemed to go on for a frustratingly long time. I also found the romance a bit of a cliché. I think readers with a background in computing or cryptography might find some parts of the story unbelievable. I knew enough about computer programming to understand what was going on, but not enough to be able to see any programming-related plot holes or mistakes, which I now know (after a little research) exist in the story.
I wouldn't read this book again, but I would like to read another of Brown's for comparison. In fact, The Da Vinci Code is already on my bookshelf just waiting to be read.