Python超级程序员使用的开发工具

标签: 心得体会 python | 发表时间:2014-02-11 00:20 | 作者:Aqee
出处:http://www.aqee.net

我以个人的身份采访了几个顶尖的Python程序员,问了他们以下5个简单的问题:

  1. 当前你的主要开发任务是什么?
  2. 你在项目中使用的电脑是怎样的?
  3. 你使用什么IDE开发?
  4. 你将来的计划是什么?
  5. 有什么给Python程序员的建议?

就是这几个问题,我找了几个顶尖的程序员和编程书籍作家,问他们这几个相同的问题。下面是他们的回答,希望在他们的回答中你能找到一些可以让你的开发更便捷的工具。

Alex Martelli

Alex Martelli

Alex Martelli

人物简介:Alex Martelli是一位意大利计算机软件程序员,他是Python软件基金会的成员。从2005年初开始,他以“Über技术首领”的身份在加利福尼亚景山谷歌总部工作。他拥有意大利Bologna大学电子工程学位(1980)。他是《Python in a Nutshell》一书的作者,他还和其他人合著了《Python Cookbook》,他还写了一些其它一些作品,大部分都是和Python相关的。因为他对Python社区杰出的贡献,他被授予的荣誉包括 2002 Activators’ Choice Award2006 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

人物简介: Daniel Greenfeld是《Two Scoops of django》一书的合著人。他有超过6年的在Django领域的研究经验。之前他在美国宇航局做开发,就是在那里他开始了他的Python之旅,一直到现在。他目前是 Cartwheel Web的负责人。

你可以通过他的Twitter:  @pydanny 和他的 博客获取他的更多信息。

问题一、当前你的主要开发任务是什么?

我现在的工作主要是客户端方面,基本上都是用Python。内容服务方面有时候会用到Django,但当前的主要工作基本上跟web无关。

问题二、你在项目中使用的硬件机器是怎样的?

硬件方面,我使用一个2011年的Macbook Air。因为我的开发方式,像Macbook Air这样的超级本用起来非常舒服。可苹果的产品一般都很贵,我就自己配了一个,我打算所有的任务都用它来做。如果哪天我能有一个新的笔记本,我想试试Linux的超级本或Window8的平板(以前我是靠虚拟机运行Windows8)。

问题三、你使用什么IDE开发?

我使用Sublime Text。我更喜欢文本编辑器,而不是IDE,因为我喜欢深入研究程序库和它们的文档,而不是通过IDE工具来提示我。

问题四、你将来的计划是什么?

我未来的计划就是编程,锻炼,做我最擅长的事情。也许会去一个新地方旅游。我喜欢去没有去过的地方,认识新朋友,品尝没吃过的食物。但大部分我的旅游都是基于客户的需求,今年我不知道什么时候会有这样的机会。

问题五、有什么给Python程序员的建议?

我给Python程序员的建议是挑战极限。寻找新的代码库,研究它们,使用它们。它们有些会不是很好,不好的东西也会教会你一些东西(不该做的事情)。

Miguel Grinberg

Miguel Grinberg

Miguel Grinberg

人物简介: Miguel是一个程序员,摄影师和电影制作人。生活在美国俄勒冈州。他目前正在写一本关于使用Python和Flask做web开发的书,将会由 O’Reilly Media出版。这本书的官方网站是 Flask Book.

你可以通过他的Twitter:  @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,那该多好。玩笑。

说的太好了!

揭开其他程序员的面纱,窥视他们如何施展魔法工作,这很有用。你可以看到,他们使用的工具、技术,我们都可以采用,很多都是免费的。我很感谢他们能分享这些信息。

本文由 外刊IT评论网( www.aqee.net)原创发表,文章地址: Python超级程序员使用的开发工具,[英文原文: Tools used by Python Super Stars ]

