当前位置:  开发笔记 > 编程语言 > 正文

为什么这么多网络语言被解释而不是编译?

如何解决《为什么这么多网络语言被解释而不是编译?》经验,为你挑选了9个好方法。

为什么C等语言最终没有用于Web开发?当然,编译后的速度增加对重载站点有用吗?



1> Stein G. Str..:

另一个很好的理由是,在大型服务器上,执行速度并不像连接速度那么大.大部分时间用于发送和接收数据,而不是数字运算.而实际上在某些网络服务,了很多的计算,硬捣鼓可能运行作为编译的程序.

另外,解释型语言不需要编译(在大型项目中需要花费时间),因此它更适合于通常敏捷的Web解决方案开发.



2> Clint Miller..:

大多数Web应用程序与数据库通信.绝大多数这些应用程序几乎将所有时间花在与数据库进行通信上.因此,对于对应用程序的任何给定请求,应用程序服务器中存在少量处理,然后在等待数据库时长时间停顿.由于任何请求的时间中只有很小一部分花在实际的应用程序服务器代码中,因此通过在C/C++中编写代码来优化该代码只会在响应时间上获得很小的,可能不会明显的改进.

因此,与其关注C/C++并节省每个CPU周期,不如担心开发人员的工作效率.开发人员非常昂贵.并且,它们在脚本语言中甚至在Java中的效率通常比在C/C++中高得多.

当然,也有例外.如果对您的应用程序的某些请求是CPU或内存密集型的,那么它们应该用C/C++编写.但是,对于您的其他应用程序,您最好专注于优化算法,数据结构,与数据库的通信以及开发人员的工作效率,而不是优化您的语言.



3> Aaron Digull..:

与C相比,脚本语言具有以下优势:

    发展得更快

    今天,所有与此问题相关的内容都是在运行时编译的.在某些情况下,这可以使它们比同等的C程序更快,因此性能不再是问题.

    维护成本要低得多

    您可以使用敏捷方法(如单元测试)进行开发,从而产生更好的代码.是的,你也可以用C语言做到这一点,但这需要更多努力.

    当您进行Web开发时,您拥有庞大的框架,可以为您完成大部分工作.

    他们更容易改变.新功能可能需要几分钟才能实现.

    如果某些内容被破坏,您可以登录到您的服务器,在控制台中启动文本编辑器并修复问题,有时无需重新启动.


我说的是两个具有相似技能的开发人员.当然,经验丰富的C++开发人员比脚本新手更快,但在BASH中启动IO重定向的过程是一个单线程; 在C中,它可能需要10到100行,具体取决于您可能拥有的库.
"*开发速度更快*"?我不敢苟同.这真的取决于**谁**.对我来说,使用C++,Java甚至C开发比使用任何脚本语言开发要快得多.

4> Jon Skeet..:

C早期用于Web应用程序 - 我在其中编写了各种CGI脚本.

然而,随着时间的推移,更高效的语言(例如C#和Java - 当然不仅仅是那些)已被证明对Web应用程序来说"足够高效".请注意,C#和Java都编译为中间代码,然后进行JIT编译,实现"粗略"的本机代码性能.我们为什么要使用C代替?

就我所知,即使是传统的"真正解释"的语言,例如PHP,也经常在执行时编译.(我对PHP的了解尤其是二手.也许它总是被编译出来......同样我也确信有网络平台仍然会被解释.)



5> unwind..:

至少在最初,后端代码(我假设你正在谈论的)所做的很多工作都是面向文本的.它们要么直接从头开始构建页面,要么通过例如将数据库中的数据与模板相结合.

C不是......总是非常适合文本处理.C字符串是非常基本的,虽然C语言中的文本处理当然可以快速执行,但开发通常需要更长的时间,并且需要更深入的技能来实现,而不是帮助您多做一点的语言.



6> Timothy Khou..:

好问题.原因主要是由于网络的发展.分步考虑一下:

1)'net'上的基本文字 - > 2)一些'标记'添加到文本 - > 3)"中心"标签和"选框"形成!什么进步!!! - > 4)客户端脚本!!! 5) - >嗯...在服务器上编写脚本!

虽然我形成这个答案有点傻,但这是真的.互联网,尤其是"网络",是一个惊人的进化过程.说真的,要求更强大的语言(和更高性能的语言)也不过才更近的事情.

另外,看看工具.我在记事本(和其他一些简单的应用程序)中完成了我的PHP.当我第一次进行Web开发时,我的计算机没有足够的硬盘空间来支持Visual Studio 2008 :)

Side Point但是:那里有".exe"应用程序(我认为" SunBiz "发布到'exe'),有些编译cgi应用程序已经有一段时间了,但它们要少得多.



7> mipadi..:

值得指出的是,大多数脚本语言(Python,Ruby等)很容易 - 几乎是平凡的 - 与C语言桥接.(我只是为Python程序编写了一些C扩展,我对它的易用性印象深刻.)如果网站/ Web应用程序由于使用"慢"脚本语言确实存在一些瓶颈,那么通常可以用更快的语言(如C)编写性能关键部分.事实上,这就是Google搜索,Facebook等大型应用程序等等,他们用脚本语言编写界面,并用C等其他语言进行繁重的工作.



8> David Allan ..:

这主要是因为它可以快速而简单地即时更改它们.编译语言需要必须与服务器匹配的开发环境.使用脚本,您可以使用ftp工具直接编辑文本然后保存.这种从任何操作系统或类型​​的计算机执行此操作的能力已经多次挽救了我的生命(或正确的我的网站生活).



9> EricSchaefer..:

尝试在Perl/PHP中用C进行一些字符串解析/操作,你就会知道.

顺便说一句:为什么这么多人说性能不再是问题?对于小型主页/博客,我可能不是一个问题,但无论是用java,php还是ruby编写,大型Web应用程序仍然需要针对性能(cpu/network/memory)进行调整.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有