Language agnostic 用于web开发的脚本语言与编译语言 虽然我来自纯PHP的编程背景,但我也在C语言和C++上花了很多时间。
我真的不想引发任何火焰战争,但是: 在网站开发中,什么时候应该使用脚本语言而不是编译语言?Language agnostic 用于web开发的脚本语言与编译语言 虽然我来自纯PHP的编程背景,但我也在C语言和C++上花了很多时间。,language-agnostic,Language Agnostic,我真的不想引发任何火焰战争,但是: 在网站开发中,什么时候应该使用脚本语言而不是编译语言? (反之亦然) 为了澄清这个问题,为了定义这个问题,我定义了一个“脚本语言”,它是指一种解释的语言,如PHP、Python或Ruby,以及一种“编译语言”,意指一种强类型的、编译的语言,如C++、C++、java或VB。 在 …您希望在何处以及如何部署应用程序 …贵公司工程师的技能 …您希望与哪些第三方组件集成或合并 部署 如果您需要能够在几十种不同的平台上部署解决方案,您可能会发现使用PHP比使用Ja
(反之亦然)
为了澄清这个问题,为了定义这个问题,我定义了一个“脚本语言”,它是指一种解释的语言,如PHP、Python或Ruby,以及一种“编译语言”,意指一种强类型的、编译的语言,如C++、C++、java或VB。 在
- …您希望在何处以及如何部署应用程序
- …贵公司工程师的技能
- …您希望与哪些第三方组件集成或合并
当然,总是有“两者/和”。例如,我现在在两个主要的、不相关的环境中工作,都使用脚本和编译资源的组合。(其中一个是Tomcat上通过Rhino的Java+JavaScript,另一个是IIS上编译的COM对象+JScript[同样,服务器端]。我发现这主要是一个意见问题。起初我讨厌asp.net提供的预编译web应用程序,但我已经习惯了,所以我不再讨厌它。它有优点和缺点: 专业的
- 预编译的web应用程序易于部署,通常只需更新bin目录即可
- 预编译的web应用程序性能良好
- 你不需要上传源代码,这很好
- 更新预编译的web应用程序通常意味着web应用程序被重置,因此除非您更改会话状态,否则它将结束所有会话并注销所有人
- 重建一个大型web应用程序可能需要一些时间,这会增加您最初编写更改所需的时间。我有时不耐烦
但再一次;两者都有优点和缺点。我是各地编译语言的忠实粉丝,如果仅仅是为了静态类型的话。另一方面,脚本语言非常方便——无需处理二进制文件,只需处理文本文件,这是web服务器的一大优势
最后,这其实并不重要——使用你所知道的、你觉得最适合这份工作的任何语言。我认为速度是web应用程序中的一个关键问题,尤其是
- 写代码的速度有多快
- 修复我的代码有多快
- 重构代码的速度有多快
- 测试我的代码有多快
啊,Python是。程序员可以用任何语言编写好的/坏的快速/慢速可伸缩/不可伸缩代码。尽管如此,一些语言和技术使其更难实现。根据我的经验,使用脚本语言可以比使用Java等编译语言更快地生成中小型应用程序。然而,随着应用程序规模的增长,编译语言变得更适合于任务我认为这来自于强类型对象、管理任务的更深层次的体系结构、,还有更多的QA框架来验证事情在发生变化时是否按其应有的方式运行。我不会对编译语言和解释语言进行如此明显的区分——这实际上只是一个实现细节,而且往往会随着时间的推移而变化(比语言本身的变化更快)。这一点也要感谢Facebook。另一个例子是——我喜欢用它进行web开发——我的首选现在运行的是一个VM,从这个意义上讲,它至少和Java一样经过编译 因此,我认为需要关注的问题是la的表现力