Computer programs are written a programming language, similar in many ways to natural language (which humans use to communicate with each other). Programming languages however are different to natural languages in that programming languages are more precise, and eliminate ambiguity.
There is still a breach between natural and programming languages. Computers cannot understand natural languages because they cannot eliminate ambiguities, people cannot easily communicate with programming languages because everything is not well defined. This is an area of much research.