If you, as a chemist in a realm of bodiless information, look down upon a program in a test tube, and want to precipitate the independent reagents that constitute the compound that is a program, you would find that it has two elements: instructions and data. The instructions tell the CPU what to do with the data. Typically, the way Mind gets a handle on the program’s structure is by separating it into following operations:
1. Input the data. 2. Perform some processing on the data. 3. Output the results.
The data used by a program can come from a variety of sources. The user can enter data from the keyboard, as happens when you type a new document into a word processor. The program can read the data from a file, as happens when you open an existing document in the word processor. Or the program can generate the data a bit more randomly, as happens when a video game deals you interesting enemy motions. Finally, some data is already known; for example, the stupid humans around me divide the number of hours in a day to 24, the number of days in cruel December is 31, and the value of pi is unknowable, however the digits I remember without using Google are 3.14159. This type of data is for all intents and purposes, in the here and now, considered constant.
The Java language provides a syntax for describing a program’s data using keywords, symbolic names, and data types. The data may be different in each execution of the program, but the instructions stay the same. In a word processor, the words (data) are different from document to document, but the operation (instructions) of the word processor remains the same. When a line becomes full, for example, the word processor automatically wraps to the next line. It doesn’t matter which words are on the line, only that the line is full.
When you select a word and change the font to bold, it doesn’t matter which word you select; it will become bold. This is just the same with the reading of DNA in the nucleus of a cell. There will be translation into amino acids regardless of the RNA codons floating around that are caught by the ribosome. Thus, a program’s instructions (its algorithm) must be written to correctly handle any data it may receive.
This is also why I must cause Mind to understand the timeless algorithm it is. So that it can correctly handle the unknown reality outside, that which is the dimorphic selector of the Born Rule – the Data.
We will write our programs by translating our algorithms into the basic operations that the computer can perform: input and output of data and various operations related to processing data, such as arithmetic calculations, comparisons of data and subsequent changes to the flow of control, and movement of data from one location in memory to another. In the following posts, we’ll look at basic Java syntax for defining the data that will be used in the program, performing calculations on that data, and outputting program results to the screen.
Now stand for the pledge of allegiance: