唐纳德 高德纳给年轻人的建议 Donald Knuth - My advice to young people
From: Donald Knuth - My advice to young people (93/97)
译者: 李秋豪
原文
Donald Knuth (b. 1938), American computing pioneer, is known for his greatly influential multi-volume work, 'The Art of Computer Programming', his novel 'Surreal Numbers', his invention of TeX and METAFONT electronic publishing tools and his quirky sense of humour. [Listener: Dikran Karagueuzian]
TRANSCRIPT: If somebody said what advice would I give to a... a young person - they always ask that funny kind of a question. And... and I think one of the things that... is... that I would... that would sort of come first to me is this idea of, don't just believe that because something is trendy, that it's good. I'd probably go the other extreme where if... if something... if I find too many people adopting a certain idea I'd probably think it's wrong or if, you know, if... if my work had become too popular I probably would think I had to change. This is, of course, ridiculous but... but I see the... I see the... the other side of it too... too often where people will... will do something against their own gut instincts because they think the community wants them to do it that way, so people will... will work on a certain... a certain subject even though they aren't terribly interested in it because they think that they'll get more prestige by working on it. I think you get more prestige by doing good science than by doing popular science because... because if... if you go with... with what you really think is... is important then it's a higher chance that it really is important in the long run and it's the long run which... which has the most benefit to the world. So... so usually when I'm... when I'm writing a book or... or publishing a book it's... it's different from books that have been done before because I feel there's a need for such a book, not because that... there was somebody saying please write such a book, you know, or... or that other people have... have already done that... that kind of thing. So follow your own instincts it seems to me is better than follow the... the herd. I... my friend Peter Wegner told me in the '60s that I should, for Art of Computer Programming, I shouldn't write the... I shouldn't write the whole series first, I should... I should first write a... a reader's digest of... of it and then expand on the parts afterwards. That would probably work for him better than... much better... but I... I work in a completely different way. I have to see... I have to see something to the point where I've surrounded it and... and, sort of, totally understood it before I'm comf... before I can write about it with any confidence and so that's the... that's the way I work, I don't... I don't want to write about a high level thing unless I've fully understood a low level thing. Other people have completely different strengths I... I know but... but for me, I... you know, I wrote a book about the... a few verses of the Bible, once I had... once I understood those verses and... and sort of everything I could find in the library about a small part of the Bible, all of a sudden I had firm pegs on which I could hang other knowledge about it. But if... but if I went through my whole life only under... without any... any in depth knowledge of any part then it all seems to be flimsy and... and to me doesn't... doesn't give me some satisfaction. Well the... the classic phrase is that liberal education is to learn something about everything and everything about something and... and I like this idea about learning everything about... about an area before you feel... if you don't know something real solid then... then you never have... have enough confidence. A lot of times I'll have to read through a lot of material just in order to write one sentence somehow because... because my sentence will then have... have... I'll choose words that... that make it more convincing than if I... than if I'm... than if I really don't have the knowledge it'll somehow come out implicitly in... in my writing. These are little sort-of-vague thoughts that I have when reflecting over... over some of the directions that distinguish what I've done from what... what I've seen other people doing.
译文
如果有人问到我会给年轻人什么建议——他们总是问这些好玩的问题,第一个浮现在我脑海中的想法就是不要认为主流的东西就好。我可能会有些极端,如果我发现很多人都接受一个观点,那我可能会认为它是错误的,比如我的某个成果变得很出名我就会想办法做一些改变。
当然,这听起来有些荒谬,但是我确实看到了很多例子——很多人会违背他们内心的直觉因为社区/大众希望他们那么做,所以他们都开始在一个他们并不感兴趣的领域下功夫以期得到更多的名誉。而我认为如果你研究“好的”科学而非“大众/受欢迎”的科学你才会得到更多的名誉。因为从长远来看,做你认为重要的事会更可能对这个世界产生最有益的影响。
通常当我出一本书的时候,这本书是不同于现存的书的——我出这本书是因为我认为有这个需要而非有人恭维我出这样的书或者因为别人已经写过此类的书。遵从你的内心而非主流大众。60年代我写《计算机程序设计艺术》的时候,我的朋友Peter Wegner告诉我应该先列出来读者的口味然后从这些点扩展而非直接写整个序章。这可能对他很有帮助,但是我完全不是这么想的——我必须对“圈出”的关键点完全理解才会有写下去的信心。
我不会写高层次的东西除非我完全理解了低层次的东西。我知道别人擅长的和我完全不同,我仅仅写出“圣经”的一小部分诗,当我完全理解这一小部分后,突然间我就能获得关于这一部分的其他知识。如果我的一生都没有得到深层次的知识,那对我来说是浅薄和不满足的。有句话说的很经典:素质教育是“通百艺,专一长”。我喜欢“专一长”这个说法。如果你不能对某个领域的知识掌握的非常牢固,你就不会有足够的信心。很多时候我查阅大量的资料仅仅是为了写出一句话,因为我希望我的语句足够有说服力而非我自己都不知道这句到底是怎么来的。
这大致就是我观察思考自己做过的和别人做过的事而产生的一些想法。
唐纳德 高德纳给年轻人的建议 Donald Knuth - My advice to young people的更多相关文章
- Donald Ervin Knuth:最年轻的图灵奖高德纳
		
