I’m reading Guy Steele’s interview in Coders at Work, and I found one of his analogies to be pretty neat:
And if you look at the fairy tales, people want to be able to just think in their minds what they want, wave their hands, and it happens. And of course the fairy tales are full of cautionary tales where you forgot to cover the edge case and then something bad happens.
As a pretty accurate real world example, he offers:
…suppose I were to tell my smart computer, “OK, I’ve got this address book and I want the addresses to always be in sorted order,” and it responds by throwing away everything but the first entry. Now the address book is sorted. But that’s not what you wanted.
Yeah, that’s how programming feels. I remember running into situations exactly like that when programming in Epilog and when trying to annotate code to pass through a static analysis tool. Those problems made me think that the logical/declarative paradigm is just not cut out for being written by humans, whereas functional and certainly imperative models of computation are actually more intuitive, despite their complexity.
I’m not sure Steele would draw the same conclusion, but his list of more than a dozen languages he has worked in seriously does not include Prolog.
With summer here it seems I have tons more time to read and get things done. It also helps that Silverlight 3 shipped and work doesn’t quite take up all my time and energy. This is that I’ve been reading/plan to read:
Read:
To read:
Fowler’s book on refactoring is the greatest thing I’ve ever read; I highly recommend it if you do the “programming” of any kind. Also, Chabon is quickly becoming my favorite author. Kavalier and Klay was excellent, and The Yiddish Policemen’s Union was neat, but my favorite works by him are his short stories. Especially Ocean Avenue; it’s pretty much “the contemporary, quotidian, plotless, moment-of-truth revelatory story” that Chabon derides, but it is hilarious and touching and brilliant. I look forward to reading his The Martian Agent this summer as well.
A few weeks ago I finished the Rabbit novels by John Updike. I’d started reading them summer after freshman year and I’ve had volumes 3 and 4 on my bookshelf for almost two years now.
I don’t mean to write a review, but I want to mention that Rabbit at Rest might be the best book I’ve ever read. It capstoned the series so perfectly. I was amazed at how much new and unexpected it brought to the series while staying perfectly true to the characters Updike created decades earlier. It also did a great job of depicting a changing America and one middle American’s place in it. I must admit that much of my familiarity with American history over the past few decades comes from reading Updike.
The part of the series that will always stick with me the most, though, is Janice’s frustration over seeing Rabbit change from the young hero, destined for great things, to just another mediocre commoner. Each step of Rabbit’s degradation resulted from his merely making the easiest choice he could, and the reader see where that road inevitably ends: mediocrity.
Since finishing Rabbit I’ve read The Legend of Colton H. Bryant, The Road, and now I’m on The Kite Runner. I could seriously, seriously use an uplifting read if anyone has any recommendations.