linux是全球那些非常有实力的程序员的最爱,linux的高效,稳定正是这些人的核心诉求。所以,理解linux为什么那么设计,而和windows大相径庭。所以喜爱linux的重要一步就是要尝试理解程序员们的诉求,需要,尝试换位思考,试着写写代码,相信你会很快爱上linux的。本文就为大家分享一些程序员的轶事,趣事,让你开始了解他们。




那天喝酒的时候,技术哥给坛子哥讲了5个高冷的it八卦

谈资昨天

1.php还真不是“拍***”的,至少不全是——全球目前有9亿7千7百万的网站,大约有39%是由php搭建的。甚至有这些非主流网站:facebook、维基百科,youtube,wordpress都是采用php技术架构的,当然,这些都是传说中的网站。

其他的语言还有:jsp,python,ruby…等。



毋庸置疑,php是最好的计算机程序语言,有以下的段子为证:

某女:“你能让这个论坛的人都吵起来,我就跟你约会。”

某程序猿:“PHP是最好的语言! ”

某论坛炸锅了,各种吵架。

某女:“服了你了,我们走吧。”

某程序猿:“今天不行,我一定要说服他们,PHP必须是最好的语言。”

2.江湖中有一大堆关于Jeff Dean的传奇故事,都是由崇拜他的谷歌员工写的。如果你了解软件工程师,懂得程序员幽默的话,那你会觉得那些故事非常有趣。

Who’s Jeff dean?



他曾经开发了Map Reduce和Big Table,并于2009年以40岁的高龄当选美国科学院院士。简单来说,这货是Google牛逼的源泉之一。他到底有多牛?

在2000年后段,Jeff码代码的速度突然激增了40倍,原因是他把自己的键盘升级到了USB 2.0。

解释:usb是优盘与计算机的接口,usb1.0的峰值传输速度是1.5MB/秒,而useb2.0的峰值传输速度是60MB/秒,嗯,不多不少,刚好40倍,假设一部普通的岛国动作片的大小在1.0G左右的话,使用usb2.0在全速传输的情况下17秒钟内可传完。Jeff要是有兴趣的话,他可以在20秒内就可以“打”完一部AV长片,还有时间地洗个澡,换一套衣服。比较一下日本导演三天一部的拍片速度,不拍片真是太浪费人才了。

Jeff闲暇时刻是“看”MP3,他用眼睛扫描mp3的二进制编码然后在他脑子里自动进行音频解码,让音乐使自己感到放松。

解释:mp3将声音转成数字信号保存起来,但声音从音箱里面传出来的时候,得先有个mp3×××,将数字信号转换成声音信号(模拟信号),Jeff不需要这么奢侈的mp3播放器,直接就肉眼扫描mp3文件。

Jeff Dean首先写的是二进制代码,然后再写源代码作为文档。

解释:二进制代码是电脑cpu能识别的句子,源代码是人类能识别的句子。源代码通过专用的翻译程序(编译器)转变成二进制代码供电脑运行,世界上常用的计算机编程语言大约有30多种,同理必然会存在相同数量的编译器(比如C语言,C++ ,Java,写苹果App的Object-c语言),所谓人有人言,兽有兽语,Jeff直接写出计算机能懂的机器码,省略了翻译这一步,至于写源代码的目的是让其他人能看懂这段程序。

因为对常数级的时间复杂度感到不满意,Jeff发明了世界上第一个O(1/n)算法。

解释:计算机行业常用O(n)表示计算复杂度,包括耗费的时间和资源。比如要算出n个数字里面的最大值,不可能n越大而计算复杂度越小。这样的话,人类也没必要发明计算机来用于计算了。

3.这个星球目前有3大主流操作系统,分别是windows,mac os,linux。前面两大都不说了,linux最开始是由Linus Torvalds(江湖上人送外号玉面飞龙小王子之极客之王)完成,然后开源,全世界的程序员都在为它贡献代码;在服务器操作系统市场中,Linux大概占到了65%,并且持续蚕食windows的市场。这位大神也是一个爆脾气,绝不是中国传统文化中慈眉善目的老爷爷形象,他除了善于用他可爱的小手指打出linux系统之外,还更善于使用中指来表达心中细腻的小心思。

我们先来看看这个死胖子长得有好帅:





嗯!符合我们对程序员的预期形象,甚至给程序员设置了一个标准形体模式。

他喷了C++:“我确实不喜欢C++,依我来看,它真的是一门很烂的语言。C++语言想解决的问题都不对路,都是一些皮毛问题,而没有涉及真正深层次的问题”,“C++是狗屎,根本没啥设计,只是在C上面加了些渣滓而已”。



(画外音:看到这个指头吗?我就是用它来写出linux的)

