In the majority of cases, what we call computer languages aren’t actually the language spoken by the hardware of the computer itself; warning - vast oversimplifications ahead:
At the most basic level, the language instructions that the actual hardware of a computer understands consist of things equivalent to:
-Memorise the number following this instruction
-Add one memorised number to another
-Compare one memorised number against another, if they are the same, set a ‘flag’
-Jump to another place in the series of instructions
-Jump to another place in the series of instructions if the ‘flag’ is set
-Move the value stored in a specified location to another specified location
And so on - these instructions aren’t ‘understood’ in words by the computer, but as numbers - instruction number 01 might mean “Memorise the number following this instruction”, so passing the two numbers 01,99 to the processor makes it memorise the number 99.
That’s Machine Code and the actual instruction sets vary from one processor type to another.
To make Machine Code a little easier to use, the numeric instructions often have short names (this is called Assembly Language), so rather than having to remember that 01 means ‘memorise’, the programmer can (in a hypothetical assembly language) write ‘mem,99’. When he wants to run the program, the names are converted into numbers by an Assembler program first (this is a simple, literal one-to-one translation).
Writing large programs in assembly language is painful, so there are easier ways and this is where we get to compiled languages:
Compiled languages consist of commands that are more like human language, such as:
-Repeat the following set of instructions for a specified number of times
-Repeat the following set of instructions until a specified condition is encountered
-Remember a numeric or other value by assigning it a name
-Display something on the screen
-Get some input from the user
For each of these (much more general purpose) instructions, the compiler (which is a program itself, consisting of machine code) has a pre-made machine code translation, so the instruction ‘get some input from the user’ might actually translate into quite a long and complex series of machine code instructions, saving a lot of effort on the part of the programmer.
There are also Interpreted languages, which work in a similar way, but instead of doing all the translation in advance, they do it as the program runs (in fact many ‘compiled’ languages still do interpretation at runtime and many ‘interpreted’ languages do some prior compilation).
But they aren’t conversational languages, just means of instructing the machinery to do certain things, perhaps analogous to a set of travel directions; Proceed along route A, when you come to point B, turn left etc.