it's the interface between the user and the machine .. the machine understand only code language , it's hard to know all this code when you use this machine , so all this commands are generated in the application background to make the machine do the specific operation .