看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的负责人。

你可以通过他的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是一个程序员,摄影师和电影制作人。生活在美国俄勒冈州。他目前正在写一本关于使用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,那该多好。玩笑。

说的太好了!

揭开其他程序员的面纱,窥视他们如何施展魔法工作,这很有用。你可以看到,他们使用的工具、技术,我们都可以采用,很多都是免费的。我很感谢他们能分享这些信息。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-18
很多Python学习者想必都会有如下感悟:最开始学习Python的时候,因为没有去探索好用的工具,吃了很多苦头。后来工作中深刻体会到,合理使用开发的工具的便利和高效。今天,我就把Python程序员使用频率比较高的5款开发工具推荐给大家,希望对大家的工作和学习有帮助。

一、最强终端:Upterm
本来想推荐 fish 或者 zsh,但其实这两个我也主要是贪图自动补全这个特性。最近在用的这个 Upterm 其实很简单好用,它是一个全平台的终端,可以说是终端里的 IDE,有着强大的自动补全功能。之前的名字叫 BlackWindow,有人跟他说这个名字不利于社区推广,改名叫 Upterm 之后现在已经17000+ Star了。

二、交互式解释器:Ptpython
一个交互式的 Python 解释器。支持语法高亮、提示甚至是 vim 和 emacs 的键入模式。其实我们在课程里提供的在线终端也内置了 ptpython。

三、包管理必备:Anaconda
强烈推荐Anaconda ,它能帮你安装好许多麻烦的东西,包括: Python 环境、pip 包管理工具、常用的库、配置好环境路径等等。这些事情小白自己一个个去做的话,容易遇到各种问题,带来挫败感。如果你想用Python搞数据方面的事情,就安装它就好了,它甚至开发了一套JIT的解释器Numba。所以 Anaconda有了JIT之后,对线上科学计算效率要求比较高的东西也可以搞了。

四、编辑器:Sublime3
小白的话当然还是推荐从PyCharm开始上手,但有时候写一些轻量的小脚本,就会想用轻量级一点的工具。Sublime3很多地方都有了极大的提升,并且用起来比原来还要简单。配合安装Anaconda或CodeIntel插件,可以让 Sublime拥有近乎IDE的体验。

五、前端在线编辑器:CodeSandbox
虽然这个不算是真正意义上的Python开发工具,但如果后端工程师想写前端的话,这个在线编辑器太方便了,简直是节省了后端工程师的生命啊!不用安装npm的几千个包了,它已经在云端完成了,采让你直接就可以上手写代码、看效果。对于 React、Vue 这些主流前端框架都支持。算是一个推荐补充吧。
第2个回答  2016-12-19
初学者可以考虑notepad++,开发项目可以考虑pycharm,eclipse,linux下可以考虑vim3,等等本回答被网友采纳
相似回答