SegmentFault 社區專訪 justjavac:「懶惰」是程序員最大的美德

首先給你們介紹一下本身吧

你們好,我是 justjavac,一名前端工程師。熟悉個人人可能知道我還有一箇中文暱稱「迷渡」,取「霧失樓臺,月迷津渡」之意,通常用在豆瓣或者其餘非技術社區。凡是在技術類社區寫專欄或吐槽,都使用 justjavac 這個 ID。我不太會作自我介紹,你們仍是直接在百度或 Google 搜索 「justjavac」 吧。javascript

你對你們廣泛稱呼你 JJC 有什麼感想?

哈哈,難道 JJC 除了 JustJavaC 的首字母縮寫,還有別的意思嗎?php

耐克曾經爲程序員作了一個紅極一時的廣告詞:「just do IT」,因而我就給本身起了一個網名 just。當時研究 Java 和 C 比較深刻,就把 java 和 c 加在了後面,以防止重複,這就是 JustJavaC 這個暱稱的來源。由於 javac 也是 JDK 中的一個命令,因此不少人覺得個人暱稱是 Just Javac 的縮寫,管我叫 JJ,對於這個稱呼,我仍是有必要糾正一下的。html

簡單談談你目前的工做吧

去年末從維基科技離職,今年正式加盟千行時線,負責 Hybrid App 技術棧的開發。千行時線是一家九零後的創業公司,在移動互聯網的大潮下,幫助傳統企業進行轉型,算是一家技術型和顧問型二者合體的公司吧。我主要負責 PHP 的接口和 Hybrid App 的開發。前端

你的上一家公司維基科技和維基百科有什麼關係?

這個嘛,其實就是 Java 和 JavaScript 的關係,雷鋒和雷峯塔的關係,周杰和周杰倫的關係。java

那就正式進入此次訪談的主題,講講你是如何走上編程的道路的

其實,我走上編程之路是命中註定的。從上小學起我就特別喜歡穿格子襯衣,果不其然,長大後成爲了一名程序員。git

我從小比較喜歡數學,小學時參加全國數學奧賽曾得過銀牌,也是那次奧賽第一次見到了電腦。當時只是遠遠地看別人用,在一個黑色的屏幕上,啪啦啪啦的打着字,和我想象中的黑客簡直如出一轍,感受很是炫、很是酷,就是人長得醜了點。程序員

至於我第一次使用電腦,是在初中。教學使用的是 Windows,大概是 Win98,由於在個人印象中,時不時就藍屏。github

第一次編程用的是 BASIC 語言,當看到代碼中的 I = I + 1 時,簡直是三觀盡毀啊~ 我去!這是什麼鬼?誰能告訴我他們究竟是怎麼相等的?難道是我打開的姿式不對?後來也就慢慢入門了。和每個初學者都相似,編的程序無非就是從1加到100,水仙花數,漢諾塔……面試

大概在初三的時候,我家買了第一臺電腦,在這個電腦上編的第一個程序是 VBA,在 Excel 中處理我整個初三上半年的成績。當我正爲能百分之百升入重點高中而高興時,發現了我編程生涯的第一個 Bug,致使個人成績多出了十幾分,不過即便再減掉十幾分,也是百分百能夠考上的。編程

上高中後沒有開設編程課,主要是講講 WPS 和其餘一些軟件的操做。因而我自帶 3.5 寸軟盤,安裝了 Pascal 編譯器,我還在書店買了一本 C 語言的書。

當我寫下 if (5>4>3) 時,竟然獲得了意想不到的結果,再一次三觀盡毀啊。當我晚上回家時,怎麼也找不到這本C語言書了,就這麼着,一本新書只看了三天,我也就這麼告別了C語言。當再次接觸C語言,就是大學了。

C語言的書丟了,那這個 5>4>3 的疑問也就不了了之了嗎?

沒有書,還有網啊,撥號上網——插網線,撥號,打開百度搜索,快速打開前幾個搜索結果,等頁面都打開完畢後,斷網,拔網線,再慢慢看。

