Why Natural Language Is Not The Best Way Of Defining Software Functionality