非商业转载请注明做译者、出处,并保留本文的原始连接:http://www.ituring.com.cn/article/216181程序员
结城浩(Hiroshi Yuki),1963年出生,居住于东京都武藏野,有两个儿子。职业为程序员(应该是自由职业)、技术做家、虔诚的新教教徒,对传教很热心。喜好语言文字、读书(宗教、小说、科普类)、巴洛克音乐。算法
1993年出版了第一本书《C语言编程精华》,至今为止共计出版图书44种(含修订版),主要包括:编程
C语言:8种设计模式
Perl:4种安全
Java:11种微信
密码学:3种网络
数学:3种多线程
《数学女孩》系列:12种机器学习
目前依旧在写网络连载《数学女孩的秘密笔记》,连接地址https://cakes.mu/series/339,这个系列已经出了7本单行本。函数
2013年至2015年,在《Software Design》杂志上连载专栏《再发现的思考法》,从一些技术术语中找到新发现,连接地址http://www.hyuki.com/discover/
编者的话:
结城浩先生接到图灵访谈的邀请后,第一时间接受了访谈。回答读者提问的过程当中,还不时就访谈问题进行沟通交流,让人感到满满的认真负责。编者认为,结城浩先生必定是一位漫画里走出来的、温暖的人吧~
图灵访谈:您20多年的时间里总共出版了40多本图书,平均一年两本,并且内容和形式很是多样。除此以外,还要写网络和杂志专栏。您认为本身算不算是一个“高产”的做家?您如此高产的秘诀是什么?
结城浩:其实也没有什么秘诀。我原本就很喜欢写做,或者说喜欢将本身的思想用文字表达出来。所以,我并无刻意地去想着要多写几本书或者是要当一个“高产”的做家,我只是坚持作本身喜欢的事而已。个人性格里有两个看似矛盾的方面:一个是“长期坚持作同一件事而不感到厌倦”,另外一个是“一旦感到厌倦了,立刻换新的目标”。也许,这两点对个人“高产”有必定的贡献吧。
图灵访谈:您在网站上说“我一直在写新书”,能透露一下如今在写的新书是关于哪方面的吗?您还有不少书没有和中国读者见面,您但愿推荐给中国读者的下一本书是什么?
结城浩:如今(2016年6月)我正在写的书有两本,一本是《数学女孩》系列的第6本——《数学女孩6》,另外一本是《数学女孩的秘密笔记》系列的第8本——《数学女孩的秘密笔记:简单的统计》,其中《秘密笔记》应该会先上市。按照如今出版的顺序来看,中国读者应该会先看到《数学女孩3:哥德尔不完备定理》,但其实我也很想推荐《数学女孩的秘密笔记》系列。《秘密笔记》系列讲的数学知识比较浅显,对话风格也比较活泼,并且它和《数学女孩》系列之间是相互独立的,系列中的每一本之间也是独立的,从任何一本开始读均可以。我但愿可以有更多的中国读者阅读和喜欢个人书!
图灵访谈:您写的书里面有C语言、Java语言这样的技术书,也有《数学女孩》这样的青春小说,您以为写技术书和写小说感受有哪些不一样,您更喜欢写哪种书呢?
结城浩:我以为这两种并无太大的不一样。咱们想要传达的不少价值自己就很是复杂,我喜欢把它们用尽可能通俗易懂的方式讲出来。从这一点上来讲,无论是编程的话题仍是数学的话题,讲法都是同样的。只不过《数学女孩》从体裁上来讲不是我来说,而是小说里面的人物来说。若是问更喜欢写哪种,我想说,至今写的全部的书都是由于喜欢才写的,没有任何一本是出于什么义务或者在别人的要求下写出来的。
图灵访谈:《图解密码技术(第3版)》中文版立刻就要上市了,这本新版里面有哪些特别值得推荐的内容?
结城浩:第三版在总体上进行了信息的更新,另外增长了一些新的内容,如SHA-3的选拔过程以及其算法(Keccak)的结构、POODLE等对SSL/TLS的各类攻击方式、认证加密、椭圆曲线密码,还介绍了比特币是如何经过各类密码技术的有机结合设计出来的。第三版在日本的反响很是好,即便在算上小说等通常读物的状况下,甚至可以在某些书店里排到综合第二位。
图灵访谈:《图解密码技术》一书中提到PGP的做者Phil Zimmermann曾引起了一场关于“密码自由”的大论战,至今依然有人认为密码技术可能成为恐怖分子的帮凶,应该像武器同样进行管制,您我的如何看待这一问题?目前量子密钥分发技术也正在快速发展,中国的京沪广域量子通讯专线将于今年年末交付使用,这种“没法破译”的密码技术会不会再一次引起一场相似的论战?密码技术的将来又是什么样的呢?
结城浩:个人知识水平还不足以讨论密码技术的将来是什么样的,不过就如今来看,“认证”比“加密”更重要,进一步说就是“信任”的问题。好比说,当你看到某我的的发言时,你肯定发言的人就是你所设想的那我的本人吗?正在和你进行交易的人,真的就是你所设想的那我的吗?
“没法破译”这个词看起来很吸引人,但若是这里的没法破译仅限于“机密性”这个层面的话,你们应该意识到,这种技术只是咱们所指望的“安全”中的一小部分而已。恐怖分子当然可怕,那么国家就不可怕了吗?若是说恐怖分子不值得信任,那么国家就必定值得信任吗?讨论到这里,咱们已经离技术的话题很远了呢,但不管如何,我认为咱们每一个人都应该对技术有充分的认识和理解,这一点仍是很是重要的。
图灵访谈:除了做家以外,您还有一个身份是程序员,曾经还开发了一款在日本很是流行的维基引擎。当初您是如何想到开发这个软件的?后来您又开发过哪些其余的软件呢?
结城浩:日本有一款很是流行的维基引擎叫作PukiWiki,这个软件其实并非我开发的,但它最先的版本是我编写的一个叫作YukiWiki的维基引擎。在YukiWiki的基础上,PukiWiki把Perl移植到PHP。当初之因此要开发YukiWiki,只是由于我知道了维基这个东西,想本身作一个玩玩而已(动机很单纯对吧)。除了这个之外,我本身还开发过一个叫作MakeWeb的软件,它能够将纯文本转换成HTML和LaTeX。开发这个软件是为了方便开发本身的网站。其实MakeWeb就至关于如今的Markdown,只不过我当时写这个软件的时候是1996年(!),那时候尚未Markdown呢。我还编写过其余一些小的工具或者脚本,基本上都是为了方便本身写书用的。
图灵访谈:日本的程序员生活是怎样的?工做起来,尤为是进入某个项目后,就不考虑生活中的其余事情,专一工做吗?对于如何平衡生活与工做,您有什么建议?
结城浩:“日本的程序员”仍是太宽泛了,不一样的行业其工做状态也不一样。有些人天天要花不少时间在公司里,也有些人可以很好地平衡工做和生活。我离开公司不作全职程序员已经好久了,固然那个时候确实工做时间很是的长,但本身确实又没有什么办法解决这个问题,感到很苦恼。如今看起来,当时本身还不够成熟,没有办法很好地管理本身的工做,因此其实我也没办法给你们太多的建议。
不过话说回来,“平衡生活和工做”原本就并不容易,要达到这样的状态得有本身的想法,靠“别人说应该如何如何”并非长久之计。由于工做和生活之间密不可分,同时做为他们做为一个总体又和人的价值观密不可分,对于从事智力活动的人来讲尤为如此。单纯地增长私人时间确定是不行的,或许将时间简单地划分为“工做”和“生活”这样的二元论原本就不是一种合理的思考方式?所以我认为,知难而进、独立思考,这两点都是很重要的,不管工做仍是生活,都是人生的重要一部分。
图灵访谈:在技术更迭飞快的时代,计算机从业者经常会担忧被时代抛弃,由于新技术不断涌现,但本身又对这些技术只知其一;不知其二,不少人所以患上了“技术恐慌症”,您是否也有一样的感觉?对于“如何才能不被时代抛弃”,您有什么建议?
结城浩:我在网上写过一组文章“程序员的心理健康“,其中就有一个关于“信息恐慌”的段落,写的就是新的东西层出不穷,让人们感到恐慌的这样一种心理状态。在那个段落中我给出了一些建议,就是培养一种“其实这是个机会”的心态。感到技术更迭飞快的并不仅有你一我的,全部人都是,所以其中必定可以找到你施展的空间,不是吗?
程序员的心理健康——关于“信息恐慌”(译文)
计算机的世界瞬息万变,让人感受彷佛不努力往前跑就会被抛弃,的确,现实中真的有由于这样的缘由丢了饭碗的人(对吧?)。
因而你得常常看计算机杂志和专业的书籍,还得订阅一些邮件杂志,上网收集各类资料,否则彻底跟不上话题,由于新的东西出来得太快,新产品、新编程环境……
但要是终年累月过这样的生活,恐怕神经要崩溃了。其实我也是这么过来的,以致于有时看到专业杂志和书籍都会感受头疼,如今也会如此。
所谓“信息恐慌”,其根源就是以为必须得不断的获取新的信息,但又被日趋膨胀的信息量压得喘不过气来。我不知道到底有没有这么一个词,就当是我为本身身上的症状起个名字吧。
那么到底应该如何摆脱“信息恐慌”呢?当我遇到相似感受的时候,我会想“不,其实这是个机会”。
唉,最近出来好多新的概念,有好多东西要学啊→“不,其实这是个机会”。要学的东西不少,对于全部人都是同样的,若是我能把本身理解的部分很好地讲给别人听,这不就是我发挥价值的机会吗?有了这种积极的心态,就会感受好多了(至少我是这样)。
还有一种方法,就是当感受出现“信息恐慌”的时候,可以清醒地认识到本身可能已经太累了,须要调整一下。就好像编译代码的时候看到warning,就要停下来把代码检查一遍同样,当感受出现“信息恐慌”的时候,也要停下来把本身的生活检查一遍。不要陷入恐慌之中,而是把恐慌看成本身健康情况的一个报警器就行了。
再或者,喝点酒睡一觉可能也是个不错的主意吧。
(1996年10月10日)
图灵访谈:您写了不少和数学相关的著做,书中的巧妙证实过程,老是给读者以强烈的震撼,大多读者表示本身永远也想不出这样的解法。您认为数学学习和天赋有关系吗?您本身学习数学的经历是怎样的,遇到过什么困难,有什么值得分享的故事?
结城浩:我本身对数学固然也有喜欢和不喜欢的部分,也有擅长和不擅长的部分。对于那些最顶尖的数学家来讲,必定的天分和直觉确定是须要的(固然,我并非数学家)。不过数学书籍上面写的那些东西,其实都是成百上千年来各个时代最优秀的头脑的智慧结晶,因此我以为看到这些东西的时候真的没有必要感叹“本身永远想不出”。个人书里的那些内容,抛开展示的方式,其最本质的内容大部分都是引用其余参考文献的。我写书的过程,其实就是从本身读过的不少书中进行思考,并把头脑中闪过的感动用文字表达出来而已。我但愿可以将本身从知识中得到的喜悦和感动更多地传达给个人读者。
图灵访谈:《数学女孩》描述的高中生活没有围绕成绩、题海展开,反而尽现了追求数学魅力的青春记忆,您当初为何会想到用青春小说这样的体裁来写数学的故事呢?有读者感叹,若是有这般的数学教科书,数学教育必定会提高一大截。若是改革教科书,您最想从哪些方面入手?您认为日本与其余国家的数学教育有哪些最主要的区别?
结城浩:我写《数学女孩》的缘起和详细通过都写在一本叫《数学女孩的诞生》的书里。最初想着写一本数学读本的时候,脑子里出现的形象就是一个擅长数学的少女,而后我就在网上写了数学女孩的原型故事。其实我也不明白为何会这样写,好像在我内心,用“故事”和“对话”来聊数学就是一种很天然的风格。
数学故事和教科书所需的要件不一样,改革教科书可没有那么容易。教科书的前提是让老师来教,和能够自由阅读的故事书从构成上就彻底不一样。我不知道其余国家的教科书是什么样的,至少日本的数学教科书中不多有不许确和不恰当的描述,从准确性来讲质量仍是很高的。我掌握的信息有限,没办法从总体上去讨论数学教育,不过我但愿数学教育可以多向学生展示数学的魅力,让他们更有兴趣和动力去学习数学。数学原本是一个颇有魅力的学科,我感受人们过于厌恶它了。
图灵访谈:有部分计算机从业者认为,在实际项目中,数学的做用彷佛并不大,但与此同时咱们也看到,伟大的程序员,如高德纳、Linus,却又无不精通数学。做为程序员,您长于数学的背景,带给您怎样的专业收获和生活体验?
结城浩:其实在不少领域,数学知识都可以直接在编程中派上用场。好比说,若是不懂离散数学、集合、逻辑、进制的相关知识,可能没有办法很好地编程;若是不懂三角函数等函数以及几何学、矩阵和简单的微分方程,可能也很难去编写游戏方面的程序;对于最近流行的人工智能和机器学习,若是不懂几率和统计的话也很难下手。然而,对编程有用的并不仅是数学“知识”,还有学习数学所接受的“训练”过程自己。将现实中的事物转化成模型,用抽象的概念和人造的语法与规则去表达出来,从这一点来看数学和编程实际上是很是类似的智力活动呢。
图灵访谈:今年AlphaGo引爆了机器学习和人工智能相关的领域,这是否意味着对于程序员来讲,学好数学变得愈来愈重要呢?对于程序员如何学好数学,您有哪些建议呢?
结城浩:“因为人工智能和机器学习的兴起,对于程序员来讲学好数学变得愈来愈重要了”,对于这一点我以为很难简单地作判断。程序员很善于对功能进行封装,就算是人工智能和机器学习这种看似高深的东西,未来一定会出现不少面向“用户”封装好的系统和服务。固然,精通数学并无坏处,我也不是说数学就没那么重要了,我只是想说数学一直都很重要,和当下流行什么东西没有什么关系。
关于对读者的建议,我就简单说说吧。不少程序员对数学,特别是数学公式有一种抵触情绪。我认为即使不懂具体的理论,也应该养成遇到公式都仔细看一遍的习惯,日常先掌握一些基本的数学知识,遇到须要深刻学习的部分再去探索就好。
图灵访谈:您是基督教徒,能简单介绍一下这方面的经历和感觉吗?您又是如何看待信仰与科学技术之间的关系呢?
结城浩:我在20多岁的时候有过一段很是痛苦的时期,在此以前,我一直相信人能够靠本身的力量在这个世界中纵横驰骋,但后来我发现本身的这个想法太傲慢了。当遇到本身不管如何也无能为力的情况时,除了苦恼真的机关用尽。就在那个时候,我开始信圣经中的基督,并成为了一名基督教徒。此后,我每周都去教堂,读圣经,过着信仰上帝的生活。
我写了不少技术方面的书,可是我却信基督。对于这一点可能不少人抱有疑问,他们可能以为信仰上帝是一种不科学的行为。我认为信仰上帝和用科学方法去思考这二者并不矛盾,由于它们各自所涉及的范围不一样。相信圣经上的文字,这一信仰是用来回答“我为了什么活在世上”这个问题的,而不管再怎么学习科学,也绝对没法回答“我”这个特定个体应该如何行动这样的问题。科学的目的是解开“世界的奥秘”,没法解开“我这我的的奥秘”。我本身的人生何去何从,这其中的奥秘是须要经过信仰来学习的。
图灵访谈:您彷佛在网上历来不公开本身的照片,而是一直用一个小妖怪的头像。您不喜欢抛头露面的主要缘由是什么?用这样一个头像背后有什么故事吗?
结城浩:我一直不公布本身详细的平生经历和照片,用的那个头像名字叫做“Thread妖怪娃娃”,是我本身画的,其中thread一词的意思是多线程编程里面的“线程”。我写《用Java语言学习设计模式:多线程篇》这本书的时候,在书里画了这么一个角色看成运行代码的主体,今后以后我就用这个形象来表明本身了。个人推特头像,以及我在书上签名的时候都会用这个形象。之因此不公布照片,主要仍是出于信息安全的考虑,我不喜欢主动公开本身的隐私。
图灵访谈:感谢结城浩先生,但愿您能带给读者更多的精彩书籍!
结城浩:最后我想说,感谢你们喜欢我写的书,也感谢你们对个人工做和我的报以如此的兴趣。我从此还会积极地写更多快乐和有趣的做品,但愿你们继续支持,谢谢。
图灵访谈特约记者:
更多精彩,加入图灵访谈微信!