音樂應在你的指尖流淌——工具和程式碼無關

Phodal發表於2014-03-06

Tone is in your fingers

一個好的工具確實有助於程式設計,但是它只會給我們帶來幫助,幫助不了最後的程式碼風格,我們寫出來的程式碼還是和我們的水平保持著一致的。什麼是好的工具,這個說法就有很多了,但是有時候我們往往沉迷於事物的表面,有些時候Vim會比Visual Studio強大,當你只需要修改的是一個配置檔案的時候,簡單且足夠快捷,在我們還未用VS開啟的時候,我們已經用Vim做完這個活了。

音樂就在你的指尖流淌

“好的裝備確實能帶來一些幫助,但事實是,你的演奏水平是由你自己的手指決定的。”

DW還是notepad++?

Adobe Dreamweaver確實是一個不錯的工具,雖然一直用的是和諧版的。這樣有兩個不好的地方,當我們依賴上這個工具的時候,就不得不開始去負擔它的費用。有時候我們不得不在終端下面程式設計,如果是Windows伺服器自然是無所謂了。DW在有些時候忽略了太多的東西,曾經試著去用過一段時候,感覺效果還不如Notepad++加上Chromium來得簡單呢。

作為一個IDE有時候忽略的因素會過多,一開始的程式碼由類似於Notepad++或者Sublime Text之類的編輯器開始會比較合適。於是我們又開始陷入IDE及Editor之戰了,無聊的時候討論一下這些東西是有點益處的。相互瞭解一下各自的優點,也是不錯的,偶爾可以換個環境試試。

剛開始學習的時候,我們只需要普通的工具,或者我們習慣了的工具去開始我們的工作。我們要的是把主要精力放在學習的東西上,而不是工具。剛開始學習一種新的語言的時候,我們不需要去討論哪個是最好的開發工具,如Java,有時候可能是Eclipse,有時候可能是Vim。如果我們為的只是去寫一個hello,world,在Eclipse浪費太多的時間是不可取的,因為它用起來的效率可不比你在鍵盤上敲打來得快,當你移動手指去動你的滑鼠的時候,我想你可以用那短短的時候完成編譯,執行了。

工具是為了效率

尋找工具的目的和尋找捷徑是一樣的,我們需要更快更有效率地完成我們的工作,換句話說,我們為了獲取更多的時間用於其他的事情。而這個工具的用途是要看具體的事物的,如果我們去寫小說、部落格的時候,Word或者Web Editor會比Tex Studio還來得快,不是麼。我們用TEX來排版的時候會比我們用Word排版的時候來得更快,所以這個工具是相對而論的。有時候用一個順手的工具會好很多,但是不一定會是事半功倍的。我們應該將目標專注於我們的內容,而不是我們的工具上。

用Windows自帶的畫圖就可以完成裁剪的時候,我們就沒有執行起GIMP或者Photoshop去完成這個簡單的任務。效率在某些時候的重要性,會比你選擇的工具有用得多,學習的開始就是要去了解那些大眾推崇的東西。

學習SEO用WordPress還是CMS?

我們只是為了學習而去選擇工具的,最後的最後,我們理解完成的時候,就不再侷限於某個工具。我們已經學會了如何去做,可以用另外一個比喻來定義,就是Made in China。因為已經知道怎麼去做了,學會怎麼去做比做的過程更加重要了。我們糾結在做的過程上的時候,別人教會我們怎麼做,所以我們還是在別人的後頭。學習就是這樣的過程,學習的時候我們學的都是別人諳熟的東西。

WordPress是一個強大的學習工具,我們也可以用於生產中。和CMS相比,這樣一個部落格顯得不是很重要,但是我們想學的只是SEO,而不是如何去做CMS。只是兩者是等價的,只要我們能再快地學習SEO,那麼選哪個其實都是一樣的。

學習技術的過程中,如何去學習也是一門藝術,而所謂的藝術就是用科學無法解釋的東西。所以我們怎樣去學習,沒有人會給我們一個完整的答案,我們可以模仿那些已經學習成功的人去學習,但是不一定是合適的。不同性格的人之間可能會有不同的答案,同種性格的人之間也可能有不同的答案。

瞭解、熟悉你的工具

Windows的功能很強大,只是大部分人用的是隻是一小小部分,而不是一小部分,即使我們天天用著,我們也沒有學習到什麼新的東西。就如同我們的工具一樣,我們天天用著它們,如果我們只用Word來寫寫東西,那麼我們可以用Abiword來替換它。但是明顯不太可能,因為強大的工具對於我們來說有更大的吸引力。

如果你負擔得起手上的工具的話,那麼就儘可能去了解它能幹什麼。即使它是一些無關緊要的功能,比如Emacs的煮咖啡。有一本手冊是最好不過的,手冊在手邊可以即時查閱,不過出於環保的考慮,就不是這樣子的。手冊沒有辦法即時同你的軟體一樣更新,電子版的更新會比你手上用的那個手冊更新得更快。

Linux下面的命令有一大堆,我們常用的只有一小部分。如同CISC和RISC一樣,我們所常用的指令會讓我們忘卻那些不常用的指令。而記住那些最實用的,如同我們日常工作中使用的Linux一樣,記憶過多的不實用的東西,不比把它們記在筆記上實在。我們只需要瞭解有那些功能,如何去用它。

語言也是一種工具

越來越多的框架和語言出現、更新得越來越快。特別是這樣一個高速發展的產業,每天都在湧現新的名詞。如同我們選擇語言一樣,選擇合適的有時候會比選得順手的來得重要。然而,這個可以不斷地被推翻。

當我們熟悉用Python、Ruby、PHP等去構建一個網站的時候,JavaScript用來做網站後臺,這怎麼可能——於是NodeJS火了。選擇工具本身是一件很有趣的事,因為有著越來越多的可能性。

過去PHP是主流的開發,不過現在也是,PHP為Web而生。有一天Ruby on Rails出現了,一切就變了,變得高效,變得更Powerful。MVC一直很不錯,不是麼?於是越來越多的框架出現了,如Django,Laravel等等。不同的語言有著不同的框架,JavaScript上也有著合適的框架,如Angular.js。不同語言的使用者們用著他們合適的工具,因為學習新的東西,對於多數的人來說就是一種新的挑戰。在學面嚮物件語言的時候,人們很容易把程式寫成過程式的。

沒有合適的工具,要麼創造一個,要麼選擇一個合適的。

小結

學習Django的時候習慣了有一個後臺,於是開始使用Laravel的時候,尋找Administartor。需要編譯的時候習慣用IDE,不需要的時候用Editor,只是因為有效率,嵌入式的時候IDE會有效率一點。

習慣用DW來格式化HTML,Aptana來格式化JavaScript。

習慣用WordPress來寫部落格,因為可以有移動客戶端,使用電腦時就不喜歡開啟瀏覽器去寫。

等等

相關文章