高级语言视角

高级语言视角

算法语言

高级语言编程都是通过描述算法,在其中描述算法的逻辑结构主要就是分支和循环。高级计算机语言编程过程中,我们发现许多相似的概念。比如:变量赋值语句,if-else逻辑控制结构,for循环结构,文件,Socket等。

编译器

推断,编译器塑造变量赋值,if-esle逻辑控制,for循环结构。推断,操作系统塑造文件,Socket等。理解编程高级编程语言,本质就是理解编译原理和操作系统。

推断,编译器早于操作系统,0和1的组合记忆是人类面临的第一个难题。于是,最早的汇编器就是将助记符对应于二进制。思考,若类似键盘的字母输入设备,那么汇编器然并卵。改善输入设备,为人类可识别的英文字母,当我们输入相应的汇编指令,都会经过处理(人工或硬件或程序),然后,变化成二进制输入。早期输入计算机的输入设备都是识别二进制,汇编语言写出来的程序,需要人工对应表进行翻译成对应的二进制。

操作系统

BIOS,通用计算机关键所在,提供了基本的输入输出,并且规范了CPU执行的代码开始位置。

操作系统,接管BIOS的后续代码执行,一些简单的系统调用有BIOS提供,抽象各种概念来达到对待计算机的统一视图。主要分为两个方面,统一各个设备提供的功能接口规范(同一功能设备,不同驱动程序)和统一视图于各个设备(文件系统,针对各种存储设备)。

本质(面向操作系统)

高级语言编程,语法结构是面向编译器的逻辑。编译器提供了语法的逻辑视图,也就是编译器这个软件提供的一些功能,屏蔽功能复杂性,暴露需要的通用性。

高级语言编程,抽象设备是操作系统将物理设备抽象出来的统一概念。例如文件系统,Socket等,运行的程序本身是操作系统的一个概念(进程),也就是高级语言规范其实是捆绑于操作系统中,需要遵守操作系统的规范。进程,运行中的代码,存于内存,运行于cpu,若需要交互IO设备,则需要进行系统调用(OS提供)。

于是,高级语言编程本质是存于内存,执行于CPU,交互外界于系统调用。

而且,编译器实际上不仅仅是编译器,而且还是统一提供操作系统的抽象概念的暴露者。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • TITLE: 编程语言乱炖 码农最大的烦恼——编程语言太多。不是我不学习,这世界变化快! 有时候还是蛮怀念十几、二...
    码园老农阅读 5,451评论 2 35
  • 8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)《零基础入门学习汇编语言》系列视频的笔记,在此感谢他和像他一样...
    Gibbs基阅读 37,589评论 8 114
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,836评论 25 709
  • 转载:http://www.jianshu.com/p/e70bd6645d88前言 熟悉Objective-C语...
    guoshengboy阅读 1,065评论 0 1
  • 文/明月沧海 在北方的田野上,一棵不说话的树 语言的翅翼片片飘落 蹦跳着的琴键,心灵的魔幻 土壤里看不到海平面,太...
    作家明月沧海阅读 1,070评论 14 33