Swift開發者大會組織者樑傑:你的到來是一個重要的決定(圖靈訪談)
樑傑,前端工程師,業餘喜歡寫Python和Swift。組織翻譯了蘋果官方的《Swift程式語言》和Accessibility Programming Guide for iOS,獨立翻譯了《程式設計導論》,合譯了《Python語言及其應用》和《你不知道的JavaScript(上卷)》。除了程式設計和翻譯,樑傑還維護著SwiftGG翻譯組和Swift開發者週刊。他正在組織籌備“中國首屆Swift開發者大會”,希望通過自己的努力為技術發展作出貢獻。
Swift在2014年第一次釋出時,中文版的The Swift Programming Language在短短的9天之後就出現在了中國iOS開發者的眼前。這次翻譯的組織者正是樑傑,他和他的SwiftGG翻譯組在更新完Swift 2.0之後,仍然活躍在翻譯國外最新Swift文章的第一線。樑傑籌備的中國首屆Swift開發者大會即將在2016年1月舉行,這場不免費、不盈利的技術大會卻招攬來了眾多開發者和嘉賓,就讓我們一起來探尋一下究竟吧。
問:能不能談一下你學習程式設計的經歷?
我最早開始學習程式設計大概是初二的時候。我同學拿了一本《黑客手冊》,然後我就在閱讀課上看那本書,看了5、6遍還是看不懂,但是我覺得很有意思。從那之後,那本雜誌每期我都去買。後來我發現想要真的掌握黑客技術還得學程式設計。雖然書裡面的工具可以隨便用一用,但是深入就不行了。於是我就開始學程式設計。當時有一個工具叫按鍵精靈,主要用來做簡單的外掛。當時我學這些主要是為了賺錢,後來也確實掙了一千塊錢,但也只掙了一回。因為當時程式沒有做好,說實話我把人家給坑了。後來高中我開始參加計算機競賽培訓,學習演算法和資料結構,所以就不怎麼學做外掛了。計算機競賽省級的一等獎是可以加分的,而我獲得了二等獎中的第一名。雖然有些遺憾,但是現在想想如果當時能夠申請保送,可能我就不一定能進北航了。
問:在北航讀大學期間是怎麼學習的?
我大學學的是計算機,但是並沒有特別認真聽課。我高中時買了很多計算機書籍,但是沒有那麼多時間看,就拿到了大學。大學開學時,我搬了兩箱書去,其中就有一本關於Python的書。後來上大一的時候有一段時間閒得沒事就看這本書,一翻才發現Python真的很好學,學會以後就用它做網站。大一暑假時,我和我的一個朋友花了兩週時間做了第一個網站。我們每天早上睡醒就寫程式碼,寫到晚上睡覺。
後來再做網站就簡單多了,但是我發現沒人給我們寫前端頁面,所以我只能自己寫。寫著寫著我發現前端也挺有意思的,所以從大二大三開始我就主要做前端了。去年的時候,我開始學習iOS,既然前端和後端都做過,我覺得我也應該學習一下移動端。
問:你現在在360從事什麼工作?
我現在在網址導航組從事前端工程師的工作。
問:你覺得移動開發(iOS和Swift)跟你對前端的興趣有什麼關係?
我發現前端和移動端的很多思路是一樣的。比如說頁面佈局,前端有一個很麻煩的問題就是需要建立不同的螢幕大小,現在iOS也有這個問題。因為面臨的問題很類似,所以解決的思路也很像。甚至有一種說法叫做泛前端,指的就是iOS和前端,總體都可以歸為前端,這是從產品的角度來說的。從技術上說,實際上iOS很多資料功能都在後端伺服器那裡,而iOS很大程度上只是用於展示的一層皮。
問:Swift剛出來的時候,你為什麼要組織翻譯《Swift程式語言》(The Swift Programming language)和相關文章?
我當時本來不是做iOS的,但是我想,移動端Java我就不太熟,iOS如果也不會,就相當於移動端完全不行了,於是我就想學Swift。蘋果剛釋出Swift的時候,我看到微博上有一個人翻譯了《Swift程式語言》的第一章。看了以後我就想,其實我也可以翻譯。我本打算一邊翻譯一邊學,這樣可能會掌握得比較好。我當時還算過,一共600多頁,我大概3、4個月能翻譯完。於是我就把第一章重新翻譯了一下,又翻譯了第二章的一部分,把這個專案放到了GitHub上,然後我發到微博上告訴大家我翻譯了這本教程並且想把這件事做下去。後來微博上的幾個大號幫我轉發了一下,從那之後就有很多人開始關注,也有很多人開始參與了。再後來我發現參與的人越來越多,達到20個人以後,我的工作就成了協調這個專案。
問:這個專案是怎麼變得這麼火的?你們是怎麼超越其他翻譯組的?
其實有一個最根本的原因就是我們速度非常快。從Swift正式釋出出來到我們釋出中文版只用了9天。在這段時間內,熱度還沒有過去,大家都在關注。我們基本上可以算是同步了。
問:你們一開始就承諾了9天這個期限嗎?
我們做了4、5天之後,發現速度真的很快。我就算了一下,跟大家討論說,我們爭取9天完成,因為10天就是兩位數了,效果就不一樣了。
但是遺憾的是,質量可能確實不過關。我認為這個翻譯專案對於技術發展的意義,可能比它本身內容的意義要大一些。所以現在我都是鼓勵學習者最好直接去看英文原文。
問:你在翻譯《Swift程式語言》還有現在Swift 2.0升級版的過程中都遇到過哪些困難?
其實最大的困難就是剛才說的質量問題。當時翻譯完Swift 1.0,釋出之後我把翻譯組的QQ群號公佈了。我本以為,既然從一個人到20多個人,整個翻譯計劃就變得完全不一樣了,那麼更多的人來做的話,質量肯定會提高得更快。我公佈QQ群號之後,實際上加到三四百人的時候,我就發現其實參與的人並不多。而且還導致了一個問題,我已經找不到第一批參與的人了。20個人的公司跟200個人的公司肯定不一樣。最後的結果就是對這個專案的維護變得很困難。
蘋果更新得非常快,今年出2.0之前,我們在很長一段時間內都沒辦法跟蘋果同步。今年2.0正式出來時,我一開始是不準備做的,後來好多人來問我,我想既然這麼多人都有興趣,我們就做一下。這次做完之後我們就把原有團隊保留了下來,我不會再把這個號發出去,就我們這20幾個人。如果蘋果更新到2.1,我們再重新分配任務去做,這樣我們就能長期維護了。今後,我想我們還是要多加一些環節,比如讓兩個人來審校,包括後面我們釋出出去之後,有一些認真看了的人會給我們反饋,我們會不斷修改。
問:你們有一個叫做SwiftGG的翻譯組,專門翻譯Swift領域的最新文章,我聽說你們最近獲得了正版授權,關於SwiftGG還有什麼有意思的事嗎?
其實這個組就是我們2.0的團隊,當時更新完《Swift程式語言》後,大家就覺得我們要不再幹點什麼事,反正都湊到一塊了。於是我們就一起開始做翻譯組。
一開始我們就是拿國外的原文來翻譯。我有一個外國朋友,他叫John,可能四五十歲了,他自己做了一個國外的Swift週報,質量很高。他知道我在翻譯國外的文章後就問我,你有沒有授權?我說沒有授權。他說你這個沒授權是侵權的。我一開始不當回事,國情就是這樣,你管我那麼多。但是他後來一直跟我說,甚至還給我發美國法律的網站。如果只是發一個連結或者一小段簡介是不侵權的,因為內容最終還是要去人家的網站看。但一旦把內容拿出來,包括翻譯,都是不行的。網站上預設是有版權的,除非宣告CC才可以。後來我想這確實是個麻煩,而且如果我們真的做得比較大了,這也是一種隱患。
後來我就去跟那些作者談。我一開始還是比較悲觀的,我覺得如果談不下來,那就不做了。我去推特上面找那些經常寫文章的人,給他們發郵件,告訴他們我做了這樣一件事,我是不盈利的,你願不願意讓我翻譯你的文章分享給那些不懂英語的人?絕大部分還是同意的,有那麼兩三個人確實不願意發。有些人會要求我們翻譯完之後發給他一個連結,可能是怕我們收費,想確定一下是不是所有人都能訪問。還有一些人把我們的連結加入到他的文章裡,作為CN版本。
還有一件有意思的事是技術層面的。因為業餘做翻譯組不可能花太多精力,所以我把很多工作都自動化了。有那麼多部落格和網站,我不可能每天上去找新文章。所以我們做了一個小工具,隔一段時間自動去抓取這些網站,如果有更新,就會給我們推送過來。我們還有一個流程管理系統,把文章分成好幾個列表,分別是翻譯中、稽核中,以及等待發布。現在譯者翻譯完一篇文章之後,會有兩個人去看,審校格式和內容。
問:你之前推薦過一位在Twitter上很活躍的女程式設計師Erica Sadun的書,她在部落格上也感謝了你的幫助,你們是怎麼認識的?
她在Twitter上相當於那種大V,在談授權翻譯文章的時候我聯絡過她。她的那本書Playground Secrets and Power Tips在亞馬遜和蘋果iBook的美國區上架,但是中國區的帳號無法購買。後來我就去推特上面問她,能不能給我們提供其他選項,比如發到LeanPub這樣的自出版平臺上。大概一個小時之後,她就釋出上去了。
問:和國外Swift社群的人打交道,感覺他們的技術氛圍如何?
我去找國外作者的時候,對我感觸非常深的一點就是大家都很活躍。比如,蘋果早晨開釋出會,他們可能下午就馬上去用,還會寫一篇文章。這篇文章可能並不深入,但是會詳細地告訴你如何寫一個Hello World程式,這個程式是如何跑起來的,有什麼問題。
外國人特別愛寫,我也不知道為什麼。後來我分析了一個原因,當然這只是我的個人猜測:同一句話,英文比中文要長。微博和推特都是140個字,但是用微博可以說一大段話,用推特說兩句就沒有了。而且推特也沒有原生的長微博支援,所以想要在推特上說明白一件事是非常難受的,只有寫一篇文章才能說清楚。
另外,國外的技術氛圍也很好。比如Erica Sadun就很典型,她非常能寫,平均下來一天一篇。當然,她的文章不一定完全是關於技術的。她寫完之後會收到很多反饋,一些真正看了的人會告訴她哪些地方寫得不太好,或者哪些地方寫得非常好。我覺得這可能是國內比較欠缺的。雖然我們們現在也在進步,比如點贊和轉發的人多了,但是有價值的反饋其實並不多。作為一個作者我的感受是,知名度只是一方面,更重要的是在寫完之後我的技術有提高,這才是更有價值的東西。
問:在學習Swift方面你有什麼建議嗎?
對於完全不懂程式設計的人來說,現在這些教程可能不大合適,因為閱讀這些教程的前提是你對程式設計本身是理解的。如果不理解的話,我建議你去看一些程式設計領域比較基礎的書,而不是Swift方面的基礎書。
對於有經驗的人來說,首先就是看官方文件。蘋果的官方文件是非常好的,質量非常高,不像我們的文件寫得很難懂。文件肯定要看兩遍。國內的好書我推薦王巍那本《Swifter——100個Swift必備tips》。還有就是Ray Wenderlich,他是專門做iOS開發教育的,他出了非常多的電子書,質量都很高。他的網站是http://www.raywenderlich.com/ ,網站上有文章、書、視訊,他應該是iOS領域做得最大的。還有一個網站http://www.objc.io/,偏向於普及教育。我們這次的Swift開發者大會邀請到了這個網站的創始人Chris Eidhof。另外,這個網站的中文版是王巍維護的。
問:你為什麼想辦@Swift開發者大會?
因為我想邀請John來國內,見上一個面。但是我沒有錢,如果有大會,我邀請他來當嘉賓豈不是很好?於是我就去找技術大會,然後我發現沒有Swift的會,也沒有iOS的會。後來我在朋友圈問有沒有這方面的技術大會,大家都說沒有。有幾個人說,你可以自己辦啊。一開始我覺得這事兒很難,不可能,後來我和一些人溝通之後打算嘗試一下。其實一直到王巍回覆我說確認要來之前,我都不確定一定要做這件事。王巍是國人,如果他都請不到,老外就更夠嗆了。所以他一確定,我才真的確定要做這件事。
問:你覺得開發者來參加大會能得到什麼收穫?
我覺得大會最重要的不是讓你來學技術,因為看書或者上谷歌絕對要比你來聽一天會收穫要大。那麼為什麼要來呢?我覺得這種收穫的本質是一種思想上的交流。如果僅僅是你坐在下面聽,他站在上面說,我覺得意義不大。除了拿到很多獎品、很多書,拍了幾張照片發微博、發朋友圈。回來之後仔細想一想,你這一天的收穫有多大?
我們的想法是把這300多個人,包括嘉賓和參會者,放到同一個時間和空間中,讓他們去碰撞自己的想法。交流是很重要的,這樣你才可能在會後產生很多新的想法。你認識的新朋友甚至可以和你一起去實踐一些想法。線下活動跟線上活動差別是很大的。面對面的交流,可能很容易就能促成一件事。所以我們希望參會者的質量也能很高。這就是我們這次選擇收費的原因,我希望你的到來是你真正做出的一個決定,不是像逛街似的報名就來了。
我感覺國外的技術氛圍非常好,很多人願意貢獻內容,他們討論得非常熱烈。但是國內還沒有形成這樣一種氣氛,所以我希望通過這次大會能把大家聚在一塊。嘉賓提供想法,大家可以和嘉賓有很多交流,不光是問問題,也可以講講你對這個技術的看法,探討這個技術未來的發展。大家都進到了這個圈子裡,就相當於有了很大的基數,裡面就很有可能會出現一些有價值的東西。
問:大會現在進行到什麼階段了?一路上你都獲得了哪些幫助?
我們現在嘉賓人數已經夠了,票基本賣完了。我們預計大概有300人蔘會,門票現在可能還剩下十幾張。接下來的重點就是做內容,我們還要跟嘉賓溝通,看看他們的議題有沒有需要改進的地方。我們也在想辦法為大家提供更多的福利,希望大家來參會能有更好的體驗。
要感謝的人有很多,這裡說幾個有代表性的。
首先是我們團隊的人。我們現在核心團隊是10個人,參與的比較多的就是裕波。裕波給了我很大的幫助,雖然有時候我們的觀念可能有衝突,但是他最終還是會幫我。還有石爭妍,她是FIR.IM的創始人之一。讓我比較意外的是,她強調自己不是以公司的名義來幫忙,而是以個人名義來參與,她覺得這件事有價值,願意付出時間。還有一個人是李濤,他原來是CSDN移動業務擴充總監,這次也幫了很大的忙。唐巧也是我比較感謝的人。我第一個找的就是他,因為巧哥影響力很大,我希望他能和我們一起辦。但是巧哥確實很忙,沒有那麼多時間。但是他給了我很多建議,比如邀請王巍,還有國外一些牛人。做大會的時候,我們的主題是唐巧幫忙稽核的。
第二部分需要感謝的就是嘉賓。我在邀請嘉賓時說得很清楚,我們這個會是不盈利的,我們的贊助、門票最後都是要花到參會者身上的。所以嘉賓們在沒有酬勞的情況下還是願意來,我是非常感激的。嘉賓中最要感謝的就是王巍,專門抽時間飛回來本來就很麻煩,他還考慮儘量坐便宜一些的飛機,給大會節省經費。我非常感動,嘉賓過來已經很費勁了,還要考慮幫我們省錢。不過還是給他買了更合適的機票,否則我會很過意不去的。
第三部分需要感謝的就是參會者了。我當時沒有想到門票會賣得這麼順利。賣票之前,大家都勸我做免費的,要不門票別那麼貴。這種垂直的純技術大會絕大多數都是免費的,即使收費也不會很貴,所以賣票這件事我們一開始就壓力很大。幸運的是,週五晚上購票渠道上線,週六週日兩天就賣了100多張。這件事給了我很大信心。
能有機會推動技術發展是很有意義的,但是這件事就像創業一樣,沒有上市之前,成功與否都沒有定論。只有實現了,才是真的做到了。
更多精彩,加入圖靈訪談微信!
相關文章
- 《健身環大冒險》開發者訪談
- U聚合開發者大會|行業大咖現場訪談集錦行業
- TensorFlow開發者會峰會:支援Swift,更好的支援JavaScriptSwiftJavaScript
- 【了不起的開發者】華為開發者大會2020(Together)已向你發來邀請~
- 一個對開發者可能會越來越有用的網站網站
- TensorFlow 開發者峰會:支援 Swift,更好的支援 JavaScriptSwiftJavaScript
- 帶你逛 2019 Google 開發者大會Go
- 開發者訪談:《植物大戰殭屍》創意竟來自WAR3
- 從來沒有一種技術是為了解決複用、靈活組合、定製開發的問題
- 英偉達開發者計劃全球副總裁:開發者是最重要的
- 揭秘:一個在“懂行大會”上成立的“神秘組織”
- 從海外開發者大會的親身體悟聊起,談談 AI 與開發者關係的重構 | 編碼人聲AI
- 《蠟筆小新:我與博士的暑假》開發者訪談
- 《拳皇 15》開發者訪談:《拳皇》系列的集大成之作
- 賽靈思開發者大會:全球最快的資料中心長啥樣?
- 2021- iOS開發者一份你一定會被問到的面試題(附參考答案)iOS面試題
- 開發者工具:我是如何從0到1來進行APP開發的?APP
- 《偶像大師》的口型製作方法大揭祕——相關技術開發者訪談
- Google開發者大會:為中國開發者和消費者推出新的工具Go
- 來自前端工程師的Google開發者大會2018參會總結前端工程師Go
- Google開發者大會:你不得不知的Tensorflow小技巧Go
- 志願者招募令|來!一起Build OceanBase第一次開發者大會UI
- 【譯介】《最終幻想 VII》開發者訪談
- 專訪明略科技CTO郝傑,共繪會話智慧發展藍圖 | 愛分析訪談會話
- Google 2019開發者大會Go
- 2019 AI開發者大會AI
- 多位開發者談吸引Speedrun玩家的6大技巧
- Android 13 首個開發者預覽版到來Android
- 開發者談9個問題挑戰你的遊戲新創意遊戲
- 追思傑出的 Linux 核心開發者李少華Linux
- 離開Google,你到底是做了一個怎樣的決定Go
- 一個NB的web前端開發者,是怎麼學習的?Web前端
- 來到圖靈社群的第一天圖靈
- 開發者談F2P模式:細節決定成敗模式
- Android 在 Google 開發者大會上釋出了哪些更新? | Google 開發者大會 2018AndroidGo
- 2021 WeGame 開發者大會,7月上海,邀你同行!GAM
- 真孿生•共見未來 ▏ThingJS開發者大會JS
- 開發者談確保遊戲開發有節奏的執行力至關重要遊戲開發
- 【開源訪談】厲華:寫一個開源容器引擎會是什麼樣的體驗?