Foundationals of codifying machine procedures into texts and their textual languages.
A procedure has intermediary steps.
Each intermediary step has a purpose, and plays a part.
A step can prepare for others. The sequential order of progression is conceived accordingly.
A procedure step operates on data.
Operations are specific to data types of involved data.
Types of data are grouped as listed followingly: bit, number, text.
A bit can work as 1 of 2 values: as 0 or 1, or as false or true. A bit is called "Boolean" in jargon.
A number can have decimal digits, sign, and so on so can be also a complex number, a quaternion, a vector, a matrix, and other Mathematical entities.
So reference also to Mathematical jargon here. A number without decimals is called "integer number", and so on.
A text can be encoded by support of alphabets and affine systems, or symbols and emoticons also, for example.
A text is a sequence of such elements. A text is called "string" in jargon.
Procedures have branchings.
A Boolean value decides the path that will be executed when branching points happen in sequential execution of "procedural steps".
A bit (a Boolean) is associated with 2 possible branching paths.
Data can be put into or got out from data structures.
Data is stored mostly in associative arrays. That means associating contained values to keys (jargon).
Keys allow referring for reading and writing such values.
"Associative data keys" can be both text or numbers as type.
Keys of type "integer number" are called "sequence indices" in jargon. Such index often starts with a 0 associated to a first element of a sequence.