Creating a query engine
Let’s switch gears a little bit and increase the complexity a couple of levels and make it a little bit more relevant. One thing we could use expressions for is as a way to do dynamic querying of data. Some applications might want to even give the end user the ability to create arbitrary queries for your data. I’ve worked on solutions that offered this type of power to the end user, which can be a tough problem to solve if you’re providing a flexible query system for the end user without something such as expressions. I’ve seen solutions that basically just expose SQL directly to the end user instead of trying to tackle this problem. Giving this level of power to the end user can cause problems in the future. What you end up doing is completely obliterating all abstractions between your data storage and your end users. Good luck changing technologies or supporting multiple data storage mechanisms. But luckily, we have the power of...