有没有稳定的Web编程语言?
一位著名的 PHP 用户曾经说过:无论如何,两年后就会重新推出。
那些时代已经过去了。 超过 5 年的 Web 应用程序很常见。 随着原始开发人员的消失。
如果您没有大量员工,操作系统、编程语言和框架的发布周期会妨碍实际工作。
有没有什么方法可以开发出不需要不断移植到下一个级别的东西,而不用担心失去社区的支持和支持? 对于那些想继续从事编程而不是攀登公司阶梯并将问题留给下一代“的人来说?
A renowned PHP user once said: There will be a relaunch in 2 years, anyway.
Those times are gone. Web applications that are older than 5 years are common. With the original developer(s) gone.
The release cycles of the operation system, programming language, and framework are getting in the way of doing real work, if you don't have a big staff.
Is there any way to develop something that doesn't need constant porting to the next level, without the fear of losing support and backing in a community? For people who want to stay in programming instead of climbing the corporate ladder and leaving the problems to the next "generation"?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
我的公司几乎完全使用 C# 编写代码,但我们的 ColdFusion 5 应用程序仍在运行,这些应用程序是 2001 年左右编写的。 无需移植它们。
如果它没有损坏,就不要修复它。
除了安全缺陷(通常由操作系统/服务器补丁处理,因此不需要更改代码)之外,无需更改应用程序因为该语言的新版本已经问世了。
如果我没记错的话,自从我们停止将 ColdFusion 用于新代码以来,它已经至少发布了 2 个新版本。 但这丝毫没有影响我们的 ColdFusion 网站。
My company codes almost exclusively in C#, however we have ColdFusion 5 apps still humming along written back in 2001 or so. Theres no need to port them.
If it ain't broke, dont fix it.
Other than security flaws (which are usually handled by an OS/Server Patch, so they dont need code changes), theres no need to change an app just because a new version of the language has come out.
If I'm not mistaken, ColdFusion has had at least 2 new releases since we stopped using it for new code. but that hasn't affected our ColdFusion sites one bit.
用 FORTRAN 77 编写 CGI 程序。应该相当稳定。
Write CGI programs in FORTRAN 77. Should be pretty stable.
首先,维护 Web 应用程序的难度可能被夸大了。 在许多情况下,语言或平台的变化本质上是扩张性的,而不是破坏性的。 .NET、Python 等几年前的代码仍将运行,但添加了新选项以使这些工具对于未来的应用程序更加强大。 发生大规模变化的情况往往是在语言的第一次或第二次迭代中,例如 Rails 1 到 Rails 2。
其次,值得庆幸的是 Web 编程的仍然活跃的发展。这意味着这是这个行业在未来几年仍将保持高效和令人兴奋的状态。
Firstly, it is possible to overstate the difficulty in maintaining web applications. In many cases, the changes to a language or platform are expansionary in nature rather than destructive. .NET, python, etc code from several years ago will still run, but new options are being added to make these these tools more powerful for future applications. The case where massive changes occur tends to be on the first or second iteration of a language, e.g. Rails 1 to Rails 2.
Secondly, the still active development of web programming is something to be thankful for.It means that this is a part of the industry that will remain productive and exciting for years to come.
传统CGI是稳定的。 这并不性感,但如果您的操作系统继续能够运行相同的二进制文件或脚本,它仍然可以工作。
Traditional CGI is stable. It's not sexy, but if your OS continues to be able to run the same binaries or scripts, it's still going to work.
唯一保持稳定的编程框架是那些已被放弃的框架。 一个长期停滞不前的框架将不支持 AJAX 或 JSON 甚至 XML。
你不会找到你想要的东西。 您所能期望的最好的结果是一个具有良好支持的成熟框架,例如 ASP.net 或 JSP。 而且,正如 @Neil N 所说,除非有迫切的业务需求,否则不要继续升级。
The only programming frameworks that stay stable are those that have been abandoned. A framework that stood still long enough would have no support for, say, AJAX or JSON or even XML.
You're not going to find what you're asking for. The best you can hope for is a mature framework with good support like ASP.net or JSP. And, as @Neil N said, don't keep upgrading unless there's a compelling business need.
我做过的第一个 Web 编程是用 C 语言编写与 dBase 数据库通信的 Apache 模块。 我相当确定代码今天仍然可以运行(如果我为其编写代码的公司仍然存在)。
我目前大部分与 Web 相关的编程都是用 Perl 进行的,它非常稳定,并且在向后兼容性方面拥有出色的记录。 大多数(如果不是全部)为 Perl 4(1991 年 3 月 21 日发布)编写的代码仍应在最新的稳定 Perl (5.10) 上运行 - 尽管您可能希望无论如何更新它以利用过去 18 年的改进软件开发技术和语言特征。
The first web programming I ever did was writing Apache modules in C which communicated with a dBase database. I'm fairly sure that code would still run today (if the company I wrote it for still existed).
I do most of my current web-related programming in Perl, which is very stable and has an excellent track record for backwards compatibility. Most, if not all, code written for Perl 4 (released 21 March, 1991) should still run on the latest stable Perl (5.10) - although you might want to update it anyhow to take advantage of the last 18 years of improvements in both software development techniques and language features.
考虑剪切层。 我以前曾在大型航空航天公司工作过,这些公司的前端使用相同的 Fortran 后端代码和数据库,从纸带时代发展到大型机、客户端服务器,再到内联网网站。
从外部来看,您通常拥有 CSS 和 XHTML 模板,可以更改它们以重新设计应用程序的外观。 这些变化非常迅速,在大型组织中,高层管理人员似乎每隔几周就决定自行车棚应该采用不同的颜色。
通常,您然后有一些逻辑将模板与来自后端的数据结合起来,并将用户操作转发到后端。 这不应该改变得那么快,而是将演示文稿转换为对后端的调用。 预计每隔几年刷新一次,十年重写一次。 从 20 世纪 90 年代末开始,我们使用 Java 来实现此目的。 有些部件的更换速度比其他部件快,但这并不是什么大问题。
后端通常是稳定的(一些空气动力学代码可以追溯到 20 世纪 70 年代;物理定律不会经常改变),并且比 Web UI 更耐用,因为它具有所有其他 UI 范例。 Fortran 是永恒的。
Consider the shearing layers. I've previously worked in large aerospace companies where the same Fortran back-end code and databases have had their front-ends evolve from the paper tape era through mainframe, client server and onto Intranet web sites.
On the outside, you have will typically have CSS and XHTML templates which can be changed to re-skin an application. These change quite rapidly, in large organisations as upper management seems to decide the bike shed should be a different colour every few weeks.
Typically you then have some logic to combine the templates with data from the back-end, and forward user actions to the back-end. This shouldn't change that rapidly, but translate the presentation to calls into the back-end. Expect to refresh this every few years, and rewrite it once a decade. We used Java for this, starting in the late 1990s. Some parts get changed faster than others, but it's not a big issue.
The back-end is usually stable ( some of the aerodynamics code dated from the 1970s; the laws of physics don't change that often ), and will outlast the web UI, as it has all the other UI paradigms. Fortran is forever.
用 C 语言编写您自己的 Web 服务器,那么您就不必担心 Web 编程语言。
(不,这不是一个严肃的答案)
Write your own web server in C then you don't have to worry about a web programming language.
(No, that's not a serious answer)
作为开发人员,您是否认真研究过 TDD、CI、结对编程以及可靠、快速的开发框架(基本上是 Django 或 Rails)可以为您提供什么以及编写和设计代码的方式? 所有这些部分都为开发过程提供了一些真正巨大的好处,使再次成为一名程序员几乎成为一种乐趣。 当然,也有缺点,但优点都是让工程师能够快乐且轻松地进行开发,从而提高生产力。 在我的书中,这是一场扣篮般的胜利。 我的生产力和快乐的结果是可靠的产品和伟大的工程。
YMMV,但是如果您有认真的想法(我非常认真地对待它们),我认为值得您研究这些工具可以提供什么。 通过从敏捷宗教中取其优点,扬弃其缺点,再加上我上面列出的一些东西,在经历了 5 年的幸福感下滑之后,我在去年再次找到了编程的乐趣。职业。 这是为了找到适合你的东西。 我只能通过向您展示对我有用的方法来帮助和引导您。 如果您想线下交谈,我非常乐意详细讨论,我认为这是一个非常重要的话题……它让我多次考虑换工作。
Have you seriously looked at what TDD, CI, pair-programming, and a solid, rapid development framework (basicaly Django or Rails) can offer to you as a developer vis-a-vis the way you write and design code? There are some really massive benefits that all of those pieces offer to the development process that make it almost a joy to be a programmer again. There are downsides, of course, but the upsides are all in support of the happiness and ease of development for the engineer, which leads to more productivity. In my book, that's a slam dunk win. And the result of my productivity and happiness, has been solid products and great engineering.
YMMV, but if you are having the serious thoughts that you are (and I take them very seriously), I think it's worth you investigating what those tools can offer. By taking the good and leaving the bad from the agile religion plus some of the things I listed above, I've returned to find the joy in programming again this last year, after a good 5 years of a downhill slide of my happiness with this career. It's about finding what works for you. I can only help and lead the way by showing you what worked for me. I'd be more than happy to discuss at length if you want to talk offline, I think this is a really important topic...it lead me to consider a career change many times.
Java Servlet 和 JSP 已经使用了十年左右,而且它们的工作方式仍然与 99 年一样。 但说实话,您能想象比 90 年代的 Web 应用程序更丑陋的东西吗?
Java Servlets and JSPs have been in use for a decade or so, and they still work the same way like they did in '99. But honestly, can you imagine something uglier than a '90s web application without any rework done since?
Python Web 框架 web2py 承诺向后兼容性:
并且支持Python版本从2.4到2.7
编辑:更新了一个重要项目2次,每次都出现问题。 嗯,……
编辑 2:现在需要 Python 2.6 到 2.7。 不支持 Python 3。
The Python web framework web2py promises backward compatibility:
And supports Python versions from 2.4 to 2.7
EDIT: Updated an important project 2 times and every time there was a problem. Well, …
EDIT 2: Needs Python 2.6 to 2.7 now. No support for Python 3.