I lot of the time it seems programmers are just avoiding using SQL to do query-centric processing (slicing and dicing lists). Aside from performance problems, another downside is that one reinvents query language idioms in each programming language. It increases the learning curve and is anti-standardization.