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

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

  1. 当前你的主要开发任务是什么?
  2. 你在项目中使用的电脑是怎样的?
  3. 你使用什么IDE开发?
  4. 你将来的计划是什么?
  5. 有什么给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,那该多好。玩笑。

  说的太好了!

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

  英文原文:Tools used by Python Super Stars

时间: 2024-10-22 14:18:39

Python超级程序员使用的开发工具的相关文章

15款Java程序员必备的开发工具

如果你是一名Web开发人员,那么用膝盖想也知道你的职业生涯大部分将使用Java而度过.这是一款商业级的编程语言,我们没有办法不接触它. 对于Java,有两种截然不同的观点:一种认为Java是最简单功能最强大的编程语言之一,另一种则表示这种编程语言既难用又复杂. 下面这些工具或许功能和作用不同,但是有着一个共同的主旨,那就是——它们都是为了给Java编码和开发提供卓越的支持. 1. JDK(Java开发工具包) 如果你打算用Java开发一些小程序和应用程序,那么首先得给自己准备一个类似于JDK的工

程序员必备简捷开发辅助工具总结

程序员必备简捷开发辅助工具总结 本文独家授权给stormzhang运营的公众号AndroidDeveloper,拒绝其他任何形式的转载. 写在前面: 工欲善其事必先利其器,拥有简捷的开发辅助工具能大大提高我们程序猿的开发效率.Melo刚到学校就给大家总结了一些常用的辅助开发的工具,希望大家能喜欢,闲话不多说,马上开始~! 零:Notepad++ Notepad++ 程序员必备的文本编辑器,软件小巧高效,支持27种编程语言,通吃C,C++ ,Java ,C#, XML, HTML, PHP,JS

程序员必备的开发和测试工具汇总

网络监测服务诞生于互联网井喷年代,对于网民来说,短短几年之内,经历了从浏览白底黑字的网页到硝烟四起的论坛,再到在线听歌.看片.网购支付.在线阅读.公共信息查询,人们还没来得及感叹进化之迅猛,移动互联网就伴随着手机.pad等各种终端扑面而来,模糊了线上线下的界限,把用户体验推向了极致.然后大家开始关注转向网页的兼容性.打开速度.交互体验.App应用的反应时间.能否被不同地区的用户访问. 下面介绍一些App应用从开发到服务性能监测的一些工具和途径: 开发工具: 1.Bizness Apps 一个傻瓜

程序员提升网站开发效率的十个有效的工具

程序员提升网站开发效率的十个有效的工具: Git 之前也有过不少版本控制的工具.有好的,也有糟糕的.不过它们都或多或少地误入歧途了. 这时候Git出现了.一旦你用上了这个神奇的工具,很难相像你还会碰到比它更好的了. 还没用过Git? Stack Overflow 真的,我没在开玩笑.05年的时候你用google搜过技术资料吧?或者2000年那会儿拿yahoo搜过?又或者95年那阵上FidoNet去找答案?太可怕了.那会儿搜索出来的东西都是一些无聊透顶的论坛讨论,全是一些伪专家和脚本小子在叨叨一些

对九个超级程序员的采访

对九个超级程序员的采访 原文:<Q&A With Nine Great Programmers>时间有限,我只能粗译,难免错误. 这篇访谈源自2006年,最先发布在波兰程序员 Jaroslaw “sztywny” Rzeszótko (AKA “Stiff”) 的博客上.但是这篇博文现在找不到了.非常感谢他能授权我重新发布这个博文. 在一个炎热无聊的下午,我突发奇想.我想通过电子邮件的方式对那些我非常感兴趣和非常敬重的程序员问10个问题.准备这10个问题我只花了5分钟,这些都是我个人想

打造程序员的高效生产力工具-mac篇

打造程序员的高效生产力工具-mac篇 1   概述 古语有云:“工欲善其事,必先利其器” [1] ,作为一个程序员,他最重要的生产资源是脑力知识,最重要的生产工具是什么?电脑. 在进行重要的脑力成果输出前,有必要先“利其器”,为自己打造一台专门为程序员而生的电脑生产平台.以保证自己高效地工作和产出. 本系统的主要适用群体为互联网行业的开发人员和环境配置指导,主要目的是让Mac成为程序员的重要的智力成果输出工具. 2   需求场景 3   开发环境 对于软件开发人员来说,基本上绝大多数的IDE都有

Python/Java程序员面试必备常用问题解析与答案

转自AI算法联盟,理解python技术问题,以及一些常见的java面试中经常遇到的问题,这些面试问题分为四类: 是什么(what) 如何做(how) 说区别/谈优势(difference) 实践操作(practice) 1. 什么是Python? Python是一种编程语言,它有对象.模块.线程.异常处理和自动内存管理.可以加入与其他语言的对比.下面是回答这一问题的几个关键点: a. Python是一种解释型语言,python代码在运行之前不需要编译. b. Python是动态类型语言,在声明变

Java程序员转Android开发必读经验

小编最近几日偷偷的发现部分Java程序员想转安卓开发,故此加紧补充知识,为大家搜集资料,积极整理前人的经验,希望可以给正处于困惑中的你,带来些许的帮助. 啰哩啰嗦的说说Java和Android程序的区别: Android是主流智能手机的操作系统,Java是一种开发语言,两者没有好坏优劣之分,只是两种职业岗位的选择.学安卓从事移动互联方向开发,学Java从事软件.网站开发.而安卓上的应用大多是Java编写的,所以建议在安卓前期的Java学习阶段中,要用心学好. 言简意赅的说说“转”前的准备: 其实

Java程序员转Android开发必读经验分享

摘要:DevStore小编最近几日偷偷的发现部分Java程序员想转安卓开发,故此加紧补充知识,为大家搜集资料,积极整理前人的经验,希望可以给正处于困惑中的你,带来些许的帮助. 啰哩啰嗦的说说Java和Android程序的区别: Android是主流智能手机的操作系统,Java是一种开发语言,两者没有好坏优劣之分,只是两种职业岗位的选择.学安卓从事移动互联方向开发,学Java从事软件.网站开发.而安卓上的应用大多是Java编写的,所以建议在安卓前期的Java学习阶段中,要用心学好. 言简意赅的说说