编程语言沉思录—编程语言的体系结构
编程语言是一套描述和解释系统
一、语言体系结构:
客观世界
人(描述和解释为)
自然语言
人(描述和解释为)
编程语言
编译器()
指令集、内存地址、内存数据、内存模型
调用指令、算术指令、逻辑指令
编译器
机器指令
计算机:
cpu、内存、io
二、描述和解释的细节
人将纷杂的具体事物和概念描述为编程语言。
编程语言有不同的世界观和范式,适合描述不通的问题。
对不同问题领域选择合适的语言。
编程语言是对指令集和内存等计算机体系的一种思想、领域、范式抽象。
抽象为和人的思维模式、问题领域更接近的描述方式。
这种抽象后的编程语言在经过解释系统后,最终转化为内存、调用、指令集、io等计算机能够识别和运行的要素。
从而完成问题的处理。
也就是语言最终会解释为数据结构和算法体系;
解释为内存地址、内存数据、函数调用等初级的命令式解释,
进而解释为机器指令。
三、基于面向对象的解释
面向对象一方面对内存模型做出了封装;
另一方面抽象出接口、抽象类、继承体系等类型体系便于对现实问题进行描述。
另一个面抽象出重载和多态体系。用于解决扩展、复用等逻辑和语言描述等问题。
面向对象的调用过程,最终会解释为 普通的函数调用。
这个普通调用有一个为对象引用的普通值作为缺省参量。