Appendix D. Basic Programming Concepts

This appendix attempts to define some of the basic concepts and terms that are used throughout the rest of this book. As this book is specifically about awk, and not about computer programming in general, the coverage here is by necessity fairly cursory and simplistic. (If you need more background, there are many other introductory texts that you should refer to instead.)

What a Program Does

At the most basic level, the job of a program is to process some input data and produce results. This is shown graphically in Figure D-1.

The basic job of a program
Figure D-1. The basic job of a program

The “program” in the figure can be either a compiled program[1] (such as ls), or it may be interpreted. In the latter case, a machine-executable program such as awk reads your program, and then uses the instructions in your program to process the data.

When you write a program, it usually consists of the following, very basic set of steps, as shown in Figure D-2:

The basic outline of a program
Figure D-2. The basic outline of a program
Initialization

These are the things you do before actually starting to process data, such as checking arguments, initializing any data you need to work with, and so on. This step corresponds to awk’s BEGIN rule (see the Section 6.1.4 in Chapter 6).

If you were baking a cake, this ...

Get Effective awk Programming, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.