不要再勸導菜鳥程式猿使用vim或者Emacs了
我的部落格讀者都知道,我使用的是讓人不解的編輯器榜單中的第三名(注:其實作者說的是Emacs)(為什麼是第三個?額。。。因為我覺得vim做第二名很合適的,試想vim那高深莫測地,各種扭曲的繫結鍵吧,而且在我看來,編輯模式對新手來說絕對是個不小的精神挑戰。而最讓人不解,難以理解的編輯器,當然是ed
我也花費了很多時間來教導菜鳥程式猿,我給他們的建議之一就是不要學習使用Emacs。或者說,不要馬上去學習Emacs。好吧,我承認過去一直在很愧疚地讓他們立刻去學習Emacs,您就當這是我的悔過書吧。
事情是這樣子的:就像我說的,每個禮拜我總要指導一些菜鳥。漸漸地,我發現他們需要學習一堆眼花繚亂的工具,他們常常需要同時掌握:
- Ruby
- Ruby on Rails
- 像 YAML, ERB, HAML,和SASS這樣的概念
- Git (最強大的分散式版本控制系統,但是從使用者介面角度來說絕對讓人難以學習理解)
- Z shell
- RVM/RBenv
- Homebrew
- Vim
他們嘗試一次性地就把這些工具都學會了,為什麼呢?因為在他們的眼裡,這些工具是Ruby On Rails 開發工具鏈中必不可少的優秀工具。當然,他們這種看法是沒錯的。但是,他們不知道那些喜歡和使用這些工具的人都是一個個學習這些工具的。尤其來說,許多人是學習了Ruby和Rails之後才學Vim,而其他的人在很久之前就會Vim。
我看到很多的新手在學習Ruby概念時,想插入兩個字元卻發現編輯器偏偏刪掉了5行程式碼。本來學習一門新的語言已經很夠煎熬了,他們還不能夠用一種可靠的方法將他們認為正確的程式碼顯示在螢幕上,這也太讓人感到悲催了吧。這種事情極大地扼殺了菜鳥們向前學習的動力,讓學習新語言的過程背上了不必要的包袱。
相比較,我看到許多菜鳥程式猿用的是免費版的Sublime Text2,雖然是那種嘮叨軟體吧。相比較而言,他們的學習難度低了很多。Sublime Text本身是一個非常強大編輯器,你可以像使用Notepad那樣正常地使用它,敲入字元就字元立刻顯示在顯示器上,還有傳統的剪下,複製,貼上快捷鍵,如果你記不住縮排文字的快捷鍵,不要擔心,你還可以點選選單裡的選項。
截至現在,我對Ruby和Rails菜鳥們的建議是:剛開始使用那些GUI的,有傳統CUA快捷鍵的編輯器。例如:
請注意,我偶爾還用用RubyMine,但是我沒有在列表裡包含它和其他IDE。IDES有各自難以使用的地方, 這些IDES隱藏了許多的命令列呼叫和目錄導航,離開這些東東開發過程將會看起來是在變戲法。
一旦菜鳥程式猿有些成就感了,並且開始熟悉語言和框架,然後我就像會向他們建議使用這“兩大”編輯器之一。一個優秀的可程式設計編輯器將會在你的職業生涯中和你一起成長,加倍的你的開發效率。Yehuda Katz 有一篇關於轉向Vim編輯器的攻略, 估計也可以轉移到Emacs上。
但是,請我們不要讓那些菜鳥程式猿馬上就開始學習(Emacs|Vim)吧,因為這兩個編輯器實在是強大地無可救藥了。他們太不適合用做新手學習的工具了。
原文標題和連線:Let’s stop telling programming newbies to learn Vim (or Emacs)
作者介紹: 姓名:Avdi Grimm,居住在南賓夕法尼亞州,負責 Wide Teams, Twitter@avdi,更多詳細介紹,在這裡
譯者介紹: freetstar(連高欣),喜歡開源/自由軟體,喜歡linux/vim/python,www.freetstar.com
相關文章
- 程式猿菜鳥打怪升級—一路火花帶閃電
- ⚠ | 不要再使用 markdown 主題了!
- 程式猿生存指南-46 暴走的鳥
- 菜鳥求助!!!
- 程式猿生存指南-45 遷徙的鳥
- 程式猿生存指南-61 離巢之鳥
- Linux“菜鳥”到“菜鳥的一些建議Linux
- 猿輔導另謀出路了
- 菜鳥市場
- 程式設計師菜鳥面試攻略程式設計師面試
- 不要再問我Java程式是怎麼執行的了!Java
- 不要再問我MVC、MVP、MVVM了MVCMVPMVVM
- 寫一個菜鳥裹裹小程式吧
- 菜鳥看前端(Git)前端Git
- java菜鳥入門Java
- hashmap == 菜鳥驛站?HashMap
- 洛谷 P1020 導彈攔截 菜鳥題解
- Linux菜鳥到老鳥的那些建議Linux
- 【漫畫】不要再問我快速排序了排序
- 程式猿生存指南-13 再見老潘
- Java程式設計師從笨鳥到菜鳥全部部落格目錄Java程式設計師
- Emacs使用Mac
- 【前端開發】菜鳥必看,大佬繞道~使用控制檯寫js程式碼前端JS
- 跟著菜鳥學pythonPython
- 菜鳥也裝Linux(轉)Linux
- ESlint-菜鳥入門EsLint
- 菜鳥初嘗快速冪
- 不要再學 JSP 了,學 SpringBoot + Thymeleaf + Vue吧JSSpring BootVue
- 不要再問我 in,exists 走不走索引了索引
- 不要再問我跨域的問題了跨域
- 不太想做程式猿了
- 給程式設計師“菜鳥”的6條建議程式設計師
- 菜鳥筆記之pwn工具篇--Pwndbg基礎使用筆記
- 菜鳥自學之——SRA Toolkit 的下載和使用
- 菜鳥的Hadoop快速入門Hadoop
- python基礎教程|菜鳥教程Python
- Spark菜鳥之路(2):IntelLij初探SparkIntelliJ
- 遊戲菜鳥張一鳴遊戲
- React菜鳥入門之setStateReact