你也许会喜欢这些文章:

  1. 我们Pikacode公司的技术选型
  2. 谁说使用Python你就写不出混乱的代码?
  3. Python语言的创始人解释为什么Python数组的索引从0开始
  4. 如何成为Python高手
  5. 每个程序员都应该学习使用Python或Ruby




相关 [python 程序员 开发] 推荐:

Python超级程序员使用的开发工具

- - 外刊IT评论网
我以个人的身份采访了几个顶尖的Python程序员,问了他们以下5个简单的问题:. 你在项目中使用的电脑是怎样的. 有什么给Python程序员的建议. 就是这几个问题,我找了几个顶尖的程序员和编程书籍作家,问他们这几个相同的问题. 下面是他们的回答,希望在他们的回答中你能找到一些可以让你的开发更便捷的工具.

Python程序员培训计划

- 敏 - 我的宝贝孙秀楠 ﹣C++, Lua, 大连,程序员
Python程序员很幸福,因为他们不需要像C#程序员那样东一榔头西一棒子的找资源学习. 把下面资源按顺序学完,代码都自己手敲过,应该就是初级以上水平了. 之所以选择py3k,是感觉新版本的生命力应该更长久一些. 学完tutorial,再看看这个Python竞赛,花个一两周时间搞定它. 最后看看这本书,了解一些有趣的话题.

每个程序员都应该学习使用Python或Ruby

- Kings - 开源中国社区最新新闻
本文是从 Why every programmer should learn Python or Ruby 这篇文章翻译而来. 如 果你是个学生,你应该会C,C++和Java. 还会一些VB,或C#/.NET. 多少你还可能开发过一些Web网页,你知道一些HTML,CSS和 JavaScript知识.

Python 程序员应该知道的 10 个库

- - 博客 - 伯乐在线
Python是优雅的,使用这些库可以使你的代码更简洁,并保持持久性. 抛弃 optparse和 argparse吧,使用 docstrings来构建优雅的,可读性强的,并且复杂(如果你需要的话)的命令行界面. IMO2013年创建的最好的库. Requests,或称为人类使用的HTTP,是一个处理HTTP请求更为pythonic 的方法,比 urllib2更更更好用.

每个Python程序员都要知道的日志实践

- - ITeye资讯频道
在现实生活中,记录日志非常重要. 银行转账时会有转账记录;飞机飞行过程中,会有黑盒子(飞行数据记录器)记录飞行过程中的一切. 如果有出现什么问题,人们可以通过日志数据来搞清楚到底发生了什么. 对于系统开发、调试以及运行,记录日志都是同样的重要. 如果没有日志记录,程序崩溃时你几乎就没办法弄明白到底发生了什么事情.

【外刊IT评论网】每个程序员都应该学习使用Python或Ruby

- 悟怡 - 外刊IT评论网
本文是从 Why every programmer should learn Python or Ruby 这篇文章翻译而来. 如果你是个学生,你应该会C,C++和Java. 还会一些VB,或C#/.NET. 多少你还可能开发过一些Web网页,你知道一些HTML,CSS和JavaScript知识. 总体上说,我们很难发现会有学生显露出掌握超出这几种语言范围外的语言的才能.

Web 开发程序员招聘

- GLORY - 云风的 BLOG
前两天在 blog 里提到了 web 前端程序员招聘的消息 , 结果这两天收到了好多热情洋溢的 email , 真是受宠若惊. 上次说的不详细,其实也没完全想好,只是之前在讨论公司架构的时候提到了这个岗位. 昨天晚上又讨论了一下,把需求细化了一些. 我个人,作为程序员,对 web 前端开发领域没有太多了解,很惭愧.

[程序员] Web开发入门(原创)

- Xinyu - V2EX
这篇文章最早发在水木web开发和IT业界板,都加精了. 原文在我的博客上,不定期会更新下内容. 顺便说下我创建的喜分分 http://www.xifenfen.com 也公测了,是一个个性化阅读,分享与收藏社区. 我读过的相关书籍发布在豆列(已更新):程序员的自我修养 http://book.douban.com/doulist/1268022/.