Symbols & Models

Programmer:
program -> computer:
symbol-> CPU ->model
It is like the fingers of a pair of hand what is a pretty good mechanical model what can accomplish additions such as 4+3.
The same whose ability involves the addition is a pile of stones or a number of little sticks, which is all a black box what can achieve the addition and what has been abstracted from the masses of details.
Abstraction is a vitally prudent ability in the area of CS.
For the following calculations:

Why should we firstly calculate 4+3? Because in the black box called the multiplication reactor, its input must be from the addition reactor’s output. In primary school, you may learn “Firstly calculate the elements in the parentheses”. In fact, parentheses is belong to the “the level of symbol” what is not the essence of this calculation but only one type of encoding what means use some symbols to abstract and simply express the real procedures or models. The procedures are presented by the calculation graph. Linear algebra in which it uses “||” coupled with some rules to represent a host of elements and their calculations embodies the same smart principle. This course of transition from symbols to the model called parsing in the field of CS.
The essence of parsing is to match the probably dull symbols with the real model although the model is also abstracted from our surrounding world, which means when we see the expressions composed of symbols like 4*3, we should realize the really factual meaning of the expressions that may emerge from your brain as a calculation graph instead of a string of dry symbols.
But if i encounter a complex expression like this:

(2 + ( 4 * 3 - ( 3 / 9 ) + 8 ) * 7 )

How should we understand it?
Because it has so many nests, we can’t see it through directly and easily. But wait …… do you still remember how to simply the expression of models? Now we can introduce a symbol in the same way like this:

{    
// Don't be nervous. After the "//" , you see some notes to explain something. 
a= 4 * 3 - ( 3 / 9 )         
//"a" is called as **variable**.
2 + ( a + 8 ) * 7 
//Sequence means the codes here composing of a block can be executed or understood from top to bottom.
}
// Now "{}" means end with the emergence of "}"-the latter of "{}". Sometimes "{}" may be replaced with "()" or "BEGIN…END" to indicate the border. 
//As you see, "//" is a symbol that represents there are notes after it and "{}" represents the border of the **block** or **sequence** what is the codes here. 

Similarly, Booleans that only says “true” or “false” are also to simply our judgement and consideration extremely when we have to do them for long time or in a misleading and dizzy logic circle.
We need to learn and understand Symbols & Models further and deeply.
All rights are owned by Wangyin.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章