I've voiced similar complaints about how google parses my search query, but they seem to fall on deaf ears.
Google used to provide uncannily accurate results for such queries and apparently no one noticed when it was changed.
Punctuation is a huge challenge for us. We can't simply index all the punctuation on every web page on the internet -- think of the blowup of our index! Think how much slower our search pipeline would be! But we're working on it. Now we recognize some common punctuation uses cases like @ and #. Compare the search results for mattcutts vs. @mattcutts, or obama vs. #obama. We'll keep working on the other ones. The programming ones hinder us coders a lot too. :-)
What we're trying to do here is make it possible for people to search for exception messages, and find the code where those exceptions actually get raised. It's something I've wanted for a while, personally.