登陆注册
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语言就写不了编译器……”旁听的几人陷入了混乱当中。

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

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

十秒钟后。

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

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

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

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

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

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

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

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

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

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

同类推荐
  • 红警之战争大国

    红警之战争大国

    在红警帝国,丧尸到处都是,主人公将在这个末世里存活下去呢???????????????????新人写书,求收藏。谢谢。你们的收藏是我的动力!!!!
  • 快穿之大佬的崛起

    快穿之大佬的崛起

    【新书《X和X世界》求支持啦~】(无cp)安好在人生巅峰的时候死翘翘了,然后被拉去给别人逆袭人生去了。又是在末世领着丧尸大军当反派,又是在侦探社查案,还要变成太监在皇宫里搞事情……安好表示,当个任务者还真得多才多艺的,好心累~(ps:女主很聪明,靠自己完成任务【有男主,但是男主不是和女主组cp啊,别误会★】)(书友群:190951794,答案是——晴天)
  • 快穿战神太优秀怎么办

    快穿战神太优秀怎么办

    (1v1)战神陨落,灵魂碎片散落三千世界。云萝开启了她的收集碎片之旅。校园里,男神太抢手怎么办?云萝:他是我的!!!修仙世界,仙尊太抢手怎么办?云萝:他是我的〃?〃现代位面,嘉宾太抢手怎么办?云萝:他是我的【霸气.jpg】…………(佛系更新,新手作者,兴趣写文)
  • 氪金科技

    氪金科技

    首冲八元,升级VIP1,送神器,开启VIP商城!再冲八百,直升VIP2,送黄金大礼包一份!氪金才能更强,再冲八万,你会变强!再冲八亿,升级VIP5,你会更强!我们先定个小目标,比如先氪他个一个亿!
  • 赏金勇士

    赏金勇士

    27世纪,一场大破灭后,这时的水蓝星大半领土已被异变生物所占领。在这末世之中,且看轩凡如何实现心中的梦想,成为一名赏金勇士
热门推荐
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 十年一诺:他与鹿晗

    十年一诺:他与鹿晗

    练习生4年,出道后相伴两年,分别四年,共十年,他将脱离讽刺男男相恋人群的束缚,只为寻回那个爱对他脖子吹气的少年。志做纯洁芦苇!(虽然我做不到。)鹿晗的知己都点开了这本小说,鹿晗的女朋友都收藏了这本小说,鹿晗的老婆不仅以上两条全做到了,而且给了评论和票票笔芯!笔芯!
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 异界超级牧场物语

    异界超级牧场物语

    农场主?不,我可不是普通的农场主,我为帝国培养高阶魔兽战马,我为大陆顶级强者专门培育神兽坐骑,我……等等,说我是弼马温的那个,你别跑,有种下马我们大战三百回合……
  • 中国古代奇幻小说:绣云阁(九)

    中国古代奇幻小说:绣云阁(九)

    《绣云阁》,又名《绣云仙阁》。叙述三缄修道、降妖、收徒,七窍贪名、求官、受难的故事。绣云洞紫霞真人奉道君师命,为阐明大道于天下,令弟子虚无子托生尘世,且造绣云阁以待成道者他日居住。虚无子投生李氏为子,名三缄。小说叙他后来如何看破功名,求取正果,降妖伏怪,劝善戒恶,最后列仙班,登绣云阁。魏文中,字正庸,号拂尘子,生平不详。
  • 此处逢故人

    此处逢故人

    本人处女作,脱胎于一次学校月考的作文,有点像日式小说的一个作品,本人受新海诚的影响比较重,可能会有一些《秒速五厘米》或其他作品的影子。希望能给大家带来更好的阅读体验。创作不易,感谢支持。
  • 飘在鄂木斯克的中国青年

    飘在鄂木斯克的中国青年

    本小说2016年4月已经进入影视改编商谈阶段,感谢大家支持!该小说以作者的亲身经历,从青年的视角,叙述描写了一群在俄罗斯经商的中国青年和自己的同胞,以及和俄罗斯,哈萨克,吉尔吉斯,越南等国家的人们之间,发生的爱恨情仇的故事。他们为了生活,或是为了生活的更好,而选择来到俄罗斯,但现实的经历告诉他们,这里并非天堂,无论赚取了多少财富,终究不是自己的家,这也正是小说“飘”的内涵所在。希望通过本小说,能让更多的人知道还有这样一个群体的存在,知道这个群体的同胞在异国他乡的艰辛与奋斗,给予他们更多精神上的关怀。
  • 快穿攻略暗黑大佬

    快穿攻略暗黑大佬

    言墨是曾经至高无上的神,但由于一次神魔大战,导致她在这场战争中失去记忆,为了找回记忆,言墨绑定了系统,开启攻略之旅~系统小黑:宿主大大,现在别想着逃了!某墨:为什么?我继续跑,我不信我跑不出!系统小黑内心:宿主大大,你别作死了,大佬已经来了!某大佬:嗯~墨墨,你竟然还想着逃~看来,我努力的不够啊~某墨:小黑!!!你等着!……【(简介无能)本文攻略文,外加外挂】隐藏少女上神vs腹黑病娇大佬(1v1虐渣+爽文)某病娇大佬:我已经让你逃了一次了,这次,无论发生什么,你恨我也好,我都不会放手了,不会再让你逃了!某墨:放心,这一次,我不会逃了!不喜勿喷,作者是一枚小萌新,请多多关照!(本书又名快穿:攻略暗黑大佬!)
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 惊世魔医

    惊世魔医

    一朝穿越,魂分两体。她是皇都风华绝代的十六皇子。她是小镇人人欺压的病弱废柴。她医毒双绝,盖世无双,化身魔尊,名扬天下!妖魔鬼怪,魑魅魍魉个个唯她马首是瞻。她本想挑个人人称羡的美男子,为何却是惨不忍睹的丑八怪在她面前晃悠。