程序设计语言原理

第一章、基本概念

01、对自然语言而言,那些只掌握有限语言的人,其思维的复杂程度,特别是其抽象思维的深度,必然受到局限。换言之,人们对不能口头或笔头描述的事物结构必定很难将其概念化。

02、往往只有懂得有关的程序设计语言实现细节的程序员才可能发现和改正某些类型的程序错误;不懂得递归调用是如何实现的程序员,常常不知道地柜算法比等价的迭代算法要慢得多。

03、程序设计语言的正交性指的是,使用该语言中一组相对少量的基本结构,经过相对少的结合步骤,可以构成该语言的控制结构与数据结构。而且,它的基本结构的任何组合都是合法的和有意义的。

04、正交语言特性的意义是独立于它在程序中出现的上下文的。缺乏正交性会导致语言规则异常。语言的正交性与语言的简单性是紧密相关的:程序设计语言的正交性设计得越好,该语言规则中的异常情况就会越少。

05、过分地追求正交性也会产生问题,极端的正交性会导致不必要的复杂性。一组较少量的基本结构以及一套相互一致的规则组合(即正交性),比仅仅具有大量的基本结构要优越得多。

06、过分的正交性也会有损于可写性,当基本结构的任意结合几乎都是合法时,程序中的错误就很难被检测出来。这也会导致编译器不能够发现代码中的谬误。

07、抽象指的是以合法省略许多细节的方式,来定义并且使用复杂结构或复杂运算的能力。

08、类型检测是语言可靠性中的一个重要因素。编译时的类型检测要比运行时的类型检测更为理想,因为运行时的类型检测是高代价的。程序中的错误发现得越早,改正错误的代价就越低。

09、如果具有中断运行时错误(以及这个程序所发现的其他非正常情况)并改正错误然后继续运行的能力,将显然有助于提高程序的可靠性。这种程序设计语言的机制称之为异常处理。

10、无论某语言的编译器质量如何,要求进行大量运行时类型检测的语言必将阻碍代码的高速执行。

11、由于运算指令被顺序地存储于相邻的存储单元,所以冯诺依曼计算机上迭代式的循环是高速的。这种高效率不鼓励使用递归式循环,尽管递归式循环常常更为自然。

12、面向对象的程序设计方法学始于数据抽象。这种方法将数据处理和数据对象封装在一起,并控制对数据的访问,并添加了继承与动态方法绑定。

13、Java语言的定义要求,必须对所有数组元素的引用进行检测,以保证所有下标都在合法的范围之内。这个步骤给包含大量数组元素引用的Java程序增加了很大的执行代价。C语言不要求进行下标范围检测,所以C程序的执行速度要比语义上等价的Java程序要快得多;当然Java程序更为可靠。Java语言的设计人员以程序执行效率为代价换取了可靠性。

14、一台计算机的存储器与它的处理器之间的链接速度通常决定着这台计算机的速度,因为执行指令的速度往往比将指令传递到处理器的速度更快,这一问题被称为冯诺依曼瓶颈。

15、Java语言的最初实现都是采用混合方法。其中被称为字节码的中间形式给任何装有字节码的解释器以及与之相关的运行时系统的机器提供了可移植性。所有这样的机器都被统称为Java虚拟机。而现在有些系统将Java字节码翻译为机器码,以便达到更快的执行速度。

16、即使(just-in-time,JIT)实现系统最初将程序翻译成一种中间语言。然后在执行的过程中,当中间语言的方法被调用时,这种实现系统再将中间语言的方法翻译为机器码。现在JIT实现系统被广泛用于Java程序。所有的.NET语言也都是用JIT系统实现的。

第二章、主要程序设计语言的发展

第三章、描述语法和语义

01、语言的使用人员必须能够通过查阅语言参考手册来确定如何编写软件系统。教科书和培训课程固然能够帮助学习语言,然而通常,语言手册是一种语言唯一的权威性信息来源。

02、程序设计语言的语法是它的表达式、语句和程序单元的形式,而它的语义则是这些表达式、语句和程序单元的含义。

03、程序设计语言的语法形式描述通常不包括对于最低层次语法单元的描述,这些语法小单元称为词素(Lexeme)。词素的描述由词法说明给出,它与语言的语法描述是分开的。一种程序设计语言的词素包括它的字面值、操作符和特殊字,以及其他。我们也可以认为程序是一些词素的串,而不是字符的串。

04、在BNF的描述或文法中,抽象通常被称为非终结符(nonterminal symbol),或者简称为非终结(nonterminal),而规则中的词素和标记则被称为终结符(terminal symbol),或者简称为终结(terminal)。一个BNF描述,或一种文法,仅仅是一个规则的集合。BNF尽管简单,但它具有充分的表达能力来描述几乎所有的程序设计语言的语法。

05、数学中使用省略符号(......)来表示长度可变,BNF中没有,而是使用递归来作为此类替代方法。如果一条规则中的LHS(Left Hand Side)出现在它的RHS(Right Hand Side)当中,我们称这条规则是递归的。

06、文法是定义语言的生成装置。句子的生成则被称为派生。

07、语法分析树的每一个内部节点都由一个非终结符来标记;而它的每一个叶子节点都由一个终结符来标记。语法分析树的每一颗子树都描述语句中抽象的一个实例。

08、如果由一条文法生成的句子具有两种或者多种不同的语法分析树,就称这条文法是歧义的。

09、语法分析树与派生之间的联系非常紧密:很容易从它们两者中的任意一个构造出另外一个。非歧义的文法的每一个派生只有唯一的语法分析树,尽管这棵树能够被不同的派生所表示。

10、操作符的结合性:当一条文法的LHS也出现在它的RHS的起始位置,这条规则就被称为左递归的,左递归说明左结合性。如果一条文法规则的LHS出现在RHS的最右端,则该条文法规则是右递归的,右递归说明右结合性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,591评论 18 139
  • 提到“害怕”这个词,每个人都会多多少少有点不适,因为它代表的情绪可以说是负面的,贬义的。但是我今天要演讲的是,只要...
    二姑娘舍舍阅读 481评论 0 1
  • 9.5号 18:00 多哈当地时间 中国VS 卡塔尔 我在 Khalifa 场馆看球赛! CHINA VS QAT...
    QR张阅读 215评论 0 0
  • 感情是一辈子的事 得舒服才行 你也别将就。
    仝爽很酷阅读 149评论 0 0
  • 你也不知道 什么时候你会死 也许他悄无声息就来了 你说诗人都死了 活着的也在苟延残喘 这便是我的归宿吧 也许在某个...
    启文阅读 192评论 0 0