推荐每个程序员都看的技术演讲
编译:伯乐在线/loadofwar
我喜欢优秀的技术演讲。我不仅喜欢观看这类演讲,并乐于与⼈分享。最近我有充⾜的空闲时间,于是整理出了⼀
个“每个程序员必看”的技术演讲列表。在选材时,我并没有把演讲的主题局限于具体的语⾔或库,⽽是选择了⼀些有宏观视野的内容,希望更能够被更多⼈所接受。
如果你觉得我漏掉了哪些你喜欢的演讲,请留⾔告诉我。Happy watching!
⼀、The future of technology | 科技的未来
关于科技的未来, Alan Kay 有着⽐其他⼈更深刻的思考。在这个演讲中,Kay 解释了施乐帕罗奥多研究中⼼是怎样在很短的⼀段时间内发明出如此多的新技术的。这些现在看来⼤名⿍⿍的技术包括了:个⼈电脑、位图显⽰、图形界⾯、桌⾯发布、⽂字处理、激光打印,以太⽹以及⾯向对象编程。
(Alan Kay)
在 Kay 看来,实现这⼀成就的关键在于⼀种专注于创新的企业⽂化。这种⽂化注重从最基础的研究做起,⽽不是仅在已有的创新的基础上升级和改良。这类创新通常需要⼤量的⾦钱投⼊,长时间的研究周期以及独辟蹊径的问题解决⽅式综合作⽤才能取得成功。
关于未来科技趋势,另外⼀些重要的演讲:
1. 《The Mother of All Demos | 多媒体演⽰之祖》作者:Douglas Engelbart,⿏标之⽗的⼀个多媒体演⽰视频。其中包括了对超链接、计算机制图、视频会议、⿏标、⽂字处理等等内容的演⽰。⽽这⼀切都发⽣在 1968 年!这就是 Kay 在他演讲中引述的所谓跨时代式的创新。
(Douglas Engelbart)
2. 《The Future of Programming | 编程的未来》作者:Bret Victor。Bret 在他的演讲中带领我们回顾了过去并提醒⼤家:对于⼀个需要创造⼒的⼈来说,最危险的情形莫过于他拥有了「我知道我正在⼲什么」这种想法。因为⼀旦有了这种想法,你就会失去通过寻不同途径来解决⼀件事情的意愿,进⽽失去了这种能⼒。换句话说,在创新的世界⾥,你变瞎了。
3. 《The Computer Revolution Hasn’t Happened Yet | 计算机⾰命尚未发⽣》作者:Alan Kay。「我创造了『⾯向对象』这个词,⽽且我可以告诉你我根本没把 C++ 放在⼼上。」
⼆、User interface | ⽤户界⾯
听完 Bret Victor 的这个演讲,你会觉得你所会的所有的编程语⾔和⼯具都 out 了。在这个演讲中, Bret 展⽰了⼀个全新的代码编写⽅式。这种⽅式使你不必在脑中反复推演那些枯燥的逻辑。通过⼀种交互式界⾯,你可以直观的体验和感受到你的代码,计算机将替你完成其余沉闷的⼯作。这种⽅式不仅使学习编程变得更加简单,⽽且它从根本上改变了我们解决问题的⽅式。
另⼀些 UI 好货:
1. 《Stop Drawing Dead Fish | 别再画死鱼了》作者:Bret Victor。⽤计算机为艺术带去⽣机。
2. 《Media Thinking for the Unthinkable | “图说”不可想》作者:Bret Victor。为科学与⼯程学设计新的媒介。
3. 《Doing With Images Makes Symbols | ⽤图像制造符号》。Alan Kay。⼈类是怎样学习的以及怎样建⽴起能够⽀持这个学习⽅式的 UI。「你⾝体⾥想学习的那部分不会说英语。」
三、Programming language design | 编程语⾔设计
Rich Hickey是 Clojure 语⾔的开发者,将带领你从⼀个全新的⾓度去审视计算机科学的⼀些基本概念。
复杂度(Complexity)便是其中之⼀。Rich 将在这个演讲中指出能定义这⼀概念的最好的⼀些⼯具和最好的⼀门语⾔。
其他⼀些演讲:
1. 《Are We There Yet? | 我们距离未来还有多远?》。Rich Hickey。另⼀个有关基本原则的讲座。Hickey 将带领你重新审视状态,时间,⾝份,值和类型等⼀系列基础概念。
2. 《Growing a Language | 发展⼀门编程语⾔》。Guy Steele。这是我看过的有关编程语⾔最有智慧的演讲之⼀。虽然只有⼗⼏分钟,却回味⽆穷。java技术专家
3. 《The Science of Insecurity | 有关不安全性的科学》。Meredith Patterson。为什么说现在的系统和协议都是与⽣俱来的不安全?以及我们在未来怎样修复这种不安全性。
四、Software engineering | 软件⼯程
Greg Wilson 将带领⼤家仔细审视我们在软件⼯程中是怎样制定决策的。在开发中,我们往往需要做出各种决定,例如是⽤ Java 还是 Ruby?⽤ Play 框架或是 Rails 框架?是测试驱动开发还是敏捷开发?需不需要代码审查?等等。⼤多数情况下,我们对以上这些问题的答案通常只来源于⼀个单⼀的知识层⾯。⽐如说我们⾃⼰的想法,⽹络热点,外部趋势亦或者是⼀些奇闻轶事。⽽这个演讲提醒了
我们应当改变这种实践⽅式,进⽽转向另⼀个以循证为基础的软件⼯程模式。
其他好的演讲:
1. 《Real Software | 真 · 软件⼯程》作者:Glenn Vanderburg。⼤学课堂⾥所教的软件⼯程知识基本是没⽤的。按照他们所教的⽅法开发软件系统,不仅不能保证产品质量,⽽且也⽆法有效控制成本。甚⾄有些时候,按照这些⽅法根本开发不出任何系统。
2. 《Hammock Driven Development | 吊床驱动开发模式》作者:Rich Hickey。「绝⼤多数软件的重⼤缺陷通常都源于开发时错误的构想。」为了解决这种问题,开发者应该离开⾃⼰的电脑,并在⼀段时间内专注于构思软件,同时记录好⾃⼰的想法。
3. 《The Language of the System | 系统的语⾔》。Rich Hickey。我们通常过于专注于开发出⼀个完美的编程语⾔,然后⽤它去构建⼀个系统。但是我们是否想过去开发⼀种能⽤于不同系统之间的通信的语⾔呢?
五、Computers and learning | 计算机与学习
Daphne Koller 和 Andrew Ng 正在尝试着重新定义教育。他们创办了⼀个名为 Coursera 的在线教育机构。这个机构致⼒于把那些真正的⼤学课程,通过互联⽹免费普及到全世界。这个演讲中,他们讲
解了⼀系列他们应⽤在这个为数⼗万学⽣服务的在线课堂上的技术。其中包括在线视频,交流论坛,交互式UI,⾃动评分以及同学互评系统。通过Coursera 的运作,我们还获得了⼀个前所未有的,观察⼈类学习⽅式的⾓度。
其他⼀些有关教育的重要演讲:
1. 《Let’s use video to reinvent education | 让我们⽤视频改造教育》作者:Salman Khan。Koller 的演讲是关于⼤学教育的演讲。⽽ Khan 的演讲则讲述了怎样通过可汗学院来为上⼤学前的学⽣们提供在线教育。
2. 《Teaching Creative Computer Science | 创造性计算机科学教育》。作者:Simon Peyton Jones。每⼀个孩⼦都应该学习计算机科学,因为它能开阔他们的思路。
3. 《Machine Learning | 机器学习,⼀个爱情故事》。作者:Hilary Mason。当你们在谈论教书育⼈时我在谈论什么。
六、A career in programming | 以编程为业
六、A career in programming | 以编程为业
这个演讲绘制了⼀幅能让你不仅在研究领域,⽽且在其他任何领域都能获得成功的职业蓝图。所以,基于这个事实,⼈们还给这个演讲起了⼀个别名:「你和你的事业」。「为什么只有少数科学家才能在科学发展的进程中做出巨⼤的贡献,⽽其他很多科学家却在这个过程中逐渐被遗忘?」在讲座中,Richard Hamming 分享了他对这个问题的见解。他认为,其中最重要的因素包括了勇⽓,运⽓,动⼒(「知识和⽣产⼒像复利⼀样」),对重要问题的专注(「如果你不专注于重要问题,相当于你在做⽆⽤功」),开放的思想,推销⾃⼰成果的能⼒(「我建议你在阅读⼀份期刊的时候想⼀想,为什么我能读到这些⽂章?」),等等。这个讲座应该让所有⾼中⽣都看⼀看。
更多编程领域成功学:
1. 《The Myth of the Genius Programmer | 天才码农之谜》。作者:Brian Fitzpatrick 和 Ben Collins-Sussaman。这不是⼀个有关天才程序员或 10倍速编程⾼⼿的故事。这个演讲的主题是关于怎样建⽴⼀个为个⼈发展,团队合作能提供有效⽀持的企业⽂化,进⽽避免精英主义⽓氛的产⽣。
2. 《Programming Well With Others: Social Skills for Geeks | 与他⼈愉快的编程:技术宅的社交技巧指南》。Brian Fitzpatrick 和 Ben Collins-Sussaman。BB 组合再次联⼿告诉⼤家:⼀个成功的软件⼯程师的世界⾥不应该仅仅只有语⾔,编译器,调试器和算法。
3. 《Java Masterclass | Java ⼤师课》。作者:Angelina Fabbro。别让标题骗了你:这是⼀个让中级
⽔平的程序员能就任何话题(不仅仅是 Java)都谈笑风⽣的简明教程。
七、Computer gaming | 电脑游戏
当⼀个孩⼦从⾼中毕业的时候,他已经花了 10000 个⼩时在打游戏上⾯。这基本与他上学的时间相当(如果他从未缺课)。这些时间也⾜以让他们在某⼀领域成为专家。那在这 10000 ⼩时⾥他们究竟学到了什么?Jane McGonigal 将为你展⽰怎样运⽤这些时间和学习的过程让世界变得更美好。
更多好“游戏”:
1. 《The game that can give you 10 extra years of life | 给了我10年新⽣的那个游戏》。作者:Jane McGonigal。⼀个振聋发聩的演讲,有关游戏是怎样改善了 Jane 的⽣活。并介绍了在她经历了剧烈的⽣活动荡后,游戏是怎样帮助她⾛出⾃杀阴霾的。
3. 《Design Outside the Box | 创造性设计》。作者:Jesse Schell。当游戏⼊侵了我们⽣活的⽅⽅⾯⾯之后会发⽣什么?
⼋、Fun Talks | 趣谈
现在是轻松⼀刻。Gary Bernhardt 的 5 分钟 Wat ⼩视频。满满正能量。
其他的⼈⽣正能量罐:
1. 《Computers are a sadness, I am the cure | 计算机是忧伤的毒,我才是解药》。作者:James Mickens
2. 《Programming is terrible – lessons from a life wasted | 讨厌的编程 – ⼀个废柴的⼈⽣课》。作者:Thomas Figg
3. 《The Web Will Die When OOP Dies | OOP如果死了,Web还活着⼲什么》。作者:Zed Shaw

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。