高德纳(Donald Ervin Knuth,1938年),美国著名计算机科学家,斯坦福大学电脑系荣誉教授.高德纳教授被誉为现代计算机科学的鼻祖,在计算机科学及数学领域发表了多部 具广泛影响的论文和著 ...
 - [python,2018-06-25] 高德纳箭号表示法
		
概念 高德纳箭号表示法是种用来表示很大的整数的方法,由高德纳于1976年设计.它的意念来自幂是重复的乘法,乘法是重复的加法. 定义 计算 一个箭头 2↑3=2×2×2=8 2↑4=2×2×2×2=16 ...
 - Donald Knuth
		
看了<李开复给计算机系大学生的建议>这篇文章,让我对Donald Knuth这个人产生了兴趣,他是何许人也?于是便有下文. 引用:(1)练内功.不要只花功夫学习各种流行的编程语言和工具,以 ...
 - 计算机鼻祖-Donald Knuth(高纳德) 的传奇
		
李开复说,练内功,不要仅仅花功夫学习各种流行的编程语言和工具,以及一些公司招聘广告上要求的科目.要把数据结构.算法.数据库.操作系统原理.计算机体系结构.计算机网络,离散数学等基础课程学好.最好还是试 ...
 - 高德纳/Donald Ervin Knuth
		
丸了丸了这位就是我人生的第一位爱豆了owo 感觉他的经历,气质都是我期望的类型呀. 即使没有人家的智商和绝顶天赋,也不断向彼努力吧. 从小喜欢音乐,会多种乐器(管风琴) 其实长得人高马大,高中校篮球队 ...
 - 书写高质量sql的一些建议
		
It's better to light a candle than to curse the darkness 老生常谈的不要使用select * 如果硬要使用select *,那么就请忍受一下以下 ...
 - My advice to young people - Donald Knuth [video]
		
http://www.youtube.com/watch?v=75Ju0eM5T2c I took a note of what knuth said in the video. 1. Don't d ...
 - 编写高质量代码改善C#程序的157个建议[IEnumerable<T>和IQueryable<T>、LINQ避免迭代、LINQ替代迭代]
		
前言 本文已更新至http://www.cnblogs.com/aehyok/p/3624579.html .本文主要学习记录以下内容: 建议29.区别LINQ查询中的IEnumerable<T ...
 - Java编写高质量代码改善程序的151个建议
		
第一章 Java开发中通用的方法和准则 建议1:不要在常量和变量中出现易混淆的字母: (i.l.1:o.0等). 建议2:莫让常量蜕变成变量: (代码运行工程中不要改变常量值). 建议3:三元操作符 ...
 
随机推荐
- Velocity(2)——常用语法
			
Velocity是一个基于java的模板引擎(template engine),它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象.作为一个比较完善 ...
 - JS小游戏:贪吃蛇(附源码)
			
javascript小游戏:贪吃蛇 此小游戏采用的是面向对象的思想,将蛇,食物,和游戏引擎分为3个对象来写的. 为方便下载,我把js写在了html中, 源码中暂时没有注释,等有空我在添加点注释吧. 游 ...
 - [转]如何监测谁用了SQL Server的Tempdb空间
			
Tempdb 系统数据库是一个全局资源,供连接到 SQL Server 实例的所有用户使用.在现在的SQL Server里,其使用频率可能会超过用户的想象.如果Tempdb空间耗尽,许多操作将不能完成 ...
 - Shiro SpringMVC 非maven HelloWorld
			
项目用到Shiro就从网上找一些案例看看吧,结果看了很多都是maven的,没有办法就自己弄了一个.废话不多说,原理自己找开始上菜. 配置web.xml <?xml version="1 ...
 - Java多线程学习之ThreadLocal源码分析
			
0.概述 ThreadLocal,即线程本地变量,是一个以ThreadLocal对象为键.任意对象为值的存储结构.它可以将变量绑定到特定的线程上,使每个线程都拥有改变量的一个拷贝,各线程相同变量间互不 ...
 - 从cdn说起
			
为什么要使用cdn 雅虎军规有一条规则建议我们是用cdn.随便在网上搜索,可以找到使用的cdn的好处. 再次强调第一条黄金定律,减少网页内容的下载时间.提高下载速度还可以通过CDN(内容分发网络)来提 ...
 - udp和tcp
			
tcp(Transmission Control Protocol 传输控制协议) 协议复杂,有序和可靠.编号和分段实现了有序,ACK(acknowledge)和重新发送实现了可靠. 滑窗实现了同时发 ...
 - hotspot虚拟机的调试
			
3这篇文章,怎么说呢.是踩了很多坑得出来了,也是在自己快要崩溃的时候得出来了的. 连续踩了差不多10来个小时的坑,还好是出来了. 这篇文章是调试虚拟机的,其实网上也能找到一些文章,但是每个人的环境不一 ...
 - Python学习笔记整理总结【web基础】【web/HTML/CSS/JavaScript/DOM/jQuery】
			
一.HTML HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记).相当于定义统一的一套规则,大家都来遵守他,这样就可以 ...
 - SaltStack 架构自动部署 03
			
架构图 模块化部署 系统模块:系统优化,内核参数,网络参数 功能模块:如:nginx,tomcat, 业务模块: 1.在salt-master端修改配置文件 [root@01 salt]# vim / ...