awk is a regular language that supports constants and variables, boolean logic and control structures among other things. Keep in mind though, awk, like other scripting languages is weakly typed
awk is really good at searching files. It supports it's own flavor of regex and the language itself is data driven.
awk reads a line from a file as a Record. Each record is broken up into Fields based on a character stored in the FS variable which defaults to a space.
Fields are numbered $1 through $n for how ever many fields there are.