是否有一个稳定的Web编程编程语言?

时间:2009-02-23 20:54:16

标签: programming-languages web

一位着名的PHP用户曾经说过:无论如何,将会在2年内重新启动。

那些时代已经过去了。超过5年的Web应用程序很常见。随着原始开发人员的离去。

如果你没有大量的员工,操作系统,编程语言和框架的发布周期就会妨碍你做真正的工作。

有没有办法开发一些不需要不断移植到下一级别的东西,而不用担心失去社区中的支持和支持?对于那些想要继续编程而不是爬上公司阶梯并将问题留给下一代“一代”的人来说?

11 个答案:

答案 0 :(得分:20)

我的公司几乎全部使用C#编码,但是我们的ColdFusion 5应用仍然在2001年左右写回来。没有必要移植它们。

如果没有损坏,请不要修理它。

除了安全漏洞(通常由操作系统/服务器补丁处理,因此他们不需要更改代码)之外,不需要仅仅因为语言的新版本已经出现而更改应用程序。

如果我没弄错的话,ColdFusion自从我们停止使用新代码以来至少有2个新版本。但这并没有影响我们的ColdFusion网站。

答案 1 :(得分:9)

首先,可以夸大维护Web应用程序的难度。在许多情况下,语言或平台的变化本质上是扩张性的而不是破坏性的。几年前的.NET,python等代码仍然会运行,但是新的选项正在被添加,以使这些工具对未来的应用程序更加强大。发生大量变化的情况倾向于在语言的第一次或第二次迭代中,例如, Rails 1 to Rails 2。

其次,仍然需要对网络编程的积极发展表示感谢。这意味着这是业界的一部分,将在未来几年保持高效和令人兴奋。

答案 2 :(得分:8)

在FORTRAN 77中编写CGI程序。应该非常稳定。

答案 3 :(得分:6)

Traditional CGI稳定。它并不性感,但是如果你的操作系统继续能够运行相同的二进制文件或脚本,它仍然会起作用。

答案 4 :(得分:6)

唯一保持稳定的编程框架是那些已被抛弃的框架。一个站得足够长的框架将不支持AJAX或JSON甚至XML。

你不会找到你要求的东西。你可以期待的最好的是一个成熟的框架,有很好的支持,比如ASP.net或JSP。并且,正如@Neil N所说,除非有迫切的业务需求,否则不要继续升级。

答案 5 :(得分:2)

我做过的第一个网络编程是用C编写Apache模块,它与dBase数据库进行通信。我很确定代码今天仍会运行(如果我编写的公司仍然存在)。

我在Perl中执行当前与Web相关的大部分编程,它非常稳定,并且具有良好的向后兼容性记录。大多数(如果不是全部)为Perl 4编写的代码(1991年3月21日发布)仍然应该运行在最新的稳定Perl(5.10)上 - 尽管你可能想要更新它,以便利用它们的最近18年的改进软件开发技术和语言功能。

答案 6 :(得分:2)

考虑shearing layers。我以前曾在大型航空航天公司工作过,那些相同的Fortran后端代码和数据库的前端已经从纸带时代发展到大型机,客户端服务器和内联网网站。

在外部,您通常会拥有CSS和XHTML模板,可以更改这些模板以重新设置应用程序的外观。这些变化非常迅速,在大型组织中,高层管理人员似乎认为自行车棚每隔几周应该是不同的颜色。

通常,您可以使用一些逻辑将模板与后端数据合并,并将用户操作转发到后端。这不应该快速改变,而是将演示文稿转换为后端调用。期望每隔几年更新一次,并在十年内重写一次。从20世纪90年代末开始,我们使用Java。有些部分比其他部分更快,但这不是一个大问题。

后端通常是稳定的(一些空气动力学代码可以追溯到20世纪70年代;物理定律经常不会改变),并且会比Web UI具有更长的时间,因为它具有所有其他UI范例。 Fortran永远。

答案 7 :(得分:1)

在C中编写自己的Web服务器,然后您不必担心Web编程语言。

(不,这不是一个严肃的答案)

答案 8 :(得分:0)

您是否认真研究过TDD,CI,配对编程以及可靠的快速开发框架(基本Django或Rails)作为开发人员可以为您编写和设计代码的方式提供什么?所有这些部分为开发过程提供了一些非常巨大的好处,这使得再次成为程序员几乎感到高兴。当然还有缺点,但好处是支持工程师的快乐和易于开发,从而提高生产力。在我的书中,这是一次扣篮大赛。我的生产力和快乐的结果,是坚实的产品和伟大的工程。

YMMV,但如果你有认真的想法(我非常认真地对待它们),我认为你值得研究这些工具能提供什么。通过从敏捷宗教中获取好处并留下坏处加上我上面列出的一些东西,去年我再次找到了编程的乐趣,经历了5年的快乐下滑之后事业。这是关于找到适合你的方法。我只能通过向您展示对我有用的方式来帮助并引领方向。如果你想离线谈话,我会非常乐意详细讨论,我认为这是一个非常重要的话题......它让我多次考虑改变职业生涯。

答案 9 :(得分:0)

Java Servlets和JSP已经使用了十年左右,它们仍然像99年那样工作。但老实说,你能想象出一些比90年代的网络应用程序更糟糕的事情而没有做任何返工吗?

答案 10 :(得分:0)

Python Web框架web2py承诺向后兼容:

  

始终向后兼容。我们有   没有破坏向后兼容性   自2007年1.0版以来,我们   保证将来不要破坏它。

支持2.4到2.7的Python版本

编辑:每次更新重要项目2次,每次出现问题时。嗯,......

编辑2:现在需要Python 2.6到2.7。不支持Python 3。