# Introduction

Algol 68 is a high-level, general-purpose programming language ideally suited to modern operating systems. This book will teach you Algol 68 plus the necessary development skills to enable you to write substantial programs which can be executed from the command line.

In principle, you can solve any computable problem with Algol 68. You can write programs which perform word processing, perform complicated calculations with matrices, design graphs or bridges, process pictures, predict the weather, and so on. Or you can write simple programs which count the number of words in a file or list a file with line numbers.

Algol 68 is a powerful language. There are many constructs which enable you to manipulate complicated data structures with ease, and yet it is all easy to understand because one of the guiding principles of Algol 68 was that it was designed to be orthogonal. This means that the language is based on a few independent ideas which are developed and applied with generality. The language was designed in such a way that it is impossible to write ambiguous programs. The design is also difficult to describe until it has been fully described, which means that some concepts have to be introduced in a superficial manner, but later reading will deepen your understanding.

You need to have a thorough grasp of the basic ideas if you are going to write powerful programs in Algol 68: these ideas unfold in the first five chapters. The chapters should be read in order, but chapter 5 is a watershed--it forms the basis of much of the computer programming performed in the world today. Its ideas should be mastered before continuing.

Chapter 10 draws together all the various references to grammatical points and clarifies the limitations of the language--you will need to know these if you want to squeeze the last ounce of power out of the language. Chapters 11 and 12 deal with advanced topics which should not be touched until you have mastered preceding material. Chapter 13 describes the standard prelude which, besides providing means of determining the characteristics of an Algol 68 implementation, also provides the transput facilities whose power are characteristic of Algol 68.

In this chapter, some aspects of Algol 68 grammar are described. Don't worry if they seem confusing; all will become clear later in the book. It also covers denotations and the identity declaration, the latter having crucial importance in the language.

Subsections

- What you will need
- Terminology
- Values and modes
  - Exercises
- Integers
  - Exercises
- Identity declarations
  - Exercises
- Characters
  - Exercises
- Real numbers
  - Exercises
- Program structure
  - Exercises
- Comments
  - Exercises
- External values
- Summary
  - Exercises