第一课 编程语言与计算机介绍

70 阅读7分钟

一、什么是编程语言

编程语言,就是和计算机沟通的语言,计算机作为一台机器,有他自己独特的运行方式,它并不能理解人类的语言。而我们想要利用计算机做一些事情,就需要用计算机可以理解的语言去和他沟通。假如你现在想要与一个英国人沟通,那么双方中必须要有一方会对方的语言。而计算机并没有学习能力,所以只能是你去学习计算机的语言,然后与计算机进行沟通。那为什么市面上有那么多的编程语言呢?这就需要从计算机的结构开始讲起了。

二、计算机简介

有很多人每天在使用电脑,对于大多数人来说,可以熟练的用电脑进行打字、听音乐、看视频、使用浏览器上网以及打游戏,这些操作就已经覆盖了大多人90%的需求。如果你可以彻底的删除某些流氓软件以及安装电脑驱动,那么你就是一名响当当的“电脑高手了”。但是一名从事计算机专业的程序员来说,这些远远不够,接下来我将带你揭开计算机的神秘面纱,探寻计算机背后的秘密。

我们现在日常使用的计算机,是采用了冯诺依曼结构的计算机。那么冯诺依曼结构有什么特点呢?它的主要特征是指令与数据都以二进制形式储存在储存器里;指令根据其储存的顺序执行。下面我将用一个小故事,通俗易懂的解释什么是二进制,以及什么是冯诺伊曼计算机。

小故事:小诺的“奇妙指令游乐场”

从前,有一个叫小诺的聪明工程师,他戴着一顶画满“0”和“1”的帽子,建了一座世界上最特别的游乐场——“奇妙指令游乐场”。这个游乐场有个神奇的秘密:它只听得懂一种“魔法语言”,那就是 “开开关关语”

1. 什么是“开开关关语”?

这种语言只有两个词:

  • “开!”(1) ——让机器动起来!
  • “关!”(0) ——让机器停下来!

游乐场里所有的机器、灯光、音乐盒,都只认识这两个词!

为什么?

  • 想象游乐场的每个小灯泡:
  • 喊“开!”(1)→ 亮!
  • 喊“关!”(0)→ 灭!
  • 想象旋转木马的马:
  • “开!”(1)→ 抬腿跑!
  • “关!”(0)→ 停下来!

简单极了!就像你玩声控灯,喊“开”它就亮,喊“关”它就灭。游乐场里成千上万个这样的小开关,都只听“开”和“关”!

2. 怎么用“开关语”数数?

小诺在游乐场门口挂了一排神奇计数灯泡,专门数小朋友。但注意啦!灯泡的顺序要从右往左看(就像写数字时个位在最右边):

  • 最右边灯泡:管 1(亮=1,灭=0)
  • 中间灯泡:管 2(亮=2,灭=0)
  • 最左边灯泡:管 4(亮=4,灭=0)

(如果需要更多灯泡,下一个会是管8,再下一个管16,以此类推!)

小诺开始数小朋友啦!

第一个小朋友来:

  • 小诺点亮最右边灯泡(1): 亮!
  • “开关语”记录:001(读作“零零一”)
  • 实际数字:1(因为只有最右边的1亮着)

第二个小朋友来:

  • 小诺想:“最右边灯泡已经是‘1’了,再加1怎么办?”
  • 他聪明地操作:
  • 关掉最右边灯泡(0)→ 灭!
  • 点亮中间灯泡(2)→ 亮!
  • “开关语”记录:010(读作“零一零”)
  • 实际数字:2(因为中间的2亮着)

第三个小朋友来:

  • 小诺想:“现在中间灯泡是2,再加1,可以点亮最右边的1!”
  • 他操作:
  • 点亮最右边灯泡(1)→ 亮!
  • 中间灯泡保持亮着(2)→ 亮!
  • “开关语”记录:011(读作“零一一”)
  • 实际数字:3(因为中间的2 + 右边的1 = 3)

