- 内容提要
- 序 1:程序里的世界
- 序 2:最后一层表象
- 关于本书
- 致谢
- 引言:简单的本源
- 篇一:计算系统
- 第 1 章 数,以及对数据的性质的思考
- 第 2 章 逻辑
- 第 3 章 抽象
- 篇二:语言及其面临的系统
- 第 4 章 语言
- 第 5 章 从功能到系统
- 篇三:程序设计的核心思想
- 第 6 章 数据结构:顺序存储
- 第 7 章 数据结构:散列存储
- 第 8 章 执行体与它在执行过程中的环境
- 第 9 章 语法树及其执行过程
- 第 10 章 对象系统:表达、使用与模式
- 篇四:应用开发基础
- 第 11 章 应用开发的背景与成因
- 第 12 章 应用开发技术
- 第 13 章 开发视角下的工程问题
- 第 14 章 应用程序设计语言的复杂性
- 篇五:系统的基础部件
- 第 15 章 分布
- 第 16 章 依赖
- 第 17 章 消息
- 第 18 章 系统
- 篇六:系统的基本组织方法与原理
- 第 19 章 行为的组织及其抽象
- 第 20 章 领域间的组织
- 附一:主要编程范式 及其语言特性关系
- 附二:继承与混合,略谈系统的构建方式
- 附三:像大师们一样思考——从 UML 何时死掉 谈起
- 附四:VCL 已死,RAD 已死
4.3 语用限定:试图避免 计算的不确定性 带来的副作用
我们来稍稍讨论一下语用的问题。
从对自然语言的观察来讲,同一句话——即语法和语义都严格相同——在不同的场合(语境)中出现,却可能有微妙的甚至是迥异的差别。但在讨论“差别”这个问题时,我们要先将语法从中别开,例如:
“这难道不是吗”与“难道,这不是吗”
在后一种表达中用语法带来的强调效果;也要将语义从中别开,例如我们既使用
1+1
来表达算术,也用它来引申为人与人的合作,这两种语义都是确切且又不同的。最后,我们还需要将某些语言因其不严谨以及使用习惯所导致的歧义从中别开,例如:
早起的鸟儿有虫吃
既可以理解为“有虫吃鸟”,也可以理解为“鸟能吃到虫”。
在这几种情况区别开之后 5 ,语用讨论的是语言背景的因素下的差别。例如:
去死!
用在战场中,表示愤怒、诅咒与呐喊;而在情人间即使连标点都不变,也可以表达亲昵。这种在语义的组织与逻辑上,以及在语法的构造与表述上都没有任何的不同,但因为场合而含义有别的情况,是语用的问题。
显然,如同我们此前所说的“计算的不确定性是对机器计算是否有价值的终极拷问”,我们并不希望在使用一种语言与计算机沟通的时候表达出上述的不确定的含义,或者反过来,计算机给出我们一个不确定的结果。因此事实上我们在设计计算机(软件与硬件)系统之初,就在尽力避免与之沟通时存在的语用问题。亦即是说,在严格的计算系统中,语用——这一语言的背景因素被限制在计算机的初始环境中,从而使“语义+语法”能够描述确定的计算及其结果 成为可能 。
但是在计算机的应用中,领域特定语言(DSL,Domain Specific Languages)其实是基于对语用学的研究与实践。所谓 领域特定 ,即重设了“严格的计算系统”这样的背景。所以在这类语言中,我们可能看到与此前讨论的“计算系统的要素”不同的内容与逻辑。但是从语言的性质来看,它仍然是基于语法和语义,并且限定语用(领域环境)的。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论