Now that we have considered an extremely simple program we should discuss the elements of the Object Pascal language in more detail. Object Pascal is a strongly-typed, imperative, object-oriented, procedural language. Do not worry if you do not understand this definition right now. By the end of this unit you will understand what we mean by this definition. Some parts we already can understand just from dealing with the Hello World programs. Imperative languages are languages that define commands to be executed one-by-one in order. And, we know that Object Pascal is procedural because we have already used subroutine calls like Writeln and FillRect. strongly-typed will be covered later in this chapter and object-oriented will be covered in Chapter 4.

When we use the term fundamental concepts in the title of this chapter, what we mean is that we will describe the concepts in Object Pascal that are essentially universal to every imperative, procedural language (so what you learn in this chapter can be largely applied to any programming language). To help you understand these concepts, most sections (starting with Section 2.4) will start with basic example code, provide exercises with console applications, and finally end with a graphical application.