我目前正在开发一个大项目,并且很快就会需要一个脚本语言来实现实用程序脚本,比如从源代码部署完整项目,检查和修复数据库,构建一个可随时部署的bundle等等.该项目是用PHP编写的,我考虑过使用它,但我认为它不适合这项任务.
我主要要求的是,按照重要性命令:
可移植到前三个操作系统:Windows,Linux和OS X.
许多好的库可用,从文件和目录操作到数据库访问.虽然网络可能是(通过FTP或HTTP下载一些东西),但不需要GUI.一个很大的优点是本机检查Subversion存储库的能力.
需要良好的社区支持.Python和Ruby都非常出色.
可扩展性:如果没有好的库可以执行某些操作,那么实现一个或使用本机解决方案(执行程序,调用本机函数)对我来说是多么容易.
易于部署:在Windows(XP&7,Server 2003+),Linux(CentOS 5.2,Ubuntu和Ubuntu Server 8.04+)和OS X(10.5+)上启动和运行是多么容易.
学习容易.虽然所有脚本语言对于任何值得他学习的程序员来说并不难学,但我对那些相当快速且易于学习的程序员感兴趣.
这就是我现在所能想到的.我已经回顾了Python和Ruby; Python满足所有要求,Ruby似乎也是如此,尽管我不确定Windows上的易部署性和库的可用性.但是,我也在寻找使用这种用您选择的语言编写的脚本的经验.
你说过:Python满足所有要求.这是我的"投票",虽然我可能有点偏颇.
编辑 :(根据我的第一手经验,在相关描述的任务的上下文中)
我没有从Python构建版本的经验(我发现Ant甚至为这个特定任务创建了一个更好的工具).
与数据库"混乱":轻而易举!
移动文件,检查目录等:轻而易举!
对于脚本类型的活动而言,看似骄傲或缺乏经验的风险,我从来没有在角落里画过我不允许我离开的角落.
然而,Python的一个可能的"批评"有点自相矛盾的是它的广泛的包库(除了它的慷慨的标准库); 虽然拥有所有这些"第三方"库是件好事,但有时很难衡量一些这些软件包的成熟度和有效性,有时候会浪费一些时间来选择这些(或者决定是否"从头开始"编写) .然而,由于口译员的互动性,这种评估可以足够快.