简体   繁体   English

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

[英]Is there a stable Programming Language for Web Programming?

A renowned PHP user once said: There will be a relaunch in 2 years, anyway. 一位著名的PHP用户曾经说过:无论如何,两年之内都会重新启动。

Those times are gone. 那些时代已经过去了。 Web applications that are older than 5 years are common. 超过5年的Web应用程序很常见。 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"? 对于那些想留在编程中而不是爬上公司阶梯并将问题留给下一代“下一代”的人们?

My company codes almost exclusively in C#, however we have ColdFusion 5 apps still humming along written back in 2001 or so. 我的公司几乎只使用C#进行编码,但是我们在2001年左右编写的ColdFusion 5应用仍在嗡嗡作响。 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. 除了安全漏洞(通常由OS / Server Patch处理,因此它们不需要代码更改)之外,无需更改应用程序,仅是因为出现了该语言的新版本。

If I'm not mistaken, ColdFusion has had at least 2 new releases since we stopped using it for new code. 如果我没记错的话,自从我们停止将其用于新代码以来,ColdFusion至少有2个新版本。 but that hasn't affected our ColdFusion sites one bit. 但这丝毫没有影响我们的ColdFusion网站。

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

Firstly, it is possible to overstate the difficulty in maintaining web applications. 首先,可能夸大了维护Web应用程序的难度。 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. 几年前的.NET,python等代码仍将运行,但是正在添加新的选项,以使这些工具对于将来的应用程序更加强大。 The case where massive changes occur tends to be on the first or second iteration of a language, eg Rails 1 to Rails 2. 发生大规模更改的情况通常发生在语言的第一次或第二次迭代中,例如Rails 1到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. 其次,值得庆幸的是Web编程的积极发展,这意味着它是该行业的一部分,并将在未来几年保持高产和令人兴奋。

Traditional CGI is stable. 传统的CGI是稳定的。 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. 它不是很性感,但是如果您的OS继续能够运行相同的二进制文件或脚本,它仍然可以正常工作。

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. 停滞不前的框架将不支持AJAX或JSON甚至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. 您可以期望的最好的结果是一个成熟的框架,该框架具有良好的支持,例如ASP.net或JSP。 And, as @Neil N said, don't keep upgrading unless there's a compelling business need. 而且,正如@Neil N所说,除非有迫切的业务需求,否则不要继续升级。

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. 我以前曾在大型航空航天公司工作过,这些公司的Fortran后端代码和数据库的前端已经从纸带时代发展到大型机,客户端服务器以及Intranet网站。

On the outside, you have will typically have CSS and XHTML templates which can be changed to re-skin an application. 在外面,您通常会拥有CSS和XHTML模板,可以对其进行更改以对应用程序重新设置外观。 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. 从1990年代后期开始,我们为此使用Java。 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. 后端通常是稳定的(某些空气动力学代码可追溯到1970年代;物理定律不会经常更改),并且会比其他用户界面范型更持久,比Web用户界面持久。 Fortran is forever. Fortran是永远的。

The first web programming I ever did was writing Apache modules in C which communicated with a dBase database. 我做过的第一个Web编程是用C编写与dBase数据库通信的Apache模块。 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. 我目前在Perl中进行大多数与Web相关的编程,该编程非常稳定,并且具有向后兼容的出色记录。 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. 为Perl 4(1991年3月21日发行)编写的大多数(即使不是全部)代码仍应在最新的稳定Perl(5.10)上运行-尽管您可能想通过任何方式对其进行更新,以利用这18年的改进经验软件开发技术和语言功能。

Write your own web server in C then you don't have to worry about a web programming language. 用C编写自己的Web服务器,则不必担心Web编程语言。

(No, that's not a serious answer) (不,这不是一个认真的答案)

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. Java Servlet和JSP已经使用了十年左右,它们的工作方式仍然与99年代相同。 But honestly, can you imagine something uglier than a '90s web application without any rework done since? 但老实说,您能想象比90年代的Web应用程序更丑陋的功能,而此后无需进行任何重新工作吗?

The Python web framework web2py promises backward compatibility: Python Web框架web2py承诺向后兼容:

Always backward compatible. 始终向后兼容。 We have not broken backward compatibility since version 1.0 in 2007, and we pledge not to break it in the future. 自2007年1.0版以来,我们一直没有破坏向后兼容性,并且我们承诺将来不会破坏它。

And supports Python versions from 2.4 to 2.7 并支持2.4至2.7的Python版本

EDIT: Updated an important project 2 times and every time there was a problem. 编辑:更新了一个重要项目2次,每次都出现问题。 Well, … 好, …

EDIT 2: Needs Python 2.6 to 2.7 now. 编辑2:现在需要Python 2.6到2.7。 No support for Python 3. 不支持Python 3。

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? 您是否认真地看过TDD,CI,结对编程和一个坚实,快速的开发框架(基本是Django或Rails)相对于您编写和设计代码的方式可以为开发人员提供什么? 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. YMMV,但是如果您有认真的想法(我非常重视它们),那么我认为您有必要研究一下这些工具可以提供什么。 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. 通过接受敏捷的宗教的好处和坏处,再加上上面列出的一些东西,在经历了长达5年的艰难岁月之后,我又回到了编程的喜悦中。事业。 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. 如果您想在网上脱口而出,我很乐于详细讨论,我认为这是一个非常重要的话题……这使我多次考虑职业转变。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM