如果编程语言是《哈利波特》中的人物

2016-02-28 20:29


如果编程语言是《哈利波特》中的人物,本文是作者的一些观点,如果你有不同的看法,欢迎在留言中告诉我们。

C语言

每个人都在说,C语言已经死了至少十年以上了。人们对它嗤之以鼻。当然它也曾不可一世,肆虐横行,但是现在几乎每个人都表示这是一个已经死去的编程语言,再也没有使用的必要。

但是。

世界各地依然有小部分的人在使用着C语言——这使得它并没有彻底地消亡。嵌入式设备、家用电器,单目标系统以及其他各种包含了C编译代码的对象和事物。既然有存在,那么就需要维护和升级,因此C语言死不了。

所以,C语言是——神秘人伏地魔。

FORTRAN

比C语言更为古老的Fortran语言,几乎看尽了一些科学和计算机领域事业的兴衰。很多伟大又非凡的成就都应该归功于Fortran语言。

但是Fortran,怎么说呢……大概是上了年纪吧,开始垂垂老矣,后继无力。

不过和C语言一样,依然有人还是在使用着Fortran语言。但是,与C不同的是,使用Fortran更多的是为了纪念,纪念曾经的光辉与荣耀。

所以,Fortran语言是阿不思·邓布利多。

JAVA

话说此编程语言吸引了大批人在它上面挥洒汗水,展现他们的聪明才智。

JAVA看上去非常完美。没有缓冲区溢出,没有未初始化的内存,没有空指针……太赞了!

但是几个月之后,你终于意识到意识到它的缺陷了。

——居然没有防守性的边界检查。

——想用边界检查?哈哈!你怎么会需要在我的课堂上需要使用指针。

——我们为什么不使用指针呢?

——你应该用一种安全,无风险的方式学习代码。

——这有什么意义呢?以后我们写代码发布代码,总不可能保证是无风险!

程序员们我的课堂上不断地提问。

Java是洛雷斯·乌姆里奇,哈利波特的黑魔法防御教授。

C++

C++的这个角色有点高深莫测。它既是C语言的追随者,又是它的破坏者。

但是有一点我可以肯定,C++杀死了Fortran语言,或者至少砍了一刀。

所以,C++就是一开始令人恨之入骨又矛盾的西弗勒斯·斯内普。

ADA

Ada是一种神奇的编程语言,一半是纯粹的实用性,另一半是崇高的学术性。

严格又无情,指哪打哪,几乎箭无虚发。

所以,Ada是公正又坚强的副校长米勒娃·麦格。

BASH

人们很容易忘记Bash。这种编程语言默默地站在各种任务背后解决各种的麻烦,毫无怨言。它笨拙,并且不喜欢变化,但是如果它消失的话,会导致宏伟生态系统陷入混乱。

所以,Bash是半巨人鲁伯·海格。

WINDOWS 批处理

如果Bash是海格,然后Windows 批处理的语法就是看门人阿格斯·费尔奇。

INTERCAL

INTERCAL的目的与其他所有的计算机语言截然不同。在其他语言中的常见操作,用INTERCAL表达就变得神秘而又冗余。

警告!如果你不想神经错乱,那么在任何情况下都不要涉及此编程语言。

所以,这是疯姑娘卢娜·洛夫古德。

JAVASCRIPT

下面要说的是Javascript,我们用于制作网站的一种玩具语言。这真心是种很烦人的脚本语言,在90年代末的时候,只有万不得已,我们才会想到Javascript。

但大概在2010年,我们的想法变了:

——你在服务器上用的是哪种编程语言?
——Javascript。
——我指的是服务器语言。
——没错,我也没开玩笑,就是Javascript。
——你确定听懂我的意思了么?
——JavaScript真的非常强大的。

所以,JavaScript是后来居上的金妮·韦斯莱。

PHP

PHP从头到脚都写着平庸二字。

有的人认为通过加入C群体,PHP可以得到改善,并且需要做的只是添加goto。

也有的人认为PHP可以做一些丰功伟绩,然而也只能含恨而终。

PHP有钱也有点实力,却不够格成为一个真正的反派。

所以,PHP是德拉科·马尔福。

HASKELL

Haskell忠于学术,但实际上却异常之强大。它是一门纯函数式语言,这意味着总的说来,Haskell中的函数没有副作用。

如果你擦亮眼睛,与它交朋友,那么你会发现这是一个坚定不移的知己。

所以,Haskell是赫敏·格兰杰。

PERL

Perl的很多地方都被人所诟病,当然来自于那些吹毛求疵的家伙,他们表示,它更加适合于那种沉闷的数据处理。

但是它到处都有着忠诚的用户。

所以,Perl是罗恩·韦斯莱。对这个比喻,PHP表示:我保留不同意见。

PYTHON

大家都非常喜欢这门语言!

Python简洁清晰,但又没有过于学术化。一旦出现麻烦,几乎Python每次都恰好有正确的方法解救于你。

Python可能有点炒作过度,但这不是它的错。

所以,Python是哈利·波特。

RUST

纳威·隆巴顿。

只有它真正意义上杀死过C,不是吗?