登陆注册
1789300000082

第82章 程式入门(结):薪传

“程程,帮忙看一个问题呗?”

一名绑着单马尾,脸蛋圆圆的妹子蹭到了程原的身旁,并小声向他请教道:“我这个程序运行不起来!”

“哎,好吧。”程原耸了耸肩,并暂时放下了手中的笔记本。

随后,他伸手轻轻一推桌边,装有轮子的办公椅便将他送到了圆脸妹子的工位旁。接下来他抬头看了一眼屏幕……

“我说团团啊。”程原痛苦地扶了扶额头:“程序的主入口是main函数,你写的这个mian函数是什么鬼啊。”

“哎呀,不好意思。”被称为团团的妹子下意识地吐了吐舌头,随后她用两根手指飞快地敲击了几下键盘,这下程序终于成功地运行起来了。

“耶!我成功了,现在我也会写程序啦!”望着弹出窗口中显示的一行文字,团团高兴地握了握拳头。

一旁的程原下意识地张了张口,但是他最终并没有打击妹子的积极性。虽然她写的只是一个最简单的菜鸟入门程序,但谁还不是从菜鸟一步一步成长起来的呢?

随后,程原再次一推桌子,返回了自己的工位。不过还没等他重新拿起笔记本,另一名同事就已经带着问题屁颠屁颠地跑过来了。

“程远大佬,帮忙看一个问题呗……”

好吧,程原只好再次动身。

十秒钟后,程原一脸无语地指着面前的几行代码道:“大熊啊,这个index我还可以理解,但是后边的indey和indez是什么东西啊?”

被称为大熊的汉子憨厚地张了张嘴:“x,y,z,没问题啊?”

程原:“……”

他感觉自己的肝在隐隐作痛。随后,程原默默地调取了一点宝贵的信息点,为自己施展了一个小型的治疗术。

好说歹说劝服大熊修改了变量名称的拼写,程原还没来得及松口气,下一个问题就找上了门。

“这行a[i++]+=++i+i+i++是谁写的?”一看到面前的一串鬼画符,程原就气不打一处来:“赶快换回正常人类的写法,这种东西以后没人能看得懂。”

“这可是我想了好久才想出来的!”提问的强子不服气地回道:“看不懂的人说明他水平不够。”

面对强词夺理的强子,程原本想批评他两句,但想了想后还是忍住了:“在工作中,绝大部分时候都不要这样写程序。代码是用来实现功能的,不是用来让你炫耀技巧的。”

“那我加上注释说明还不行么?”强子仍不死心,毕竟这行代码中凝聚了他不少的“心血”。

“不好意思还是不行,这样写会出问题的。”程原无奈地扯过强子的键盘,并在上面随手敲了两下,打开了一个全是英文的网站:“你自己看看吧,jdk9前几个月报出的问题,你这个写法正好会触发这个编译器的Bug。”

闻言,强子连忙打开了他宝贵的电子词典,开始一个单词一个单词地读起了这个网页中的内容……半晌后他发出了一声惊叫:“我的天!居然编译器也会出问题……大佬你是怎么发现这个的啊?”

程原无奈地耸了耸肩。这个问题当时在网络上还是有一点讨论热度的,所以他自制的爬虫小程序自然不会放过将这条消息推送到他面前的机会。

“编译器又是什么东西啊?”团团好奇地凑了过来。

程远微微地叹了口气。他本来想解释说,编译器是一种可以将程序转换为程序的程序,但是很明显地,这个说法除了听上去很高端以外,它并不能对菜鸟妹子产生一点点的帮助。

所以,程原想了想后说道:“编译器……它就像是程序界中的‘翻译’。”

“翻译?”团团好奇地问道:“它可以将什么翻译成什么呢?”

“什么都可以。”程原一边考虑着适合的措辞一边回答道:“不过一般来说的话,我们会使用它将平时编写的代码翻译成机器能够看懂的二进制指令……”

程远缓缓地讲着,他的思绪渐渐飘远。

——

最开始,人们在计算时,只是使用手指,绳结和石头。后来,人们发明了简单的算盘和复杂的齿轮,帮助数学家们进行各种各样的运算。

然而,齿轮的转动速度是缓慢的,人们的加工精度是有限的。当需要处理复杂的运算时,即使是最好的工匠也没办法加工出满足要求的齿轮,地球位面史上,曾经的一位“机械计算机”发明者就因此抱憾而终。

然而后来,人们发现,如果使用一些特定的工艺,对一些被称为“半导体”的材料进行加工的话,就可以在其中产生一种被称为“PN结”的结构。

当然,不了解这个“PN结”的原理并不要紧,我们只需要知道,曾经的人们使用这个PN结,发明了二极管和三极管。

当然,不了解二极管和三极管的原理也不要紧,我们只需要知道,曾经的人们使用二极管和三极管,组合出了与或非等逻辑门电路。

当然,不了解逻辑门的原理也不要紧,我们只需要知道,工程师们使用一个个的逻辑门,制作出了各种各样的芯片。这些芯片中,有的能够进行加减运算,有的能够进行乘除,有的能够对输入的信号进行判断……

