Python超級程序員使用的開發工具
我以個人的身份采訪了幾個頂尖的Python程序員,問了他們以下5個簡單的問題:
- 當前你的主要開發任務是什么?
- 你在項目中使用的電腦是怎樣的?
- 你使用什么IDE開發?
- 你將來的計劃是什么?
- 有什么給Python程序員的建議?
就是這幾個問題,我找了幾個頂尖的程序員和編程書籍作家,問他們這幾個相同的問題。下面是他們的回答,希望在他們的回答中你能找到一些可以讓你的開發更便捷的工具。
Alex Martelli
Alex Martelli
人物簡介:Alex Martelli是一位意大利計算機軟件程序員,他是Python軟件基金會的成員。從2005年初開始,他以“über技術首領”的身份在加利福尼亞景 山谷歌總部工作。他擁有意大利Bologna大學電子工程學位(1980)。他是《Python in a Nutshell》一書的作者,他還和其他人合著了《Python Cookbook》,他還寫了一些其它一些作品,大部分都是和Python相關的。因為他對Python社區杰出的貢獻,他被授予的榮譽包括2002 Activators’ Choice Award和2006 Frank Willison award。
你可以通過他的博客了解更多關于他的信息。
問題一、當前你的主要開發任務是什么?
給我的老板(谷歌)開發商業軟件,大部分是商業智能方面。
問題二、你在項目中使用的硬件機器是怎樣的?
基本上都是谷歌的云服務器,通過谷歌APP引擎直接或間接的使用。有時候也使用一個Unix工作站或Macbook Air,但很少。
問題三、你使用什么IDE開發?
vim, gvim, mvim; 偶爾用一下iPython,但這好像不能算是IDE吧。
問題四、你將來的計劃是什么?
應該還會待在谷歌——具體的研究方向那要看實際情況。
問題五、有什么給Python程序員的建議?
學習一下App Engine(通過webapp2 或flask, jinja2, &c以及其它類似django的輕量級環境):它們大部分都會對你的web項目有很好的用處——如果你想在這些環境之外的地方部署web應用,Appscale會是你最方便的選擇。
Daniel Greenfeld
Daniel Greenfeld
人物簡介: Daniel Greenfeld是《Two Scoops of django》一書的合著人。他有超過6年的在Django領域的研究經驗。之前他在美國宇航局做開發,就是在那里他開始了他的Python之旅,一直到現在。他目前是Cartwheel Web的負責人。
你可以通過他的推ter: @pydanny 和他的博客獲取他的更多信息。
問題一、當前你的主要開發任務是什么?
我現在的工作主要是客戶端方面,基本上都是用Python。內容服務方面有時候會用到Django,但當前的主要工作基本上跟web無關。
問題二、你在項目中使用的硬件機器是怎樣的?
硬件方面,我使用一個2011年的Macbook Air。因為我的開發方式,像Macbook Air這樣的超級本用起來非常舒服。可蘋果的產品一般都很貴,我就自己配了一個,我打算所有的任務都用它來做。如果哪天我能有一個新的筆記本,我想試試 Linux的超級本或Window8的平板(以前我是靠虛擬機運行Windows8)。
問題三、你使用什么IDE開發?
我使用Sublime Text。我更喜歡文本編輯器,而不是IDE,因為我喜歡深入研究程序庫和它們的文檔,而不是通過IDE工具來提示我。
問題四、你將來的計劃是什么?
我未來的計劃就是編程,鍛煉,做我最擅長的事情。也許會去一個新地方旅游。我喜歡去沒有去過的地方,認識新朋友,品嘗沒吃過的食物。但大部分我的旅游都是基于客戶的需求,今年我不知道什么時候會有這樣的機會。
問題五、有什么給Python程序員的建議?
我給Python程序員的建議是挑戰極限。尋找新的代碼庫,研究它們,使用它們。它們有些會不是很好,不好的東西也會教會你一些東西(不該做的事情)。
Miguel Grinberg
Miguel Grinberg
人物簡介: Miguel是一個程序員,攝影師和電影制作人。生活在美國俄勒岡州。他目前正在寫一本關于使用Python和Flask做web開發的書,將會由 O’Reilly Media出版。這本書的官方網站是Flask Book.
你可以通過他的推ter: @miguelgrinberg 和他的博客獲取更多信息。
問題一、當前你的主要開發任務是什么?
也許你會吃驚,工作中我并不做web開發。我在為Harmonic做視頻軟件。C++是我在工作中使用的主要語言,但我們卻使用了一個古老的用Python寫的自動化單元測試框架,用起來很有趣。
空閑時間里我目前的第一大任務就是給O’Reilly出版社寫一本關于Flask為框架的書,基本上快寫成了。
問題二、你在項目中使用的硬件機器是怎樣的?
我的機器是一個雙系統的臺式機,裝的是Ubuntu和Windows8.1。我還有一個Mac OS X筆記本。
我在跨平臺方面有些變態。除了給Arduino這樣的嵌入式系統寫代碼外,所有其它我寫的代碼(不管什么語言),都需要在三種平臺上運行。為了達到這個目的,我會不斷的在Linux,Windows和OS X機器間切換。
問題三、你使用什么IDE開發?
我有一些最愛。PyCharm非常棒,在大型項目時我越來越依賴它,主要是因為它的交互式的調試工具。
在Windows平臺上我會使用Visual Studio的一個Python插件,免費的,非常出色,我估計大部分人沒聽說過它。
我還經常使用SublimeText,通常是在筆記本上使用它。
Notepad++是我在Window臺式機上最順手的工具。在我所有的電腦上都裝有一個非常老的Vim,即使在Windows上也使用Cygwin運行它。
問題四、你將來的計劃是什么?
我在四月份的PyCon大會上會有一個關于Flask的演講,我下一步開始著手準備材料,因為書已經快寫好了。
我最近沒怎么寫博客,我很想寫一點。我想能多騰出一些時間寫博客。我已經擬了一份話題目錄,準備按著這個清單寫。如果需要的話,我可以把里面的一個關于Flask上的web sockets的文章提到最前面。
問題五、有什么給Python程序員的建議?
我對所有程序員——不光是Python愛好者——的建議是,多去實踐,然后把它們分享給世界。分享很重要,從別人那獲得反饋是讓你提高的好方法。
而對于Python程序員我想說的是,如果我們只需要用嘴去討論Python2和Python3的差別、而不需要花時間將眾多的軟件移植到Python3,那該多好。玩笑。
說的太好了!
揭開其他程序員的面紗,窺視他們如何施展魔法工作,這很有用。你可以看到,他們使用的工具、技術,我們都可以采用,很多都是免費的。我很感謝他們能分享這些信息。