How do computer languages work?
We’ve already discussed how programs are run. Every program ultimately has to execute as a stream of bytes that are instructions in your computer’s machine language. But human beings don’t deal with machine language very well; doing so has become a rare, black art even among hackers. Almost all Unix code except a small amount of direct hardware-interface support in the kernel itself is nowadays written in a high-level language. (The `high-level’ in this term is a historical relic meant to distinguish these from `low-level’ assembler languages, which are basically thin wrappers around machine code.) There are several different kinds of high-level languages. In order to talk about these, you’ll find it useful to bear in mind that the source code of a program (the human-created, editable version) has to go through some kind of translation into machine code that the machine can actually run.