小白向:跨入C语言的门槛

1 说在故事前面

这是我从我自己公众号上面搬过来的

我一直认为IT的教程不应该是照着PPT读,但遗憾的是我见过的慕课老师很多都是一手PPT讲编程。为了让零基础的同学能够快速跨进这个领域,我就写下了这样一篇文章。鉴于本人知识水平有限 ,不可避免地会犯错,还望各位评论区指正。

小白向:跨入C语言的门槛

2 编程的故事开始了

几个假设:

  • 我们假定中国各个省份的方言不同

  • 接着假定中国以外的国家都说英语

  • 继续假定肥圈老师只听得懂文言文

电脑的世界

大家都知道电脑听不懂人类语言,铁皮机器只能看懂0和1组成的二进制代码。简单举个例子:

如果你想让电脑求1+1=?

那么你需要告诉它:0101110 1010 1011

在电脑的世界里只有0和1,就像肥圈老师只能听懂文言文一样。

哈萨克斯坦人和肥圈老师

简单想一下,如果哪一天你想把肥圈老师当成工具人为你计算矩阵的秩,你会怎么做?

很简单对不对:只要说文言文命令肥圈老师:来来来,给????算一个矩阵的秩!

那问题来了!如果我的老大不是你们,是一个哈萨克斯坦人。这哥们也不会说文言文,让它学,也不是学不会,只是太难学了!这不是存心为难人嘛????

那我们想想该怎么解决这个问题呢?

找翻译!!!!!

没错,咱们只需要找一个翻译就行了!????????

这个翻译其实也是挺不容易的:English——>大白话——>文言文

这难度其实是有点大的,很难找到这样的人才!

古人常说:

退一步海阔天空   —— 古人

从古人的话咱们勉强得到了一个观点:各退一步

现在的情况是三个人交互:哈萨克斯坦人、翻译、我

三个人里面,翻译工作太难了,所以需要我或者哈萨克斯坦人退一步,帮帮忙。但是作为工具人的我比较蠢,所以我是不可能帮上忙了。这样一来,分担工作的重任自然落到了哈萨克斯坦人的肩上。

好的我们想一想:从英语到文言文的难度很大,如果是从白话文到文言文自然就轻松很多了!

还记得我们的假设吗?每一个省份都有一个方言这些方言学习成本相当,这样的话,我们可以让哈萨克斯坦人学习任意一种方言,不管他学的是东北话还是安徽话,反正这些方言都差不多,把方言翻译成文言文的难度相当。

哈萨克斯坦人只要学习任意一个中国省份的方言,翻译负责把方言转成文言文告诉肥圈老师。我不禁又要夸一夸自己????????

这样的话问题就完美解决,哈萨克斯坦人说东北话,东北大妹子就负责翻译东北话成文言文,我就负责听大妹子的文言文结果为老板工作。

我自认为这个解决问题的过程逻辑还是比较清晰的,如果还是没看明白!那我再给你画个图:

小白向:跨入C语言的门槛

:哈萨克斯坦人 :我 两个小人:两种翻译

  • 最下面那条线,小人被绿了,这说明他这类翻译超级难找,这条路行不通

  • 中间那条线,直接就被叉叉了,哈萨克斯坦人对我说hello,我对他说所为何事,这条路也行不通

  • 再看最上面那条路,路被绿了,这说明这条路可行

这个问题解决了,我们回到电脑的世界。

类比电脑的世界

回忆一下这两个点:

  • 电脑只能听懂01组合

  • 人学习01组合太他????难了

好了,如果你是跟着我的思路把哈萨克斯坦人的问题一步步思考解决了,那么接下来我要说的东西你一定很容易理解。

  • 1、我们人类需要和电脑交流或者说:命令电脑为我们做事。这个过程就是哈萨克斯坦人命令我做事的过程。

  • 2、我们说的自然语言电脑听不懂,需要用编程语言编写代码。这个过程就是哈萨克斯坦人学习方言的过程。

  • 3、编写的代码需要编译成01组合给电脑。这个过程就是翻译把哈萨克斯坦人说的方言翻译成文言文说给我听的过程。

为了方面你理解,我做了个婊表:

自然 电脑
哈萨克斯坦人 人类
英语 自然语言
各种方言 各种编程语言
翻译 编译器
文言文 01组合
肥圈老师 电脑

不知道你现在有没有理解C语言是个什么东西

我觉得如果好好看了我讲的例子并且跟我一起思考应该就能有那种突然通透的感觉了????