Defining What an Application Is : Applications provide the means to define express human ideas in a manner that a computer can understand. To accomplish this goal, the application relies on one or more procedures that tell the computer how to perform the tasks related to the manipulation of data and its presentation. What you see onscreen is the text from your word processor, but to see that information, the computer requires procedures for retrieving the data from disk, putting it into a form you can understand, and then presenting it to you.
Understanding that computers use a special language
Defining What an Application Is : Human language is complex and difficult to understand. Applications such as Google Assistant have limits in understanding what you’re saying. Over the years, computers have gained the capability to input human speech as data and to understand certain spoken words as commands, but computers still don’t quite understand human speech to any significant degree.
The difficulty of human speech is exemplified in the way lawyers work. When you read legalese, it appears as gibberish. However, the goal is to state ideas and concepts in a way that isn’t open to interpretation. Lawyers seldom succeed in meeting their objective precisely because human speech is imprecise.
Computers could never rely on human speech to understand the procedures you write. Computers always take things literally, so you’d end up with completely unpredictable results if you were to use human language to write applications. That’s why humans use special languages, called programming languages, to communicate with computers. These special languages make it possible to write procedures that are both specific and completely understandable by both humans and computers. Computers don’t actually speak any language. They use binary codes to flip switches internally and to perform math calculations. Computers don’t even understand letters — they understand only numbers. A special application turns the computer-specific language you use to write a procedure into binary codes. You really don’t need to worry too much about the low-level specifics of how computers work at the binary level. However, it’s interesting to know that computers speak math and numbers, not really a language at all.