So, there's this guy who was my classmate this year in both B521 and B621. He seems to spend a lot of time at the IU library, just like I do. In fact, on any given trip to the library, it's even odds I'll see him there -- often enough that I've come to expect it, anyway. Every time this happens, we end up getting into a conversation, which is quite nice.
The last time it happened, which was two days ago, it occurred to me that every time, the core of our conversation has been some variation on "What's so great about Scheme?"
This isn't apropos of nothing. We've been taking Scheme courses together for a year, so it's reasonable that we might talk about it at least some of the time. But it surprises me that he keeps asking me what's so great about Scheme, because I don't know.
What's so great about Scheme? Well, there are a lot of things I could name: it gives you a handle on the continuation, it's extensible with macros, it optimizes tail calls, there's hardly any syntax to learn, and so on. And I dutifully list them off for him. But I feel a little deceitful doing it, because none of those things are why I like Scheme -- at least, not in a conscious way. My tastes are unsophisticated: I like Scheme because it feels good. Maybe it feels good because it's a great programming language, but how would I know? It's entirely possible that it just feels good because it's familiar.
To me, the thing that's especially mind-blowing about this person is that he's spending all these nights in the library trying to like Scheme. It's not just homework he's doing -- he's working on his own projects, experimenting, trying to figure out what the secret sauce is that makes other people so excited about Scheme. This amazes me. If I had to work that hard at liking something, I think I'd probably just give up and not like it.