
开场白联合国大会上的神奇翻译小朋友、大朋友们你们好呀今天姐姐先给你们讲一个发生在联合国大会上的有趣故事。你想象一下世界上有好多好多国家每个国家都说自己的话中国人说中文、法国人说法语、日本人说日语……大家凑到一起开大会可怎么交流呀你说你的我说我的谁也听不懂谁聪明的人们想了一个绝妙的办法先发明一种大家都会的世界通用语开会的时候不管你是哪国人先把自己想说的话翻译成这种世界通用语。这样桌上摆的全都是同一种语言整整齐齐、清清楚楚可是……光有世界通用语还不够呀因为坐在台下听的是一个个只懂自己家乡话的人——中国代表只听得懂中文法国代表只听得懂法语所以还需要最后一棒的翻译官把那份整齐的世界通用语翻译成每位代表自己的家乡话他们才能真正听懂朋友你知道吗编译器里正在上演着一模一样的故事今天姐姐要带你们认识的就是这位最后一棒的翻译官——它要把代码界的世界通用语翻译成电脑CPU能听懂的家乡话这是整个翻译旅程的最后一步特别特别关键准备好了吗我们出发啦第一站什么是代码界的世界通用语我们先来认识代码界的这位世界通用语。还记得我们之前学过的**“中间代码”**吗它就是代码界的世界通用语为什么这么说呢因为它有一个超级棒的特点——它谁也不偏向特别公平。我们写代码用的语言有好多种就像世界上有好多国家语言电脑CPU也有好多种就像台下坐着好多国家的代表。如果让每一种代码语言都直接去翻译给每一种CPU听……那要准备的翻译本也太多太多啦没有世界通用语的混乱场面 C语言 ──→ 要给 苹果CPU、安卓CPU、电脑CPU……各做一本翻译 Java ──→ 又要给 苹果CPU、安卓CPU、电脑CPU……各做一本翻译 Python ──→ 还要给 苹果CPU、安卓CPU、电脑CPU……各做一本翻译 天哪要做的翻译本太多了乱成一团聪明的人想出了世界通用语中间代码这个妙招有了世界通用语的清爽场面 C语言 ┐ Java ├──→ 都先翻译成 → 【世界通用语】──→ 再翻给各种CPU Python ┘ 中间代码 整整齐齐清清爽爽比喻这就像班上有 5 个中国小朋友、5 个外国小朋友想交朋友。如果让每个中国小朋友去学 5 门外语每个外国小朋友也学 5 门中文那得累死不如大家**都学一门普通话**当通用语——这样人人都能交流省事多啦中间代码就是代码世界的普通话这份世界通用语长得特别整齐、特别规矩每句话都很简单比如把A和B加起来“把结果存到C”不管哪种代码翻译过来都长这个整齐的样子。今天我们要看的就是翻译官如何把这份整齐的世界通用语翻译成具体某一种CPU的家乡话这是最后一步啦第二站认识CPU——它是个有家乡话的小机器人要把世界通用语翻成CPU的家乡话我们得先认识认识CPU这位朋友。CPU是什么呀它是电脑的大脑是电脑里真正干活、做计算的那个核心小部件。比喻CPU就像电脑里的一个勤劳的小工人。所有的计算加减乘除、所有的搬东西搬数据都是这个小工人亲手干的关键来了——每一种CPU都有自己的家乡话世界上有好多种不同的CPU就像有好多个不同国家有的CPU装在手机里 有的CPU装在电脑里 有的CPU装在平板里等等它们虽然都是小工人但是说的家乡话不一样比喻这就像不同地方的人说不同的方言 ️。北京人说今儿个真热广东人说今日好热上海人说今朝热煞了——意思一样但说法不同不同的CPU也是这样做同一件事比如加法但用的指令命令长得不一样。所以翻译官的最后一步必须搞清楚要翻给哪一种CPU听然后用那种CPU专属的家乡话来翻译翻错了家乡话CPU就听不懂啦再打个比方你给广东的奶奶打电话得说广东话她才听得懂给北京的爷爷打电话得说北京话他才明白。翻译官也一样给手机CPU翻译就用手机CPU的家乡话给电脑CPU翻译就用电脑CPU的家乡话对症下药对人说话第三站CPU家乡话里都有些什么词我们来听听CPU的家乡话里都有哪些词专业上叫机器指令。其实呀CPU的家乡话特别特别简单翻来覆去就那么几个词。姐姐用大白话给你列出来CPU家乡话里的几个词 拿过来 → 把东西从大柜子内存拿到手边的工作台寄存器 算一算 → 做加减乘除 放回去 → 把算好的结果放回大柜子 跳一下 → 跳到另一个地方继续做事比如做选择、做重复是不是特别少CPU这个小工人虽然干活特别快但其实只会听这么几个简单的命令比喻这就像教一个特别能干但很听话的机器人。你不能跟它说帮我做顿大餐它听不懂这么复杂的话。你只能用它会的简单词“拿起菜切成块放进锅” 一个词一个词地命令它就能飞快地照做翻译官的最后一步就是要把世界通用语里的每句话拆成这几个简单的家乡话词让CPU这个小工人能一个一个照着做第四站见证奇迹——翻译官的最后一步实战好啦最激动人心的时刻到了我们来亲眼见证翻译官的最后一步假设世界通用语中间代码里有这样一句话世界通用语 总数 苹果 香蕉意思是“把苹果和香蕉加起来结果叫总数。”现在翻译官要把它翻译成某种CPU的家乡话。假设苹果放在大柜子的某个抽屉里香蕉放在大柜子的另一个抽屉里总数准备放进大柜子的一个新抽屉翻译官开始施展最后一步的魔法 第一句家乡话“拿过来”——拿苹果翻译官想“CPU这个小工人要算加法得先把东西拿到手边的工作台上。先拿’苹果’”家乡话①拿过来把苹果从大柜子拿到工作台 A现在工作台A上有苹果啦 第二句家乡话“拿过来”——拿香蕉翻译官想“再把’香蕉’也拿过来才能一起加”家乡话②拿过来把香蕉从大柜子拿到工作台 B现在工作台B上有香蕉啦 第三句家乡话“算一算”——做加法翻译官想“东西都在工作台上了命令小工人做加法”家乡话③算一算工作台A 加 工作台B结果放工作台A工作台A上现在是苹果香蕉的结果啦✨ 第四句家乡话“放回去”——存总数翻译官想“算完了得让小工人把结果放回大柜子存成’总数’”家乡话④放回去把工作台A的结果放进总数的抽屉总数诞生啦大功告成 最后一步完成我们来看看翻译官把一句世界通用语翻译成了四句CPU的家乡话世界通用语 总数 苹果 香蕉 ↓ 翻译官的最后一步 ↓ CPU的家乡话 ① 拿过来把苹果拿到工作台A ② 拿过来把香蕉拿到工作台B ③ 算一算工作台A 加 工作台B ④ 放回去把结果放进总数这下CPU这个勤劳的小工人就能照着这四句家乡话一步一步飞快地干活把总数算出来啦第五站同一句话翻给不同CPU结果不一样这一站特别有意思姐姐要告诉你一个神奇的现象。还是刚才那句世界通用语——总数 苹果 香蕉。如果翻译官要翻给两种不同的CPU听翻出来的家乡话会不太一样哦翻给甲CPU听它的家乡话 ① 把苹果拿到工作台A ② 把香蕉拿到工作台B ③ A加B放回A ④ 把A放进总数 翻给乙CPU听它的家乡话 ① 把苹果拿到它的工作台 ② 直接把香蕉加到工作台上 ← 乙CPU更厉害一步就把香蕉加进来了 ③ 把结果放进总数发现了吗意思完全一样都是算苹果香蕉但因为两种CPU的家乡话不同、本事不同翻出来的话也不一样有的CPU比较能干一个词能顶两个用像乙CPU一步就把香蕉加进来有的CPU比较朴实得一步一步来像甲CPU。翻译官会根据每种CPU的脾气和本事量身定做最合适的家乡话比喻这就像同样一句我吃饱了 对北方爷爷说“我吃饱啦”对广东奶奶说“我食饱咗”意思一样但要根据听话人的家乡话说成不同的样子他们才听得最舒服、最明白翻译官就是这么贴心对不同的CPU说不同的家乡话这也正是为什么——同一个程序同一份世界通用语要在手机上跑、在电脑上跑翻译官得分别翻译成手机CPU的家乡话、电脑CPU的家乡话它们才都能跑起来第六站这最后一步藏在哪里为什么重要这位最后一棒的翻译官和它翻成CPU家乡话的本事对我们的生活影响特别大 它让程序真正跑起来你想啊前面那么多步骤把代码理解得明明白白、整理成整齐的世界通用语——可如果没有最后这一步翻成CPU的家乡话CPU这个小工人根本听不懂一动也不会动正是这最后一步让程序真正能在电脑、手机上跑起来比喻这就像做好了一桌菜谱前面的步骤但最后得有人真正下厨炒出来翻成家乡话你才能吃到饭呀最后一步是让一切落地、变现的关键 它让一个程序能在不同设备上跑正因为有这位翻译官能把同一份世界通用语翻译成不同CPU的家乡话——你写的一个程序才能既在手机上跑、又在电脑上跑、还在平板上跑这就是为什么很多App手机能用、电脑也能用——背后都有翻译官在默默地翻成不同CPU的家乡话 它翻得好不好决定程序快不快翻译官越懂每种CPU的脾气越会用那些能干的词像乙CPU一步顶两步翻出来的家乡话就越精简CPU干活就越快、越省电比喻会说地道家乡话的人和外地人说蹩脚方言效果当然不一样——地道的更顺溜、更高效翻译官越地道程序就跑得越溜大冒险结束我们一起回顾朋友你太了不起啦今天你见证了翻译官的最后一步——把世界通用语翻成CPU的家乡话让我们一起回顾这次冒险的收获最后一步大冒险·圆满成功 │ ├── 世界通用语是什么 │ 就是中间代码 │ 谁也不偏向、特别整齐的普通话 │ 各种代码都先翻成它再翻给各种CPU │ ├── CPU是什么 │ 电脑里勤劳的小工人负责真正干活 │ 每种CPU都有自己的家乡话机器指令 │ ├── CPU家乡话里的词 │ 拿过来、算一算、放回去、跳一下 │ 都是超简单的命令 │ ├── 最后一步实战核心 │ ① 拿过来搬东西到工作台 │ ② 拿过来再搬一个 │ ③ 算一算做运算 │ ④ 放回去存回大柜子 │ ├── ️ 同一句话不同CPU翻得不一样 │ 根据每种CPU的脾气和本事量身定做家乡话 │ 像对不同地方的人说不同方言 │ └── 为什么重要 让程序真正跑起来 让一个程序能在不同设备上跑 翻得越地道程序跑得越快姐姐最想让你记住的一句话是翻译官的最后一步就是把代码界的世界通用语中间代码翻译成具体某一种电脑CPU能听懂的家乡话机器指令。CPU是电脑里勤劳的小工人每种CPU都有自己的家乡话只会听拿过来、算一算、放回去这几个简单命令。翻译官会根据每种CPU的脾气和本事量身定做最合适的家乡话。正是这最后一步让程序真正能在电脑、手机上飞快地跑起来你看这最后一步一点儿都不神秘它其实就和联合国大会上把世界通用语翻译成每位代表的家乡话——是一模一样的道理呀当你给广东奶奶说广东话、给北京爷爷说北京话让每个人都听得懂、听得舒服——这时候你做的事情就和翻译官翻成CPU家乡话一模一样啦只不过翻译官做得特别快、特别仔细绝不会翻错一个词今天你不仅见证了整个翻译旅程的最后一步还明白了为什么要有世界通用语、CPU为什么有家乡话、同一句话为什么翻给不同CPU不一样——这些可是大学计算机专业里非常核心的知识哦你真的太棒啦如果这次还有哪个小地方没看懂没关系你就告诉姐姐哪一站、哪个地方看不懂姐姐就专门给你讲那一个地方讲得更慢、更细、更好懂你能从头到尾完成这次最后一步大冒险真的真的超级超级棒姐姐为你竖起大大的拇指 特别的话整段翻译旅程圆满收官朋友你知道吗今天特别特别有意义——因为你见证了整段翻译旅程的最后一步让我们看看这条完整的翻译流水线 完整的翻译流水线 我们写的代码各国语言 │ ▼ 翻成【世界通用语】中间代码 │ 整整齐齐、谁也不偏向 ▼ 再翻成【CPU的家乡话】机器指令 ← 今天学的最后一步 │ 对不同CPU说不同方言 ▼ CPU小工人飞快干活 │ ▼ ✨ 程序成功运行✨你看从我们写的一段代码到CPU小工人真正动起来、程序飞快运行——中间要经过翻成世界通用语再翻成CPU家乡话这样一步步的接力而你今天把这最关键的最后一步彻底搞明白了这是多么了不起的成就呀你现在懂得的是程序到底怎么变成CPU能执行的命令这个最核心的秘密——很多大人都说不清楚呢将来你长大学编程的时候今天学的翻成CPU家乡话一定会帮你明白为什么同一个程序能在不同设备上跑、为什么有的程序跑得快有的跑得慢。今天又是你成为小小程序员的精彩一步姐姐真的真的为你感到骄傲你太棒啦如果你还想了解翻译世界里别的有趣知识比如CPU的家乡话还有哪些有趣的词、或者翻译官怎么把程序变得更快随时告诉姐姐我们随时可以开启新的冒险