深入理解编程中的命名、作用域与绑定
在编程的世界里,“高级”编程语言因其提供的相对高级的特性和抽象程度而得名。早期像 Fortran、Algol 和 Lisp 等语言的发展,受到机器独立性和编程便利性这两个互补目标的驱动。
1. 高级编程语言的特点与目标
高级编程语言的抽象特性,使得语言特性与特定计算机架构的细节相分离。机器独立性意味着编程语言不应依赖特定指令集来实现高效执行,但这一目标在如今的语言设计中驱动力已不如从前。而编程便利性则是一个更难以捉摸却极具吸引力的目标,它影响着语言设计的方方面面。
2. 命名的重要性与作用
名字是用于代表其他事物的助记字符串,在大多数语言中,名字通常是标识符,但像 + 或 := 等符号也可以作为名字。名字让我们能够使用符号标识符来引用变量、常量、操作、类型等,而不是使用地址等底层概念。同时,名字在抽象的另一种含义中也至关重要,它可以将一个复杂的程序片段与一个名字关联起来,从而隐藏无关细节,降低概念复杂度。
3. 绑定时间的概念
绑定是两个事物之间的关联,比如名字和它所代表的事物。绑定时间则是指创建绑定或做出任何实现决策的时间,主要包括以下几种:
- 语言设计时间 :确定控制流构造、基本类型集合、创建复杂类型的构造函数以及语言语义的许多其他方面。
- 语言实现时间 :语言实现者可自行决定一些问题,如基本类型的精度、I/O 与操作系统文件概念的耦合、堆栈和堆的组织与最大大小,以及运行时异常的处理。
- 程序编写时间 :程序员选择算法、数据结
超级会员免费看
订阅专栏 解锁全文
1125

被折叠的 条评论
为什么被折叠?



