 First order logic can be intimidating even for many software developers.Languages which do not have the complete formal power of FOL can still provide close to the same expressive power with a user interface that is more practical for the average developer to understand.The issue of practicality of implementation is that FOL in some ways is too expressive.