第四个小朋友来:

  • 小诺想:“现在灯泡是011(3),再加1怎么办?”
  • 他操作:
  • 关掉最右边灯泡(0)→ 灭!
  • 关掉中间灯泡(0)→ 灭!
  • 点亮最左边灯泡(4)→ 亮!
  • “开关语”记录:100(读作“一零零”)
  • 实际数字:4(因为最左边的4亮着)

3. 为什么不用“亮几个灯泡=数字几”?

这时候,有个聪明的小朋友举手问:  “小诺叔叔,为什么不用更简单的方法呢?比如让1个灯泡亮表示1,2个灯泡亮表示2,3个灯泡亮表示3……这样不是更容易数数吗?”

小诺笑着解释道: “啊,这真是个聪明的想法!但我们的游乐场有一个秘密规则每个灯泡必须代表固定的‘魔法数字’!你看——”

问题:灯泡不够用!

  • 如果用“亮几个灯泡=数字几”:
  • 1 个灯泡亮 = 1✅
  • 2个灯泡亮 = 2 ✅
  • 3个灯泡亮 = 3 ✅

但数到4时……游乐场只有3个灯泡!不够用啦!

小诺的方法更强大!

  • 用小诺的方法,3个灯泡能组合出8种数字(000=0,001=1,…,111=7)!
  • 如果增加第4个灯泡(代表8),能数到15!第5个(代表16)能数到31……越加灯泡,能数的数字越大!

“所以,小诺喜欢这个规则,因为它能用最少的灯泡表示最多的数字!”

4. 游乐场怎么"听话"工作?——冯诺依曼魔法

小诺的游乐场最神奇的地方是:它能把 "怎么玩"的指令"玩什么"的东西,都变成 "开开关关语" ,写在一张巨大的 "魔法卡片墙" (存储器)上!

第一步:存旋转木马的指令

小诺想把"旋转木马转3圈"存进去。他需要两张卡片:

  1. 木马卡片(数据卡)
  2. 写着"旋转木马"的名字 → 翻译成1101
  3. 贴在卡片墙的第5格
  4. (就像给旋转木马发了一张身份证)
  5. 转圈卡片(指令卡)
  6. 写着"转圈" → 翻译成101(转圈)
  7. 贴在第6格

(就像给木马写的使用说明书)

第二步:CPU小精灵的工作

游乐场的小精灵小U(CPU) 是这样工作的:

  1. 看第6格的转圈卡片

  2. 先看到101,知道要"转圈"

  3. 再看到"去找第5格的木马"

  4. 跑到第5格找木马

  5. 看到1101,认出是旋转木马

  6. 执行命令

  7. 对着旋转木马喊:

  8. 先喊101选中它

  9. 再喊1101转圈

木马就转了一圈!

为什么这样设计?

小诺指着卡片墙说: "看!指令和数据分开存,但都用同样的'开开关关语'写在同一个地方:

  • 想改动作?只改指令卡!
  • 想改项目?只改数据卡! 这样既灵活又不会乱!"

“所以,计算机就是这样,用‘开开关关语’(二进制)存储所有东西,然后让小U(CPU)飞快地执行!”

5. 为什么这个游乐场这么厉害?

因为小诺的“魔法卡片墙”设计(冯诺依曼结构)让游乐场变得超级聪明和灵活!

  • 小U只要按顺序执行卡片(或卡片上写的“跳到哪里去看”)。
  • 想换新游戏?  不用拆游乐场!只要在“魔法卡片墙”上贴新的“开开关关语”指令,小U就能玩新游戏!
  • 所有秘密——游戏规则、小朋友名字、音乐、灯光——都变成了“开开关关语”,等着小U去读、去执行!

“所以,你天天玩的电脑,其实就是小诺的‘奇妙指令游乐场’!”

  • “开开关关语”  = 二进制(0和1)
  • “魔法卡片墙”  = 内存(存储器)
  • “小精灵小U”  = CPU(中央处理器)
  • 冯诺依曼结构 = 小诺的聪明设计(指令和数据都用同一种语言存起来,按顺序执行)

“现在你明白了吗?计算机的世界,就是‘开开关关’的魔法世界!”  ✨