Computational process

“We are about to study the idea of a computational process. Computational processes are abstract beings that inhabit computers. As they evolve, processes manipulate other abstract things called data. The evolution of a process is directed by a pattern of rules called a program. People create programs to direct processes. In effect, we conjure the spirits of the computer with our spells.

A computational process is indeed much like a sorcerer’s idea of a spirit. It cannot be seen or touched. It is not composed of matter at all. However, it is very real. It can perform intellectual work. It can answer questions. It can affect the world by disbursing money at a bank or by controlling a robot arm in a factory. The programs we use to conjure processes are like a sorcerer’s spells. They are carefully composed from symbolic expressions in arcane and esoteric programming languages that prescribe the tasks we want our processes to perform.

A computational process, in a correctly working computer, executes programs precisely and accurately. Thus, like the sorcerer’s apprentice, novice programmers must learn to understand and to anticipate the consequences of their conjuring. Even small errors (usually called bugs or glitches) in programs can have complex and unanticipated consequences.”

― Harold Abelson, Structure and Interpretation of Computer Programs

Java main method

To run our program, the main method must be identical to this signature

public static void main(String[ ] args)

  • Public : anyone can see it
  • Statuc : method can be run without creating an instance of the class containing the main method 
  • Void : method doesn’t return any value 
  • Main : name of the method
  • Main’s parameters are is an array of strings called  args 


A method is a collection of statements grouped together for an operation
Aka functions