卖桃者说
池建强
极客时间创始人、墨问西东创始人
30376 人已学习
免费领取
课程目录
已完结/共 523 讲
第一季 (135讲)
第二季 (134讲)
第三季 (124讲)
第四季 (90讲)
卖桃者说
15
15
1.0x
00:00/08:06
登录|注册

第182期 | 创新就是你要心甘情愿地接受失败

讲述:池建强大小:6.50M时长:08:06
你好,这里是卖桃者说,今天和你聊一门古老的编程语言——Fortran。
Fortran 应该算是编程界的“古董”了,它是世界上第一个被正式推广使用的高级语言,很多年轻人,比如各位读者,可能不大认识它。
Fortran 这门编程语言主要面向的领域是科学计算,使用人群不够广泛,没有 C、Java、Python 等热门语言那么热闹,社会上对它的讨论热度也不高。另外,这门语言实在太过久远了,从 1957 年正式发布到现在,已经有 60 多年的历史,在计算机编程这个长江后浪拍前浪,很多前浪被拍到沙滩上的领域,这个年纪绝对是“高龄”。
但 Fortran 的地位和影响却是其他编程语言没法比的。从某种程度上来说,Fortran 是编程的源头,后来出现的很多语言都是在它的基础上发展起来的。正如图灵奖获得者吉姆·格雷(Jim Gray)所说:“一切都从 Fortran 开始。”
《纽约时报》给予 Fortran 高度评价:它帮助打开了现代计算的大门,而且有可能成为历史上最有影响力的软件产品。Unix 之父肯·汤普森(Ken Thompson)也曾评价道:“如果没有 Fortran,95% 的早期编程人员将一事无成。Fortran 是一个巨大的进步。”
这样一门具有划时代意义的编程语言,它的诞生却存在许多偶然性。如果当时 IBM 职员约翰·巴克斯(JohnWarnerBackus)一直心甘情愿地埋头用古老的方法做程序设计,如果他没有向老板赫德提出设计编程语言的申请,恐怕我们很难看到后来的 Fortran。
巴克斯也被称为“Fortran 之父”,他在早年接受杂志采访时风趣地称自己是一个懒惰的人,还说他大部分的软件开发最初缘由都是自己的懒惰,设计 Fortran 也是如此:
“我不喜欢写程序,所以当时在 IBM 701 工作,为计算导弹弹道编写程序时,我就开始琢磨开发一个编程系统,可以让编写程序变得简单些。”
其实很多发明都是基于人们的“懒惰”,从某种程度上来说,“懒人”的创造力要更强一些。比尔·盖茨曾说过,“我总会选择一个懒人去完成一份困难的工作,因为他会找到捷径”。但如果是一个眼高手低,只会幻想却不付出行动的“懒人”,那他大概率永远都只会停留在一个地方,因为他是真的懒。
话说回来,其实 Fortran 最初的设计目标并没有多么伟大,只是为了让程序员在 IBM 704 上能更轻松地编程而已。当时,编程是一项非常费时费力的工作,程序全部由工作人员手动写出,逐行计算,还要花掉将近一半的时间用在排查错误上。因此,简化编程、加快速度成了包括巴克斯在内的很多程序员的迫切愿望。
1953 年年末,巴克斯给老板赫德写了封信,建议设计一套新式编程语言,取代机械式的程式设计。巴克斯在信中还着重强调了这门新的编程语言在经济方面的重要作用,比如提高生产效率、节约成本等等。很快,赫德就批准了这项计划。
项目成立了,接下来就是招兵买马,壮大团队。1954 年 1 月,巴克斯迎来新人齐勒以及“天才程序员”赫里克。最初,赫里克对于这个计划持怀疑态度,他认为不可能让一种语言像真正的程序员那样生成机器代码,即便能生成代码,效率也不会高。
但很快,赫里克就不再怀疑,他们仨甚至还野心勃勃地制定了目标,要让这门编程语言与传统的程序员一较高下。
在 20 世纪 50 年代,大家普遍使用的是汇编语言,每一行汇编语言代码会转换成一条二进制机器代码的指令,逐行计算。所以,Fortran 项目组的第一个目标就是要打破这种一对一的模式,实现一对多,一行程序代码能够转换成多条机器指令,从根本上提高效率。
1954 年 11 月,Fortran 项目组撰写了一份 29 页的报告,里面内容全都是关于 Fortran 语言的数学解释、使用规则以及目标。报告预言,Fortran 不仅能提高编程效率,而且还将让更多的人具备编程能力。
理想很丰满,现实却总是给人当头一棒。巴克斯、齐勒和赫里克三人拿着这份充满想象力的文件开始周游全国,想激发人们对 Fortran 项目的兴趣,并借此机会从用户那里听取一些意见和建议,以便更好地塑造 Fortran。但根本没有人理会他们的热情,他们几乎没有收到任何建议或反馈,只能失望而归。
不过这次经历也不是毫无所得,至少对三人来说起到了意想不到的激励作用,别人越是告诉他们不可能实现,他们就越渴望证明给那些人看。能做成事的人骨子里都有股“不撞南墙不回头”的倔劲,不服输,也不信命。
1955 年,巴克斯开始为团队添加人手。他从麻省理工学院找来了明星程序员谢尔登·贝斯特,还从联邦飞机公司借来了罗伊·纳特,以及为美国国务院工作过的密码员罗伯特·尼尔森。最终,团队人数扩大到了十余人。
每当老板询问 Fortran 何时能完成,巴克斯总是给出同样的答复:“6 个月”。后来巴克斯回忆道:“我们确实总是感觉 6 个月之内就会完成,但实际上,前后共花了将近 3 年的时间”。这也说明了,完成一项创造性的工作,进度估算总是显得苍白无力。
1957 年 2 月,Fortran 在西部计算机联席会议上首次面世,并和汇编语言现场 PK。结果证明,Fortran 程序的运行效率接近程序员手工编写的汇编程序,这对于所有人来说都是一场革命。
《纽约时报》高级作家史蒂夫·洛尔在《软件故事》这本书中对 Fortran 的成功给予高度评价:
Fortran 最大的成就也许在于证明了高级语言是可能的和实用的。它的出现扫除了一个巨大的障碍,开启了软件领域多年来持续不断的创新,同时使编程人员能够更容易地进行计算机编程。
Fortran 最初的发展道路还是非常坎坷的,好在收获了一个超出所有人想象的好结果,还打开了新世界的大门,为后来的编程语言铺路。巴克斯在总结 Fortran 早期研发过程中的经验和教训时,语重心长地说道:
“你要心甘情愿地接受失败,你要想出很多办法,然后非常努力地工作,结果却发现这些办法都不管用。接下来你还要反复这样做,直到找到一个管用的方法为止”。
其实创新就是反复尝试的过程,不断犯错,不断探索,只要你没放弃,就还有看见光明的希望。做产品也是这样,一路往前,不管前面丢的是鲜花还是鸡蛋,都要好好走下去。
卖桃者说,明天见。
(编辑:夏天) 
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《卖桃者说》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

全部留言(6)

  • 最新
  • 精选
  • 熊斌
    想起上周Response同学给我部落动态的评论:“没有一路绿灯”。 迈出第一步的时候,资源可以准备不充分,但好的心态必须得有,即可以享受鲜花掌声的拥簇,也能接受的了批评的声音以及可能的失败。
    1
  • springday
    工具就是人类欲望的延伸,人类创造了工具,工具也在改变人类。
    1
  • 李洪亮
    一个伟大产品都是在过高的自我期望与现实的无限打压交织下诞生的。
  • 向百
    什么是成功?用什么证明自己?自信而有恒心的懒人,这应该是一个可选项!
  • 小斧
    “你要心甘情愿地接受失败,你要想出很多办法,然后非常努力地工作,结果却发现这些办法都不管用。接下来你还要反复这样做,直到找到一个管用的方法为止”。
  • leslie
    去年苏杰老师的创新课挺好的:听课的过程还是挺有收获的;意犹未尽,不知道是否后面还有机会听到。
收起评论
显示
设置
留言
6
收藏
28
沉浸
阅读
分享
手机端
快捷键
回顶部