[programming-languages] What is declarative programming?