知名著者結城浩:堅持作一件事而不厭倦,一旦厭倦立刻更換目標

非商業轉載請註明做譯者、出處,並保留本文的原始連接: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語言學習設計模式:多線程篇》這本書的時候,在書裏畫了這麼一個角色看成運行代碼的主體,今後以後我就用這個形象來表明本身了。個人推特頭像,以及我在書上簽名的時候都會用這個形象。之因此不公佈照片,主要仍是出於信息安全的考慮,我不喜歡主動公開本身的隱私。

圖靈訪談:感謝結城浩先生,但願您能帶給讀者更多的精彩書籍!

結城浩:最後我想說,感謝你們喜歡我寫的書,也感謝你們對個人工做和我的報以如此的興趣。我從此還會積極地寫更多快樂和有趣的做品,但願你們繼續支持,謝謝。


圖靈訪談特約記者:

圖片描述

更多精彩,加入圖靈訪談微信!

圖片描述

相關文章
相關標籤/搜索