虽然,这些芯片只能使用一串串的高低电压,或者说二进制的“0”和“1”作为输入与输出,但是这就足够了。

终于有一天,工程师们发明了这样的一种芯片:

它可以接收最少两个二进制数字,一个“操作指令类型”的信号,并输出一个数字。

如果这个“操作指令”是加法,那么这个芯片便对接收的两个数字进行加法运算,并输出计算结果。

如果这个“操作指令”是乘法,那么这个芯片便对接收的两个数字进行乘法运算,并输出计算结果。

如果这个“操作指令”是比较大小,那么这个芯片便返回两个数字的比较结果……

工程师们为这个芯片设计了几十上百种可以支持的操作指令。除此之外,工程师们还在这个芯片的旁边安装了各种各样的,由电容或者磁铁粉制作而成的“存储器”,这些存储器可以为芯片提供输入信号,或者存储芯片输出的数值。

随后,工程师们开始在纸带上打孔。纸带上的每一段,都对应着芯片需要执行的一行指令。

最终,整个系统被组合。一条条纸带从识别孔洞的机器中划过,一波波电脉冲忠实地将扫描到的指令存入存储器。随后,一个由信号构成的“箭头”便可以从第一条指令开始,逐条地向芯片传递它所指向的指令。有时,这个箭头会听从芯片的命令,向前跳跃一段距离或是向后退两步,或者在小范围内转上几圈……不过一般情况下,它都能够到达最终的目的地。而在那时,工程师们想要计算的复杂公式的运算结果,已经安安稳稳地躺在存储器中了。

这个多功能的芯片,便是人们常说的CPU,而那一摞摞能够铺满整个地面的纸条,便是早期的计算机程序。

——

“大概的情况就是这样吧。”程原一边指着屏幕中的一行行如同天书一般的符号一边介绍道:“但是,一般人很难看得懂CPU直接使用的机器指令。因此,人们发明了各种各样的高级语言,然后再用编译器将这些高级语言转换为汇编指令和机器指令,这样就方便得多啦。”

“原来如此。”团团似懂非懂:“那……编译器是用什么语言写的呢?”

“嗯,现在的大部分语言的编译器都是用‘C语言’写的。”程原想了想后,表情古怪地抛出了这样的一个回答。

“那C语言的编译器又是用什么语言写的呢?”一旁的大熊想了想后也提了一个问题。

“C语言的编译器是用C语言写的。”程原满意地笑了笑,果然有人跳坑了。

“啊?可是没有编译器就翻译不了C语言,没有C语言就写不了编译器……”旁听的几人陷入了混乱当中。

“恭喜你们成功领悟了递归。”程原得意地回道,这下他的心情终于平复了一些。

随后,他一脸满足地坐回了自己的位置上。不过还没等他得意多久,他便感觉到一道目光从隔壁投射而来。程原不自觉地缩了缩脖子,并开始了下意识的左顾右盼。

十秒钟后。

“好吧好吧,揭晓谜底。”在那道目光的注视下,程原最终还是缴械投降了:“最早的、最简单的编译器是用汇编写的,而复杂一点的编译器是用最简单的编译器生成的,复杂两点的编译器是用复杂一点的编译器生成的,以此类推。”

这下,旁听的几人终于摆出了一脸恍然大悟的表情。

而程原则趁机一脸无奈地望向了那道目光的主人:一名戴着眼镜的,瘦小的文静少女。

[于小鱼同学啊,我没做什么伤天害理的事啊。]程原用目光向少女示意道。

[谁叫你欺负团团姐的,哼。]少女不客气地白了他一眼。

[明明是你的团团姐先来欺负我的。]程原用目光叫屈道。

[不管,哼。]被称为于小鱼的少女再次递给了程原一个鄙夷的眼神,随后她又转过头去对着键盘敲敲打打了。

好吧,被发了坏人卡的程原只好一脸郁闷地坐回了自己的工位上,随后他再次默默地打开了手中的笔记本。

“刚才我整理到哪了……哦对,程远那家伙陪着妹子去了小树林,然后学了不少与‘程式’相关的知识回来。哎,真羡慕那个家伙还有人可以讨论问题,我就只能盼着身边的几只菜鸟早一点开窍……好吧,小鱼不算菜鸟,但是不知道为什么,她总是拿眼神戳我啊!”

“哎,真是的。”程原越想越沮丧:“所以说没事不要做什么程序员,只能当单身狗不说,就算天天为别人帮忙也会被鄙视!真是太过分了!”

