C语言的发明者Ken Thomson因为没有参加C语言考试,在Google没有提交代码的权力。

哀悼结束,生活还要继续。

说段趣闻吧。大家都知道,C语言和Unix的发明者、图灵奖得主、最具传奇性的程序员Ken Thompson加盟Google之后,与一帮高手一起捣鼓出了又一惊天之作:并发时代的系统编程语言Go。Go一经面世就闯入了编程语言排行榜前20,创造了奇迹。

可是,Gawker网站今天爆料,他在Google居然没有提交代码的权力!原因呢,只不过是按公司规定,所有程序员必须通过编程语言考试,而他还没有参加过这种考试,至少在《Coders at Works》一书写作前:

Peter Seibel: 我知道Google有一个规定,每个新员工都要在接受编程语言测试之后,才允许提交代码。那就是说你也得考(你自己发明的)C罗?

Thompson: 是啊,我还没考呢。

Seibel: 你还没考? 难道你还不能提交代码吗?

Thompson: 是啊,我不能提交代码,不行……我只是还没有去考试,还没觉得有必要去考。

看来Google真是一家唯算法唯规则的公司。三年前,Google曾被曝光用算法和机器人程序来给申请者提交的简历打分。此外还有很多招聘和面试程序中的古怪事情不断见诸报端。

无独有偶,昨天成为CSDN头条的文章“从盖茨到扎克伯格:极客的力量”中,也爆出开发Mac操作系统核心程序员之一Hertzfeld现在在Google也不快乐:

使赫兹菲尔德发生变化的不只是时间,还有他的工作环境。谷歌将工程师看作最重要的资产,认为员工必须喜欢自己从事的工作,同时支持开源软件。但赫兹菲尔德承认,谷歌是一家大公司,在产品设计方面有严格的标准和程序,因此减少了他工作中的乐趣。他说:“我与工作的关系是艺术家与他的作品的关系,但在谷歌,我无法从自己的工作中获得快乐。”

尽管个人的控制力降低了,但赫兹菲尔德拥有了产生更大影响的可能性。有时,谷歌的几行代码可能会影响成千上万的人,这为他的工作带来了一种激情。他说:“这里的一切都是主流的。谷歌、iPhone,这些比上世纪60年代甲壳虫乐队更能影响文化,它们甚至会影响整个人类。”

对了,《Coders at Work》一书是对15位顶级程序员(包括图灵奖得主高德纳、Erlang和JavaScript 之父、Norvig、Guy Steele等等大师)的访谈集,在同类书中是最有趣、最有料而且最精彩的一本。中文版还在翻译中,将由人民邮电出版社图灵公司出版。微软研究院的邹欣做了不错的读书笔记1234,大家可以去先睹为快。搞技术的,了解高手的思想有时候至关重要。


【人物小传】

Ken Thompson 计算机科学先驱,最具传奇性的程序员。C语言前身B语言和Go语言、Unix和Plan 9操作系统、UTF-8和正则表达式的发明者。1983年图灵奖得主,美国科学院和工程院院士。1943年2月4日生于新奥尔良。加州大学伯克利分校电子工程与计算机硕士。1966年加入贝尔实验室,2000年退休。

据文献记载,1969年,他在Multics操作系统项目失败后的无聊时间里,为了在一台PDP-7计算机上玩自己编写的“太空旅行”游戏,而用汇编开发了Unix的最早部分(文件系统)。是的,伟大的操作系统是玩出来的。

他还开发过一个名为Belle的象棋程序,打遍天下无敌手。

Andy Hertzfeld Apple的第一个软件魔术师,也是Mac操作系统的主要开发者之一。他还是著名苹果公司轶事网站Folklore.org的创始人,这个网站后来编成了《苹果往事》(电子工业出版社博文公司出版)一书。

原文:https://www.csdn.net/article/1970-01-01/276155

