Introduction to OOP: Chapter 1: Thinking Object-Oriented: [next] [previous] [audio] [real] [text]

Block Scoping Didn't Solve the Problem

begin
	var
		datastack : array [ 1 .. 100 ] of integer;
		datatop : integer;

	procedure init; ...
	procedure push(val : integer); ...
	function pop : integer; ...
...	
end;

Intro OOP, Chapter 1, Slide 36

Block scoping appeared in Algol-60, and was adopted by many subsequent languages.