首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >混合语言web开发环境

混合语言web开发环境
EN

Stack Overflow用户
提问于 2009-02-21 05:50:06
回答 6查看 469关注 0票数 6

在我的工作中,我继承了一个广泛的、设计不当的网络组合。大多数页面都是用Perl编写的,因为站点上的大多数数据都是以平面文件的形式被摄取、处理和显示的,这些文件必须经过精心的重新编辑,并在我们的MySQL和Oracle数据库中进行数据库。

作为这个环境中第一位经过it培训的管理者,我要自己去浏览网站,为开发过程制定一些结构。给我的选择之一是选择是否继续使用Perl。有大量的内部人才,Java和PHP是相当容易学习。我已经考虑过让开发人员摆脱束缚,让他们为自己的页面选择他们想要使用的任何语言,但如果选择PHP的人被公共汽车撞到,而其他人都无法修复,听起来可能会有麻烦。

随着时间的推移,雇用Perl程序员变得越来越困难,而从以前的开发人员那里维护遗留Perl代码的复杂性正在变得非常消耗资源,这些开发人员的主要关注点可能只是创建一个页面并运行。另一位前任(非it )经理则更专注于快速的周转和页面的即时满足,而不是确保第一次正确完成(他后来被提升到我们部门之外)。

生产服务器是solaris。MySQL拥有我们的大部分数据,但是新的项目已经开始越来越多地使用Oracle (用于GIS )。Web服务器是通用的Apache。我们生活在一个与普通互联网断开的内联网中。我们的开发是以敏捷、迭代的方式进行的。

无论选择哪种语言,都有资源让现有的开发人员接受再培训。无论如何,进入我们环境中的数据都必须重新打包,这样perl就不会在短期内消失。我向社区提出的问题是,对于上述定义的web dev环境,以下语言的优缺点是什么: Perl、PHP、Java、Python和--在这里插入您最喜欢的语言如果你要重新做一遍,你会选择哪种语言设置?

编辑和澄清:让我在我最初的文章中澄清一点。我不会把一切都扔掉的。我有机会调整飞船的航向,以适应我认为更好的航向。即使我选择了一种新的语言,perl代码也会出现一段时间。

假设地说,如果我选择Assembly作为我的新语言(haha),我将不得不让老的开发人员跟上速度,可能会将他们发送到一些基本的组装类中。新的网页/项目将采用新的语言,旧的网页/项目必须与新的网页/项目保持良好的关系。有些可能有一天会被改写成新的语言,有些可能永远不会改变。

Perl中可能永远存在的是我们几年前编写的解析脚本,用于筛选平面文件中的数据库信息。但这没关系,因为他们不与网页接口,他们与数据库接口。

谢谢大家的投入,这是非常有帮助的到目前为止。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-02-21 07:25:03

您的问题似乎更多的是遗留代码和非正式开发方法,而不是语言本身。因此,如果您已经有了Perl开发人员,那么为什么不开始更新您的方法和代码库,而不是切换到一种新的语言,并创建一个异构的代码库。

现代Perl在良好的实践和强大的工具方面提供了很多:强调测试,使用*模块和WWW:机械化,数据库交互可以通过普通的DBI完成,但也可以使用ORM模块,比如优秀的DBIx::Class,OO和驼鹿现在可以与更现代的语言媲美,珀尔为您提供了在Apache中访问大量功能的机会。对于Perl也有相当多的MVC框架。其中一个引起广泛关注的是催化剂

投资于Perl最佳实践的几份拷贝,为一些现代开发方法的课程引进合适的培训师,并开始改变团队的文化。

如果您在寻找已经精通Perl的开发人员时遇到困难,您可以雇用优秀的PHP人员并对他们进行培训,这应该不会太困难。至少,他们愿意学习一种新的语言将是他们的灵活性和改善意愿的一个好迹象。

总是很容易将代码的状态归咎于它所用的语言,但在您的例子中,我不确定是这样的。在Perl中管理庞大的代码库似乎没有问题,很多大公司的列表很长,但是主要的网络公司以及许多金融机构都在那里。

票数 13
EN

Stack Overflow用户

发布于 2009-02-21 18:01:24

我会请一个非常擅长Perl的人,至少看看目前的设计。他们将能够告诉您Perl代码到底有多糟糕,以及需要做些什么才能使它变得良好。

届时,我将开始考虑我的选择。如果Perl代码是可以挽救的,那么请雇一个精通Perl的人。还培训一些现有的工作人员,以帮助现有的代码基础。如果您没有一个精通Perl的人负责Perl代码,那么您的代码库可能会变得更加糟糕。

只有当它处于糟糕的状态时,我才会考虑放弃它,改用另一种语言。语言是什么,这是你必须自己去思考的东西。

附注:我有点偏见,我更喜欢Perl

票数 5
EN

Stack Overflow用户

发布于 2009-02-21 06:34:59

如果regex很重要,我会选择一种支持良好的语言。

如果要使用java,就不能只从perl代码中复制粘贴regex代码,因为斜杠必须转义。所以我会投票反对java。

我不太熟悉php,不足以了解它的regex特性,但如果您有选择,我会选择python。您可以在python中创建更干净的代码。

红宝石也是一种选择吗?它还拥有良好的perl,比如regex支持,rails支持敏捷的web开发。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/572476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档