介绍Python
我之前工作的公司有两个全职开发者,还有一些自由职业者。他们正在招聘一位新的首席开发者,希望能给开发工作带来一些秩序和管理。
目前,其中一个开发者对Django(这个公司到现在为止只用过PHP)产生了兴趣,而另一个开发者则担心现在引入一种新语言(Python)不是个好主意。
他们应该如何引入这项新技术呢?显然,只有一个开发者会Python,所以当这个开发者不在或者离开公司时,团队就没有人能接手了。
他们是否应该继续引入Python,还是应该先找一些只用PHP的解决方案,直到团队里有更多人会Python?因为没有团队领导,决定就只能由他们自己来做。
8 个回答
@darkdog:
在生产代码中使用一种新语言,不仅仅是语法简单或者功能强大。你还需要熟悉核心的API(应用程序接口),这样你才能通过逻辑来解决问题,而不是到处翻找文档。
我并不是说这个公司转向Python是个坏主意,但我同意约翰的看法——在过渡期间,保持事情简单是很重要的。新的负责人会很感激能参与这样的决策。
如果你真的非常想引入Python,可以考虑用纯Python或者在框架中写一些扩展或工具。这样不会影响你们的核心项目,所以这是一个低风险的机会,可以证明转变的好处。
如果新领导的任务是把事情理顺,那么在此之前,当前的情况应该尽量简化。如果是我来整理这些事情,我可不想在处理其他事务的同时,还要管理一个正在进行的语言转换项目,或者至少我希望在启动这个项目时能有一些选择。在你提出建议的时候,有没有考虑到在转换过程中介入会带来额外的管理复杂性?
我最近在公司引入了Python,我们公司主要为邮局提供咨询服务。我是等到有一个项目,而我会是唯一的程序员时,才获得了用Python做这个新项目的许可。接着,我又用Python做了一个小项目,效果也很不错。此外,我还用Python处理了所有的小任务,比如“能不能把这些文件里的统计数据整理成按日期和网站分类的CSV文件?”等等,所有这些任务我都能很快完成。
我还稍微宣传了一下Python;我尽量不让人觉得烦,但偶尔会说说我为什么这么喜欢它,聊聊我在空闲时间用它做的个人项目,以及它对我来说有多棒等等。
后来我们又开始了一个新项目,我说服大家也用Python来做。我特别注意给大家提供很多文档,包括和他们正在做的工作相关的具体网页,每当他们有问题时,我都会解释怎么正确地做事情,讲解Python的编程风格等等。
这一切都进行得很顺利。不过,这可能和你描述的情况有些不同。在我的案例中,我是从中等规模的小项目开始的,Python只用于新项目。而且,我的同事们并不是特别精通Perl或PHP;他们都知道这些语言,并且用过一段时间,但要让他们在Python上变得更高效并不需要太多努力。
所以,如果你是在谈论与当前使用PHP但并不是超级专家、也不太喜欢那门语言的人一起做新项目,那么转向Python是个明智的选择。然而,如果你是在处理一个大型的现有PHP代码库,且有很多非常有经验的PHP程序员,他们对现在的工作方式很满意,那么换语言可能就不是个好主意。你可能处于两者之间,所以你需要权衡一下利弊;希望我的这些分享能帮助你做出决定。