此後在個人高中三年,我再也沒有在書店看到過編程類的書籍,畢竟在咱們縣城不多有人買這種書。

大學的志願我填報了兩個:數學和編程。後來就來到了天津,正式踏上編程的不歸路。這時就不是編程玩了,而是系統的學習編程知識。也慢慢接受了 i=i+1 是賦值,多個數比較要用「與」:5>4 && 4>3。再一次讓我毀三觀的是 Python,竟然能夠寫 if 5>4>3,這簡直就是不按套路出牌啊。後來再細想,其實 5>4>3 才最符合咱們的使用和理解習慣啊。就像格雷厄姆在《黑客與畫家》中說的那樣:程序實際上是給人看的,只是機器剛好能夠運行它。

最終我也未能完成學業,2009年輟學創業,又進了另外一個深坑。此次訪談時編程之路,創業的成功和失敗就很少說了。

在編程過程當中,或多或少會遇到一些問題,你有什麼解決問題的祕訣嗎?

看官方文檔,能夠解決掉一半以上的問題。剩下的問題能夠經過 Google,StackOverflow,SegmentFault。

問題分好多種,有的是屬於那種腦抽型的,好比拼寫錯誤,解決以後想抽本身倆耳光。這種我基本都是默默的記錄在 EverNote,畢竟家醜不可外揚。

有的屬於常見錯誤,好比對庫、接口、函數的使用錯誤,由於不少接口文檔寫的不是很清楚,還有一些文檔原本就有歧義,這樣在調用的時候就可能出錯,最多見的就是 Java 的日期類和日曆類。對於這種錯誤,我通常會整理在某個專欄上。

還有一些問題是對規範、對底層原理理解的不夠深刻,好比 IEEE754 的浮點數規範,HTTP 協議規範,JSON 規範。這些規範也都有中文翻譯,我仍是推薦程序員去讀讀。

有沒有寫過一些黑科技(狂拽酷炫屌炸天)的程序?

程序員最大的驕傲就是寫過什麼軟件,因此要想了解一個程序員就去他的 GitHub。

我這幾年面試程序員啊,大部分的簡歷都是作過 XXXX 系統,開發過 XXXX 網站,給 XXXX 政府作過 ERP。其實若是一我的熱愛編程,對編程感興趣,就不只僅是爲了完成工做任務,而是在業餘時間爲本身的這份興趣付出了多少。

雖然在各類第三方 GitHub 排名網站上個人 star 數排到了全球前 50 名,可是乾貨卻很少。

按時間順序說說吧,ChromeSnifferPlus 是我維護了 5 年的一個項目,以前我也在 SF 上介紹過,一款 Chrome 瀏覽器的插件。當咱們瀏覽一個很是炫酷的網頁時,咱們總想知道這個網站到底使用了什麼技術,用到了哪些 javascript 庫,這個插件就是幹這個的。目前有全球的1萬多用戶,因爲大陸牆的存在致使這個插件的國外用戶偏多。

Flarum 中文站:原文太長就不展開說了,能夠看看原做者 Toby 的文章「The Flarum Story」,我翻譯了中文版 Flarum 的故事:我爲何開發 Flarum

推薦一些書籍或者編程大殺器給你們唄

說到編程書籍,我正好在 GitHub 上維護了一個書單:免費的編程中文書籍索引,目前已經有近1萬個 star 了。

最後,有一本書必須推薦給每一個程序員看看:《頸椎病的預防和治療》。

能談談你的新書《代碼之謎》嗎?

說來慚愧。

出書這事大概緣起 2012 年末吧,在這期間我還在翻譯另外一個系列文章《12 JavaScript Quirks》。

我從大學時就開始寫博客,在 ITeye 和 CSDN。當時 ITeye 尚未被 CSDN 收購,名字叫 JavaEye,主要以 Java 技術爲主。《代碼之謎》系列的第一篇文章是「其實你不懂代碼」,發在了兩個平臺和個人獨立博客上,也沒有太當回事,發完就忘了。

