程序设计语言分类
中等6程序设计语言分类:计算机的“方言”与“普通话”
你有没有想过,计算机是怎么理解你让它做的事情的?其实,人和计算机沟通,就像你跟外国朋友聊天一样,需要说对方能听懂的语言。计算机有自己的“母语”,也有更简单的“普通话”。程序设计语言就是人类和计算机沟通的工具,它主要分为三大类:机器语言、汇编语言和高级语言。Python 就属于最易用的高级语言,我们一起来看看它们之间的区别吧!
一、机器语言(第一代)——计算机的“母语”
机器语言是计算机天生就懂的语言,全部由数字 0 和 1 组成。就像我们平时写数字“101”一样,计算机能直接看懂这些二进制串,并执行相应的操作。
生活类比:想象你有一个只会点头(表示1)和摇头(表示0)的外星朋友。你想告诉它“向我走过来”,你得用一连串的点头和摇头来编码这个指令。这就是机器语言——对计算机来说很自然,但对人类来说就像天书。
例子:让计算机计算 1+2 并显示结果,在某个简单CPU上的机器语言可能是:
10110000 00000001 ; 把数字1放入累加器(处理器里的临时存储区)
00101100 00000010 ; 把累加器里的数加上2
11110100 ; 把结果输出到屏幕
你看,完全看不懂吧?而且不同型号的CPU,这些二进制串可能还不一样,写起来超级麻烦。
常见错误:新手可能会以为“机器语言”就是平时看到的二进制文件(比如 .exe 文件),其实机器语言是这些文件里真正的内容,但普通人是看不到原始二进制串的。
二、汇编语言(第二代)——给二进制起个“小名”
汇编语言用简短的英文单词(叫“助记符”)来代替那些二进制串。比如 MOV 表示“移动数据”,ADD 表示“加法”。这样稍微好理解一点,但它仍然跟具体的CPU硬件绑定,不同CPU的汇编语言也不同。
生活类比:还是那个外星朋友,你给它做了一个“动作卡牌”:卡片上画一个箭头(表示“过来”),另一个卡片画一个加号(表示“加”)。现在你不用一直点头摇头了,而是举卡片给它看。但你还是得记住每张卡片对应哪个动作,而且不同外星人的卡片可能不一样。
例子:同样的 1+2 任务,用汇编语言写:
MOV AL, 1 ; 把1放到AL寄存器(一个临时小仓库)
ADD AL, 2 ; 把AL里的数加上2
OUT 0 ; 把结果输出到屏幕
虽然比二进制好一点点,但还是很像密码。而且你写一行 MOV AL, 1,其实它翻译成机器语言就是一串 10110000 00000001。
常见错误:有些同学以为学了汇编就能直接控制硬件,其实汇编只是比机器语言好写一点,但写大程序依然非常繁琐,容易出错(比如忘记保存寄存器里的数据)。
三、高级语言(第三代及以后)——像说话一样编程
高级语言用接近人类自然语言的单词和语法,比如 print(输出)、if(如果)、for(循环)。Python、C、Java 都属于高级语言。它们隐藏了底层细节,让你能专注于“要做什么”,而不是“怎么在硬件上做”。
生活类比:你对那个外星朋友说:“请帮我算一下1加2,然后把结果显示出来。”它一下就明白了——因为你们有了一本通用的“翻译词典”(编译器或解释器),把你的话翻译成它能懂的机器语言。
例子:用 Python 写 1+2 求和:
print(1 + 2) # 输出 3
一行代码,清晰明了!高级语言把底层的二进制、寄存器、内存地址全都隐藏了,你只需要关心逻辑。
两种高级语言的执行方式:
- 编译型语言(如 C、C++):像提前把整本书翻译成中文再读。代码写好之后,先通过编译器一次性翻译成机器语言(生成可执行文件),之后运行速度很快。
- 解释型语言(如 Python、JavaScript):像同声传译,边运行边翻译。每次运行程序时,解释器一句一句地把代码转成机器语言执行。这样开发方便,但速度稍慢。
Python 是解释型语言,所以你可以直接运行 python mycode.py,不需要单独生成可执行文件。
四、完整示例:三种语言“说同一句话”
下面这段 Python 程序,先用自己的方式计算加法,然后模拟展示如果用汇编会怎么写。运行一下,看看输出结果吧!
# 用 Python 计算 1+2 并输出
a = 1 # 把 1 赋值给变量 a
b = 2 # 把 2 赋值给变量 b
result = a + b # 计算 a+b,结果存入 result
print("用 Python 算出:", result) # 输出结果
# 假装用汇编的思路(只是比喻,不是真正的汇编代码)
print("\n如果用汇编语言,大概要写好几行:")
print(" MOV AL, 1")
print(" ADD AL, 2")
print(" OUT 0")
print("而 Python 只需要一行 print(1+2) 就搞定了!")
# 练习:试着把 a 和 b 改成其他数字,比如 a = 10, b = 20,看看输出
常见错误:有同学以为“解释型语言不需要翻译成机器语言”,这是不对的。最终计算机执行的依然是机器语言,只是翻译的时机不同:解释型是在运行时逐句翻译,编译型是在运行前一次性翻译。
五、总结与后续学习
学到这里,你应该明白了:
- 机器语言是计算机的“母语”,人类很难直接使用。
- 汇编语言是机器语言的“短单词版”,仍然复杂且依赖硬件。
- 高级语言(如 Python)最接近自然语言,写起来最方便,也是你即将深入学习的内容。
如果你想进一步了解计算机是如何执行这些语言的,可以查看 计算机工作原理 相关知识点;如果你对 Python 的基本语法还不太熟,建议先学习 变量与数据类型。
现在,你已经理解了为什么 Python 被称为“高级语言”——它让你像说话一样指挥计算机干活,而不用去折腾那些让人头晕的二进制和寄存器。加油,你离真正的程序员又近了一步!
例题精讲
以下哪种语言是计算机可以直接识别和执行的?
Python语言属于编译型语言。
下面是一段Python代码,Python属于___语言。
print("Hello, world!")以下关于高级语言和低级语言的说法,正确的是?
汇编语言是低级语言,但比机器语言更容易理解和记忆。