免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: wwwsq
打印 上一主题 下一主题

531,继续抽某昏昏 [复制链接]

论坛徽章:
0
171 [报告]
发表于 2012-09-26 01:49 |只看该作者
回复 168# starwing83

不。这只是之一,还有其它理由,虽然比较容易回避(和具体语言的实现无关,不体现直接的必要性),但更容易理解其合理性,或者“变量”这个概念存在的价值
variable这种抽象是给人看的。在你落实代码之前,你可能会想“我需要变量a”。但不是所有的人都得直接这样想。我可以想:这个函数里需要存在一个状态,需要至少一个变量(不管是a还是b还是c什么的,也先不管是不是automatic/static/thread local什么的)。这时候这里的“变量”的含义就和表达式扯不上关系了。当然,最终语言中要求变量需要具体的名称,所以需要进一步工作:我可以考虑这个变量是“变量a”,去考虑需要是T类型,再去考虑到底是const T& a = xxx;呢,还是const T a = xxx;呢,还是T a = xxx;……
其实我之前也说过。不限具体语言,“变量”这个实体概念作为思维上贯穿始终的线索总是有意义的,所以名称和实体分离在这里有其必要性。这也是一般的“抽象”存在的一个重要的意义。

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
172 [报告]
发表于 2012-09-26 01:56 |只看该作者
回复 171# 幻の上帝


    对,这个我同意!所以我才说,如果表达式出现一个标示符,这个地方上标示符就是变量,这个表达式是个变量,而不是说**所有变量**都是表达式,这明显是错误的。

换言之,表达式中的identifier是个变量,在这里出现的变量就是表达式,在别的地方,显然不是。

论坛徽章:
0
173 [报告]
发表于 2012-09-26 02:21 |只看该作者
回复 172# starwing83

看来有些共识了。
不过我不同意在具有普遍性的命题中使用这种模糊的说法——直接把denotes给换成is了。口味不对。
你要说某个确定上下文的具体变量a,出现在哪个表达式中,那么表达式a和变量a是同义词——所指的东西相同。因为足够具体,所以没有歧义。
不过即便是同义词也不是等义词。有更明确的说法——变量名。一字之差而已,为什么非要纠结着想用怎么看都更模糊的说法呢。

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
174 [报告]
发表于 2012-09-26 02:30 |只看该作者
回复 173# 幻の上帝


    那么这么说你是否同意:在教材中,当我们描述一个求值过程时,因为我们指代的是表达式所指代的东西,无歧义,这时可以说变量vs表达式求值(a是变量,这里求值得到……);当我们描述的是表达式这个符号的结构本身的时候,我们用变量名这个概念,对应表达式这个概念。

就如同当我们研究音乐给人带来的情感时,我们说音染,说空间感,当我们说音乐本身时,我们说音色,说演奏强度等等。这样应该没什么问题了吧。依然在特定情形下,变量是表达式时合理的。

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
175 [报告]
发表于 2012-09-26 07:44 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
176 [报告]
发表于 2012-09-26 07:47 |只看该作者
本帖最后由 wwwsq 于 2012-09-26 07:48 编辑
starwing83 发表于 2012-09-26 01:10
回复 160# wwwsq



identifier和variable的关系,类似于姓名和人的关系。

你可以把姓名排一个族谱,就像把identifier排成表达式。因此只有一个姓名也可以说是一个基本的族谱,只有一个identifier也可以说是基本的表达式。

但你不能说“人本身也是族谱”。某昏昏就是在说“变量本身也是表达式”。


论坛徽章:
0
177 [报告]
发表于 2012-09-26 10:04 |只看该作者
回复 175# pmerofc


对于C而言,“我需要一块存储空间”是“需要存在一个状态”其中的一种情况。

论坛徽章:
0
178 [报告]
发表于 2012-09-26 10:05 |只看该作者
回复 174# starwing83


除了最后一句都同意。如果你要彻底合理,你得重载“是”了,否则太不符合自然语言的直觉 。

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
179 [报告]
发表于 2012-09-26 11:48 |只看该作者
回复 176# wwwsq


    你是不是完全没有看懂我的回复呢?老幻都看懂了,看那个四角的图。名字是符号,族谱是符号,名字代表人,族谱呢?他可以表示族谱本身,也可以表示家族,那么名字属于族谱,人属于家族,怎么就不对了呢?唯一的问题是,在某个情形下,可能族谱代表一本书和一个家族都说的通,这样就有了歧义,读者不知道你具体指的是什么。在这个时候你就必须特指:族谱或者家族。而表达式显然不是这种情况

论坛徽章:
0
180 [报告]
发表于 2012-09-26 12:11 |只看该作者
本帖最后由 wwwsq 于 2012-09-26 12:13 编辑
starwing83 发表于 2012-09-26 11:48
回复 176# wwwsq



你说符号和表达式是平级的,这基本上是不对的。

identifier是expression的组成部分。虽然单个的identifier也可以说是primary expression。但是总体来说,identifier是单元,expression是组合。很难说他们是平级的。



你所说的平等,指的是“上帝面前万物平等”的那种平等。士兵和是部队的组成部分,士兵怎么能和部队是平级的呢,都不可比。虽然单个士兵也可以说是最小的部队。


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP