Symbols & Models

a story from our angle of view

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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值