同类推荐
  • 我的终极幻想

    我的终极幻想

    这是一个穿越到远古的庞大时空,激情、热血,一切充满未知。
  • 快穿之拯救反派100式

    快穿之拯救反派100式

    这个大佬反派小时候死了娘,差点被亲爹摔死,是个小可怜。这个伪装者反派因为omega体质,从小遭受各种人格和身体欺侮,是个小可怜。这个灭世反派没有感情,被剥夺了五感,活着就像一具尸体,依旧可怜。……童谣:为什么每个世界狂炫酷霸拽破天的反派大BOSS,在我面前全部都是小可怜!“反派小可怜,别怕,本公主宠你!”#恋爱小甜文#【不精分不切片,互宠无男主】
  • 星卡决斗者

    星卡决斗者

    来自远古未知文明的帮助,形成无数强大而又罕贵的卡片!手执他人从未听闻的卡片,施展超乎寻常的力量!掌握他人所不能集之力,来自远古的灵魂正在呼唤,以超越常人的卡片及力量,纵横于寰宇之间!设定上,采用了作者自己很喜欢的一些东西,应该会有比较有趣的效果。此为本人第二本作品,第一本书《鲜血复仇》百万字从未断更完本,人品过硬有保证,请放心收藏!
  • 快穿之阻止竹马黑化

    快穿之阻止竹马黑化

    青梅死亡,魂飞魄散;竹马黒化,毁灭世界。神界众神陨落,走投无路的诸神开启时空之门,送九阳神君养女回到过去,修复宋瓷的魂魄,和她一起去阻止顾辞君黒化。
  • 黑暗武者宗师

    黑暗武者宗师

    前世因王墨之故,天王星碎。整颗星球上的人类被迫在短短几天内疯狂移民到其余星球。是时他追悔莫及。离奇重生,他立下誓言今生定不会让这一切重演。“我一定不会让前世重现!所以我一定要亲手摧毁这整个星系!”王墨嘶哑着喉咙立下诡异的誓言,身后是全星系人类的疯狂支持与呐喊!
热门推荐
  • 但愿泪无痕

    但愿泪无痕

    【原创/已完结】【放心入坑】【内含微腐副cp】想见一眼,惊鸿一瞥,再也无法忘却。坚持了十年,甜蜜无果,她毅然选择离开。再次相遇,他不记得她,她有婚约在身。她接近他,他却心有所悦。她接受,她坦然。他记起了她,十年心悦终于有了结果,白衣翩翩,裙纱飞舞,却是血染白衣,生死两隔。“或许,天意如此,我们本就有缘无分。”
  • 今天开始做大能

    今天开始做大能

    某路过大能:他说想迎娶您的徒……大能卒!我很有气度和涵养,对了,他们刚刚说了什么?众人摇头。李修缘满意的点了点头!
  • 重生之世界因我而不同

    重生之世界因我而不同

    一个得到了记录宇宙中所有知识的宇宙之心的重生者改变世界的故事。新人新书,欢迎大家来交流意见
  • 从今到古:爷,你注定是我的

    从今到古:爷,你注定是我的

    现代女孩依群因一古玉而穿越到古代。既来之则安之,不好好的玩一场对不起这千载难逢的穿越。拯救客栈、智斗坏人、帮人追求幸福、逛青楼,这些都是必须做的。纳尼?自己竟然爱上了一个素未谋面的面具男?好吧,爱上就爱上了,可是自己却不知道他现在身处何地。于是女主毅然决定去寻找自己心中的面具男。就这样依群踏上了旅途。她会在旅途中收获什么呢?又会失去什么呢?--情节虚构,请勿模仿
  • 古虚择仙记

    古虚择仙记

    主人公季林九岁寻求仙路,仙路迷茫,执着的他苦寻三年,终于大见仙门,但不巧他虽有毅力却资质太渣,又遭人陷害落入峡谷,恰巧遇见五百年前的古虚圣龙,从此他的一生发生一百八十度大转变,他以龙修仙炼体、炼丹化神、升仙问道……但仙道险恶,他从懵懂无知到心机涛涛、从杀人怕血到伏尸百万、从最求到创造,为了爱他癫狂一生,为了情他轮回一世。有人说他是魔不是仙,而他却能择仙。欢迎加入古虚择仙记,群号码:222184470
  • 猴王御用奶爸

    猴王御用奶爸

    不要欺负有身孕的男人…尤其是怀了猴子的男人!
  • 感动青少年的中外名家选集

    感动青少年的中外名家选集

    文学作品是以语言为手段塑造形象来反映社会生活、表达作者思想感情的一种艺术,是人生的一面镜子。好的文学作品具有潜移默化的巨大作用,它能够开阔视野,增长知识,陶冶我们的情操。
  • 穿越之悍妻

    穿越之悍妻

    想她一届精英特工,不说杀人如麻,但是放眼整个A国,也是令人惊恐的存在,没想到,她居然会被一个椰子砸死,还TM死得这么没骨气,冷南烟翻了翻白眼,死也就算了,还穿越到一个什么兽世大陆,出现了一个让人无语的空间系统,只有完成任务才能复活,EXM?虽冷南烟对自己的实力足够自信,但是,这什么鬼地方,个个都这么强悍爆表,任务一个比一个难,要多久才能复活,才能完成任务回到祖国大地的怀抱……
  • 器之修

    器之修

    额,该说点啥,只有大纲和修炼体系,具体的故事线未编完全……有读者的话……欢迎提供配角、小剧场……
  • 一剑诛霄

    一剑诛霄

    十年一剑名四海,八方有仪皆来朝。————————————————欢迎加入《一剑诛霄》书友群,群号:200435580!!!