Now shipping wiht VS 2010 Beta 2, and with SharePoint 2010 you will have support for Linq to SharePoint. Not the codeplex project, but true linq support from MS(Microsoft.SharePoint.Linq). What it does in the background is to create the CAML queries for you, to keep up the speed, looks like MS realized that CAML is no ones friend, but they have to support it for backwards compatability.
Another neat feature of Linq 2 SP is that it will support filtering of items by lookups, meaning if a list say Regions, and a list for Office Locations, where Region is a lookup field,...