标准化特定语言的版本/工具组

All*_*son 4 python perl groovy

我是一个嵌入式软件公司的六人组建和发布团队的一员.我们还支持许多开发人员工具,例如Atlassian的Fisheye,Jira等,Perforce,Bugzilla,AnthillPro和一些自制工具(比如我的Django发行说明生成器).

大多数时候,我们的团队只为大型应用程序编写小插件(例如:在Anthill中自定义工作流程),长期实用程序脚本(打包QA版本)或Perforce触发器之类的东西(不要让人们检查特定分支,除非其更改说明包含错误编号;针对Active Directory而不是Perforce的内部密码进行身份验证).这是关于我们问题的规模,尽管我们有时会处理稍微大一些的问题.

我的老板,技术合理,已经要求我们对一种或两种语言进行标准化,以便我们可以更容易地相互替代.由于它们的普遍性和简单性,他主张bash脚本和Perl.我可以看出他的观点 - 我们主要做"胶水",那么为什么不使用"胶水"语言而不是为更大的项目设计的东西呢?由于我们使用的一些工具是基于Java的,我们确实需要使用有时会说JVM的东西.(这些项目阻力最小的路径是BeanShell和Groovy.)我对语言倡导感到非常惊讶,但我试图避免说"我们​​应该使用Python",因为我喜欢它而且Perl很糟糕.

相反,我正在努力想出一个很好的方法来定义我们的问题集:我们用脚本解决了什么问题?我们的团队可以从常用功能库中受益,还是我们的大多数项目更加孤立?期望我的同事学习有什么理由?哪些语言最容易开发和易于修改?

你们能否提出一些有用的方法来解决这个问题,既可以用于我自己的思考过程,也可以帮助我在同事之间进行一些头脑风暴?

DVK*_*DVK 6

两点:

  • "Eww Perl gross"在某种程度上是一个都市传奇.您可以在Perl中编写非常干净的自我记录代码,并且您可以使用几乎任何语言编写只写代码.它是开发人员的财产,而不是语言.

    仅仅因为你正在编写胶水代码,并不意味着代码必须像一些胶水黑客那样糟糕.

  • 从SO上比较Perl与Python的许多线程来看,在我看来,Perl的CPAN比Python的存储库更广泛,但我没有使用Python的经验,也无法通过真实的比较来证实.

    但是,我知道一件事.搜索5秒后,CPAN有一个JIRA模块.无论这是否是一个很好的因素,这取决于你.

  • @S.Lott - 我已经阅读了任何语言中的糟糕代码,我可以打赌你有100个代表我可以轻松找到糟糕的Python代码.而你还没有看过我的生产代码. (3认同)
  • +1:写得干净,可读Perl一直是一个选择,今天比过去更容易.如果有人正在编写粗略的Perl代码,那么要么a)他们不知道更好,b)他们不关心,或c)他们故意打高尔夫球/混淆.a)和b)是非常真实的,但语言不明确的问题.至于c),我并不打高尔夫球,但我所知道的所有狂热的Perl高尔夫球手也非常清楚高尔夫球和生产代码是相互排斥的. (2认同)
  • 这就像是说"EWW C gross",因为你可以用指针做糟糕的废话,并将它与BASIC进行比较,从而没有缓冲区溢出(我不确定BASIC是否这样,这是一个虚构的例子:)) (2认同)