2、改善对现行程序设计语言的使用 通过对语言特性的实现细节的了解,可大大增加书写高效的 程序的能力。 如 对数据结构,诸如数组、串、表、记录等,如何被创建 和操作的了解 对递归的实现细节的了解 以及对对象类如何被创建的了解 将对书写高效程序有很大帮助
2、改善对现行程序设计语言的使用 •通过对语言特性的实现细节的了解,可大大增加书写高效的 程序的能力。 如: 对数据结构,诸如数组、串、表、记录等,如何被创建 和操作的了解 对递归的实现细节 的了解 以及对对象类如何被创建的了解 将对书写高效程序有很大帮助
3、增加可使用的有用的程序设计结构的词汇量 言对思维既有帮助,也有限制 人们使用语言去表达思想,但语言也控制人如何思维, 用字句中没有直接表达的方式来思维是十分困难的。 ·在解决一个问题时,要寻找合适的数据和程序结构,通常人 们首先考虑他熟悉的语言中可直接表达的结构 ˉ研究各种语言提供的结构和这些结构被实现的方式,程序员 可增加其编程词汇 对实现技术的了解非常重要。如要使用一个结构,该结构在 语言中没有直接提供,程序员必须提供自己的实现(使用语 言提供的基本结构)。 如子程序控制结构、协同例程( coroutine)在很多程序中 有用,但很少有语言直接提供协同例程特性 C或 Fortran程序员可以设计程序来使用协同例程结构,然 后将它们实现为C或 Fortran程序(如果熟悉相关概念及实 现)从而可以提供大型程序的正确控制结构
3、增加可使用的有用的程序设计结构的词汇量 •语言对思维既有帮助,也有限制 人们使用语言去表达思想,但语言也控制人如何思维, 用字句中没有直接表达的方式来思维是十分困难的。 •在解决一个问题时,要寻找合适的数据和程序结构,通常人 们首先考虑他熟悉的语言中可直接表达的结构。 •研究各种语言提供的结构和这些结构被实现的方式,程序员 可增加其编程词汇。 •对实现技术的了解非常重要。如要使用一个结构,该结构在 语言中没有直接提供,程序员必须提供自己的实现(使用语 言提供的基本结构)。 如子程序控制结构、协同例程(coroutine)在很多程序中 有用,但很少有语言直接提供协同例程特性。 C或Fortran程序员可以设计程序来使用协同例程结构,然 后将它们实现为C或Fortran程序(如果熟悉相关概念及实 现)从而可以提供大型程序的正确控制结构
4、允许更好地选择语言 对程序设计语言知识的掌握可以允许程序员针对特定的项 目,恰当地选取合适的语言,从而减少编码工作量。如:C Fortran、Ada可用于数值运算,Lisp、ML、 Prolog可用于人 工智能应用。对每种语言的特性的长处和弱点的了解和掌 握有利于程序员做出广泛而正确的选择 5、更易于学习新语言 °对自然语言语法结构的学习和了解可使对新语言的学习更 容易 °对程序设计语言各种结构和实现技术的了解,也可使程序 员能够在需要时更容易地学习新语言
4、允许更好地选择语言 •对程序设计语言知识的掌握可以允许程序员针对特定的项 目,恰当地选取合适的语言,从而减少编码工作量。如:C、 Fortran、Ada可用于数值运算,Lisp、ML、Prolog可用于人 工智能应用。对每种语言的特性的长处和弱点的了解和掌 握有利于程序员做出广泛而正确的选择。 5、更易于学习新语言 •对自然语言语法结构的学习和了解可使对新语言的学习更 容易 •对程序设计语言各种结构和实现技术的了解,也可使程序 员能够在需要时更容易地学习新语言
6、更易于设计新语言 很少有程序员把自己考虑为语言设计者,然而,任何程序都 有一个用户界面,这事实上也是某种形式的程序设计语言, 用户界面包括提供给用户用于和程序通讯的命令和数据格式 大型程序,如文本编辑器、操作系统、图形包的用户界面的 设计者,必须考虑很多存在于通用程序设计语言设计中的相 同问题 如果程序员熟悉一般程序设计语言中的结构和实现方法,则 程序设计将可以大为简化 总之,程序设计语言的研究十分重要,包括语言特性和实现技 术(特别是不同结构的运行时表示技术)等主要研究内容
6、更易于设计新语言 •很少有程序员把自己考虑为语言设计者,然而,任何程序都 有一个用户界面,这事实上也是某种形式的程序设计语言, 用户界面包括提供给用户用于和程序通讯的命令和数据格式。 •大型程序,如文本编辑器、操作系统、图形包的用户界面的 设计者,必须考虑很多存在于通用程序设计语言设计中的相 同问题。 •如果程序员熟悉一般程序设计语言中的结构和实现方法,则 程序设计将可以大为简化。 总之,程序设计语言的研究十分重要,包括语言特性和实现技 术(特别是不同结构的运行时表示技术)等主要研究内容
程序设计语言的优点 比机器或汇编语言更易于学习。 这涉及很多方面的问题,如一个极端强大的程序设计语 言可能比一个只有十几条指令的机器的汇编语言更难学 但给定基本相同的复杂度,程序设计语言更易学(记号 更接近问题域;更少关心物理硬件) 程序设计语言书写的程序更易于调试 debug(程序更为短小; 记号本身更自然,因此更多注意力可放在程序逻辑而非语法 细节上) 程序更易于理解 °程序设计语言的记号自然起到了文档的作用 上述原因导致解决问题的时间和代价减少
程序设计语言的优点 •比机器或汇编语言更易于学习。 这涉及很多方面的问题,如一个极端强大的程序设计语 言可能比一个只有十几条指令的机器的汇编语言更难学。 但给定基本相同的复杂度,程序设计语言更易学(记号 更接近问题域;更少关心物理硬件) •程序设计语言书写的程序更易于调试debug(程序更为短小; 记号本身更自然,因此更多注意力可放在程序逻辑而非语法 细节上)。 •程序更易于理解 •程序设计语言的记号自然起到了文档的作用 •上述原因导致解决问题的时间和代价减少