唐纳德 高德纳给年轻人的建议 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:三元操作符 ...
随机推荐
- 三元运算符2>1?true:false;
1.说明: xxx?xxx:xxx; 第一个'xxx'是写条件语句,条件自己根据需求定 第二个'xxx'是当条件为真时会得到的值 第三个'xxx'是当条件为假时会得到的值 2.例子: 代码: bool ...
- 转-Gitorious搭建步骤
先标记一下,后续手动验证 http://blog.csdn.net/king_sundi/article/details/7457475 安装Gitorious Git是一个分布式的版本控制系统,用于 ...
- IBM的websphere MQ的c#使用
1.关于websphere MQ的常用名词(针对Websphere MQ7.5版本) 队列管理器:为应用程序提供消息传递服务的程序.使用消息队列接口(MQI)的应用程序可以将消息放置到队列并可从队列中 ...
- Java提高十七:TreeSet 深入分析
前一篇我们分析了TreeMap,接下来我们分析TreeSet,比较有意思的地方是,似乎有Map和Set的地方,Set几乎都成了Map的一个马甲.此话怎讲呢?在前面一篇讨论HashMap和HashSet ...
- 一个在java后台实现的对图片进行加网纹或水印的工具类
import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; import java.awt.Graphic ...
- react native android6+拍照闪退或重启的解决方案
前言 android 6+权限使用的时候需要动态申请,那么在使用rn的时候要怎么处理拍照权限问题呢?本文提供的是一揽子rn操作相册.拍照的解决方案,请看正文的提高班部分. 解决步骤 1.Android ...
- async await Task
一.使用Task 引用命名空间 using System.Threading.Tasks; 1.工厂方式 Task.Factory.StartNew(() => {Console.WriteLi ...
- OC的特有语法-分类Category、 类的本质、description方法、SEL、NSLog输出增强、点语法、变量作用域、@property @synthesize关键字、Id、OC语言构造方法
一. 分类-Category 1. 基本用途:Category 分类是OC特有的语言,依赖于类. ➢ 如何在不改变原来类模型的前提下,给类扩充一些方法?有2种方式 ● 继承 ● 分类(Categor ...
- 11个优秀的Android开发开源项目
一. 一个类似微信的时光轴效果 时光轴效果 项目地址 https://github.com/ljtyzhr/TimeLine 二. 安卓选择器类库,包括日期.时间.单项.双项选择器.城市地址选择器 ...
- 解决阿里云服务器3306端口无法访问的问题(windows server 2008r2)
3306端口一般是指mysql数据的默认端口.郁闷了几天的问题,远程无法连接服务器上的mysql服务.今天终于得到彻底解决. 首先,你要确保在服务器上安装好Mysql,并能本地启动.修改密码(如不知道 ...