在内部邮件里面骂人并自我辩护:“某些人以为我是好人,在发现不是之后感到震惊。我不是一个好人。我也不在乎你们。我在乎的是技术和内核——那才是对我重要的东西”(这是辩护吗?怎么感觉好像和我平时说“就骂你丫的!你来咬我啊”。那份自信,从容和猥琐真是不遑多让啊)。



骂nvdia公司:“我也很高兴地公开指出,NVIDIA是我们接触过的最糟糕的公司,没有之一。”随后他潇洒地向Nvidia公司竖起中指。



4.高德纳(Donald Ervin Knuth),1974年的ACM图灵奖得主,捧走了历史上第9个图灵碗。这一年他只有36岁,直到现在,他仍然保持着获奖年龄最小的纪录。



高德纳教授有四大成就:



1.排版系统TEX。TEX是一场出版界的革命,直到现在仍是全球学术排版的不二规范,它所排出的文字之美,特别是数学式子的美,让人们由衷感叹:啊,一毫米都不能再挪动了;

2.是METAFONT,这是一套设计字体的系统。对于它的价值,一句话就能概括:计算机界最懂字体的两个人,一个是苹果的乔布斯,另一个就是高德纳;

3.文学化编程(Literate Programming),它把程序设计的艺术性展示得淋漓尽致。高德纳说,一段好的程序,不仅仅是要清晰易读,而且要能够读出美感,读出意境。天呐,意!境!一排一排的计算机代码,要像诗歌一样充满意境。

4.《计算机程序设计艺术》这套书籍,一共七卷本,目前只出到了前四卷,还有三卷仍在待字闺中。



前面提到的Linux的作者Linus说:上帝在梦中告诉我,我做出了最优秀的操作系统。高德纳回答说:我可没这么说过。

5.图灵和冯·诺依曼

将这两位放在一起说实属对伟人的大不敬(罪过罪过,童言无忌,大神莫怪)。不过为了区分两者的贡献领域,对比着看吧





计算机界最高奖项叫图灵奖,而将计算机之父的称号送给了冯·诺依曼,这是为什么?这两位计算机发展史上的两位鼻祖的功绩,主要区别何在?

图灵是×××,虽然是受的一方,但绝不是这个原因不授予他父亲的称号。

图灵创造了设计cpu指令的数学方法,使指令设计有法可依,有据可靠,最根本的就是--状态自动机,俗称--状态自动机(这鬼东西我也不知道为啥翻译得这么拗口,还是举例说明吧,你坐电梯的时候,电梯的门有两种状态,打开和锁死,如果电梯在运动(上升或下降)中,电梯门是不可能打开的,我们就说门不可能在电梯运动状态下转变到打开状态。电梯门要打开,必须电梯静止时候才能到达打开状态。这就是状态自动机的规则。

如何自动地实现状态变化的方法,图灵解决了。但是,图灵的指令系统单一不够完善,总结起来主要有两条。第一,没能将指令存储起来重复使用。第二,没能形成实现程序结构设计。图灵机欠缺的这两点恰好被冯诺依曼提出的程序数据存储的思想解决了。计算机系统在冯诺依曼教授的理论下终于完善起来,直到人类造出了第一台计算机。



好吧,看你都快睡着了,作为集古典艺术现代艺术于一身,兼具诗成泣鬼神的文学风格,精通各种计算机语言的我,还要告诉你一点:女性和男性一样,在这个领域同样地Run the World。世界上的第一个程序员和泰勒·斯威芙特(TaylorSwift)是同!一!性!别!

先来看看泰勒是什么性别



英国著名诗人拜伦的女儿Ada Lovelace(1815-1852)。她甚至还建立了循环和子程序的概念。由于她在程序设计上的开创性工作,Ada Lovelace被称为世界上第一位程序员。美国国防部开发的ADA语言就是为纪念这位世界上的第一位程序员而命名的。



而bug这个词,也是由一位女程序员引入的。



葛丽丝·霍普(Grace Hopper)是计算机时代公认的伟大先驱之一,被誉为Cobol计算机语言之母,还被誉为“计算机软件第一夫人”。



霍普1906年出生于纽约市的一个海军世家,长大后就读于瓦萨学院(Vassar College),1934年成为耶鲁大学233年校史上首位数学女博士。

霍普认为,计算机程序应该用接近于英语而非机器码或接近于机器码的语言来编写。1973年,她被提拔为海军上校。尽管她在1963年就已退休,但她仍应招入伍并积极投入工作,并在全球各地做巡回演讲,最高官至海军少将。

霍普于1992年1月辞世,按照海军最高荣誉葬于阿灵顿国家公墓。



感谢以上提到的各位计算机科学先驱,只有她们和他们,才让人类跨越到的信息时代,她们和他们就是托起世界的巨人。