B语言的发明者 Ken Thomson & C语言的发明者Dennis Ritchie的更多相关文章

  1. 《自学C语言》第一章:C语言简介

    这一章主要介绍什么是C语言,以及它的产生.发展历史.如其中所说的计算机术语有不懂的请百度,例如什么是强类型,什么是高级语言. 1.C语言是什么? 答:C语言是一门通用计算机编程语言,应用广泛.C语言的 ...

  2. C语言之父Dennis Ritchie告诉你:如何成为世界上最好的程序员?

    文/Ohans Emmanuel 译/网易云信 想要阅读更多技术干货文章,欢迎关注网易云信博客. 了解网易云信,来自网易核心架构的通信与视频云服务. 我不知道如何成为世界上最好的程序员.但是,我们可以 ...

  3. 【Go语言系列】1.1、GO语言简介:什么是GO语言

    一.Go的起源 Go语言的所有设计者都说,设计Go语言是因为 C++ 给他们带来了挫败感.在 Google I/O 2012 的 Go 设计小组见面会上,Rob Pike 是这样说的: 我们做了大量的 ...

  4. Win10 UWP 开发系列:使用多语言工具包让应用支持多语言

    之前我在一篇blog中写过如何使用多语言工具包,见http://www.cnblogs.com/yanxiaodi/p/3800767.html 在WinEcos社区也发布过一篇详细的文章介绍多语言工 ...

  5. 《玩转D语言系列》二、D语言现状、基本规定和相关资源介绍

    这算是本系列文章的一个序吧,主要是为以后的学习做铺垫,文本分为三个部分,第一部分是对于网上一些比较旧的资料的问题的一些更正,当然我也不可能看过所有的资料,难免会有遗漏.第二部分是D语言最基本的规定,第 ...

  6. C语言学习-01第一个C语言程序

    一 C语言的历史 C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言. 尽管C语言提供 ...

  7. js:语言精髓笔记9--函数式语言特征

    形式化运算系统的研究: 图灵:提出图灵机形式系统,通过0,1运算系统来解决复杂问题: 冯诺依曼:提出了冯诺依曼体系:即通过修改内存反映运算结果: 阿隆左.丘奇:提出新的运算范型Lambda演算,计算机 ...

  8. 深入理解c语言_从编译器的角度考虑问题_纪念Dennis Ritchie先生

    开源中国: Dennis Ritchie教授过世了,他发明了C语言,一个影响深远并彻底改变世界的计算机语言.一门经历40多年的到今天还长盛不训的语言,今天很多语言都受到C的影 响,C++,Java,C ...

  9. C语言入门(1)——C语言概述

    1.程序与编程语言 我们使用计算机离不开程序,程序告诉计算机应该如何运行.程序(Program)是一个精确说明如何进行计算的指令序列.这里的计算可以是数学运算,比如通过一些数学公式求解,也可以是符号运 ...

随机推荐

  1. 适配器模式 iOS

    前言: 最近需求作一个公共空间的需求,最后决定用适配器模式来做. 首先,需求是什么? 在我们app中,会有很多列表,tableviewcell的样式会比较统一(当然,我之前在公司那个app不算很大,基 ...

  2. 使用app-inspector时报错connect ECONNREFUSED 127.0.0.1:8001的解决方案

    在使用 app-inspector -u udid时,报错如图所示 输入如下命令即可解决 npm config set proxy null 再次启动app-inspector即可成功

  3. centos6.x安装yum及python依赖包

    步骤1:清空pythonrpm -qa|grep python|xargs rpm -e --allmatches --nodeps whereis python|xargs rm -fr 步骤2:清 ...

  4. BridgePattern(桥接模式)-----Java/.Net

    桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化.这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦

  5. 写代码 Log 也要认真点么?

    Log自然是需要的, 尤其是正式的产品; 但如果只是自己或内部用用的小工具, 也需要认真点吗? 实话说, 自己对 log 总是不上心, 总觉得调试好了, 能跑了, 足以. 所以, 被大妈怼了好几次 l ...

  6. 「UVA1328」「POJ1961」 Period 解题报告

    UVA1328 Period 其他链接:luogu UVA1328 POJ1961 For each prefix of a given string S with N characters (eac ...

  7. CSRF绕过后端Referer校验

    CSRF绕过后端Referer校验分正常情况和不正常的情况,我们这里主要讨论开发在写校验referer程序时,不正常的情况下怎么进行绕过. 正常情况 正常的情况指服务器端校验Referer的代码没毛病 ...

  8. jenkins介绍和安装

    1.jenkins介绍 1.1 Jenkins概念: • Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台. • 这是一个免费的源代码,可以处理任何类型的构建或持 ...

  9. shiro采坑指南—基础概念与实战

    说明   代码及部分相关资料根据慕课网Mark老师的视频进行整理.   其他资料: shiro官网 基础概念 Authenticate/Authentication(认证)   认证是指检查用户身份合 ...

  10. EXE和DLL调用关系,DLL制作,钩子

    制作DLL时,在cpp种引入了头文件,但头文件里的全局变量在cpp种却不能用 参考大佬博客https://blog.csdn.net/speargod/article/details/88854344 ...