到了次日晚上我打開電腦刷微博,忽然就看到了好幾條私信,是圖靈教育的陳冰老師發來的。再次以前我就知道陳冰老師,他策劃出版的《大話設計模式》估計很多程序員都看過,也被噹噹評爲終身五星級圖書。可是沒想到陳冰老師會給我發私信,我打開看了看,好像是說個人代碼之謎系列不錯,要找我出書什麼什麼的。

因而我又打開博客看了看,把我本身都嚇了一跳,才一天的時間訪問量就過萬了。後來的連續幾天都被推薦到了首頁,如今這篇文章在2個平臺上的訪問量分別是18萬和27萬。

其實在以前也有很多出版社聯繫我出書,我都拒絕了。可是此次陳冰老師的私信,我有點心動了,因而答應了陳冰老師。

可是天有不測風雲,後來有一天陳老師給我打電話,說他離職了。當時個人心裏就糾結的,陳冰老師一走,個人書的策劃和第一版任務就交給了別人。經過幾回的交談,我決定取消協議,暫時先不出了。

書雖然不出了,可是還在一直寫。也許有一天我會放到把這本書作成電子版,分享給你們。

哪些好的習慣程序員值得擁有?

懶惰。

有一些程序員很懶,懶到任何事情都交給機器去作。而另一些則很勤奮,天天都孜孜不倦得作着重複單調的工做。以前我也一直是一個勤快的人,不過我一直努力變懶。

不要一級一級地打開資源管理器尋找想要的文件,寫個腳本吧。自動搜索到想要的文件,或者更進一步,自動用 sublime 打開。編輯完了,還要自動打開比對工具去解決衝突。在機器面前,本身才是主人,不是僕人

要習慣用命令行而不是鼠標要動腦,要時刻思考本身的工做方式,改進本身的工做過程,讓本身處在一個高效節能的工做氛圍中,而不要浪費了本身的體力、精力、時間。

在你的編程生涯中有沒有遇到什麼有趣的事?

我清楚的記得第一次上電腦課的時候的一件糗事。

當時學校硬件條件有限,兩我的公用一臺電腦。當時有一個拍蒼蠅的遊戲比較火,可是我倆都不會進入這個遊戲,因而壯着膽子問老師「怎麼打開遊戲啊?」。

老師看了我倆一眼,拿起鼠標告訴咱們怎麼從開始菜單中一級一級的找到遊戲,怎麼雙擊進入。完過後不忘囑咐一句「上課可別玩遊戲啊」。

等老師一走,我倆就打開遊戲,一我的玩,一我的看着老師,玩的不亦樂乎。沒多久老師就過來了,我小聲告訴他「老師來了!老師來了!」。

這時他慌了,「媽呀,怎麼退出啊?光問了怎麼打開,沒問怎麼關閉」。

最後,毫無懸念,我倆被老師批評一頓。從那以後學會了神奇的 ESC 鍵。

如今 ESC 也依然是我使用頻率很是高的一個鍵:輸入法打錯了拼音,想所有刪除,不用反覆按 Backspace 鍵,只須要按一次 Esc 鍵。上網時輸錯了網址,按 Esc 中止加載。填寫表單時有錯別字,按 Esc 清除。彈出框時,Esc 等於取消按鈕。

你當初選擇放棄學業後悔過嗎?

若是我沒有記錯的話 SegmentFault 的高陽也是輟學生,我猜他應該也不會後悔當初的決定吧。這種事原本就沒有對與錯,本身選擇的路,跪着也得走完。

可是我還得告誡各位莘莘學子一句話:「比爾蓋茨之因此成爲世界首富,不是由於他輟學了;馬雲成爲中國首富,不是由於他醜」。我在個人博客中也常常會寫「學歷表明過去,能力表明如今,學習能力表明將來」,一我的的成就和輟不輟學沒有關係,而是和本身的努力程度有關。


聽說,關注二維碼的同窗,運氣都很不錯

justjavac

本文參與了 SegmentFault「個人編程之路」計劃,歡迎正在閱讀的你也加入,一塊兒分享。
相關文章
相關標籤/搜索