热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

各种Web脚本开发语言比较程序员技术浅谈

编程是简单并且轻松的。虽然我们都确认php和perl是最容易学习和编程的语言,但我仍旧想知道,如果用php、asp、jsp以及perl分别编写一个同样的程序,哪一个将最快。
编程是简单并且轻松的。虽然我们都确认php和perl是最容易学习和编程的语言,但我仍旧想知道,如果用php、asp、jsp以及perl分别编写一个同样的程序,哪一个将最快。

  进行这样的对比依赖于操作系统和硬件设备。对于我来说,在linux/apache上运行php是非常快的,即使机器属于低端Pro类型。当然,每个人都知道linux是多么的稳定与快速。IIS上的ASP运行可以非常快,但是也要求相当高的硬件性能。

  至于Java,许多编程者都一直在抱怨它怎么会这么慢 … 有一个报告叫做“volano”,从中你可以找到各种JDKs和Servlet引擎间在性能上的区别。

  但是也要看到,现在由于“Java”的大肆宣传,每个人都在研究Servlets/JSP 或者 EJB(这可以从工作招聘中的调查得到)。所以,如果你从身无分文开始工作,PHP或者Python/Zope将是最好的选择。但是如果你就职于一个目标远大的公司(几千美元对他们来说是无所谓的),你就会有许多种选择。

  在企业级计算机环境中开发应用程序要面临许多特殊的挑战:多后台线程是标准,代码资源必须是可管理的、可维护的并且能被多代开发人员所重用。

  即使有了这些限制,IT管理人员仍旧要面临巨大的压力去快速开发新项目。当这些工程发生在Web上时,脚本语言就经常是较好的选择。

  做为评估的一个商业案例,eWEEk实验室模拟了一个试验,假设为了intranet的发展需要设计一个新的、相对小型的Web应用。我们限制预算在几千美元,以及一个星期的开发时间。

  测试中,我们使用了2个同样的Dell计算机公司的OptiPlex GX1p 系统,每个机器的CPU都是Pentium III 550MHz、内存 384MB。

  一个服务器运行Windows 2000 Server,并且安装了Service Pack 1。我们在其上测试Allaire公司的ColdFusion Server Professional 4.5.1以及Microsoft 公司的ASP (Active Server Pages) 5.0。另外一个服务器运行Red Hat 公司的Red Hat Linux 7.0,其上测试Apache 公司Tomcat 3.2 Beta 5 以及 PHP 4.02。

  在开发速度、易用性以及完整、强大的API使用等方面,ColdFusion最终鹤立鸡群。

  我们也推荐使用JSP (JavaServer Pages),它由Tomcat 描绘,对于企业级应用是一个好的选择。ASP和PHP也能做同样的工作,但它们不是我们第一选择。

  为了测试Web页面性能并且测试稳定性,我们使用了Quest软件公司的Benchmark Factory load测试和稳定计划工具。Quest软件可以从www.quest.com得到。

  尽管性能有所不同,但我们相信每个产品对于小型工程都是足够快的,在那里纯脚本应用是有实际意义的。关于这个测试的更多信息,包括代码以及性能细节,发布在www.eWEEK.com/links 
JSP

  Sun微系统公司一直努力地普及它的JSP脚本语言,并给Apache组织贡献有关JSP和Java Servlet引擎的代码。Apache组织将这些代码发布为一个Apache产品,叫做Tomcat。

  JSP相对来说还是一个新技术,但是已经有了明确的市场方向。

  然而,由于JSP基于Java(并且几乎能做到Java可以做的任何事情,这就开放了一个巨大的API库以及类库)而且由于被称为标记库的JSP扩展使JSP能模仿ColdFusion的标记类型API,因此我们有理由认为,在未来几年中,JSP将成为Web脚本语言的核心。

  还有更多种类的产品支持JSP,它们适用于高端应用服务器,这就让JSP开发人员能更容易地考虑扩展性和容错性。

  由于JSP基于Java,而Java是一个功能强大的类型语言,所以当需要时我们就必须定义变量的类型。对于非程序员学习起来,这就是一个困难,尽管了解一些Java的人认为JSP几乎可以很快上手。

  利用Java数据库连通性,Java具有一个灵活且完整的访问数据的API集。

  在服务器端,我们测试了Apache 组织的免费 Tomcat 3.2 Beta 5版本。测试服务器是Linux的情况下,Tomcat的速度大约是每秒13页。

  很不幸,Tomcat只具有很基本的性能监视器和管理工具(在Web上我们也许能找到一些beta产品),这与PHP类似。位于高端的基于Java的应用程序服务器则提供了丰富的管理工具。

  尽管Sun的Java 1.0 Community 版本的长处是免费的,而且非常适于JSP开发环境,但实际情况是,在JSP领域,开发工具通常很短缺。

  对于企业级开发,我们相信,JSP技术尽管很新,但仍旧是正确的选择,因为它使用了Java,而且许多应用服务器产品都支持JSP。Microsoft ASP

  在团队开发环境中,微软公司的ASP(active server pages)语言是众所周知而且非常好的Web脚本技术,这也意味着ASP开发人员非常容易发现。由于ASP是随Windows NT 服务器和Windows 2000 Web服务器安装自带的,所以这项技术也是非常流行的。

  由于支持未定义类型变量(untyped),ASP使得编程很简单。而且通过支持Microsoft COM(Component Object Model:组件对象模型)标准,它提供了访问巨量Windows API集的简单方法。这也是一个双刃剑,在提供简单访问强大的COM对象同时,ASP代码也很复杂而且难于编写。微软公司的ADO(Active Data Objects)COM接口提供了全面数据库访问API。

  微软同样投入大量资金在ASP的clustering技术上,并且即将到来的微软应用程序中心服务器将提供对ASP站点的clustering技术和内容管理功能

  编写ASP时使用Vbscript语言,我们希望它具有try/catch关键字。没有这些,编写错误处理逻辑程序是非常讨厌的,因为我们必须手工检查看看是否发生错误(ASP也支持Jscript,它具有try/catch关键字)。

  ASP开发工具是很多的,而且通常是很成熟的。我们使用微软公司的Microsoft Script Editor(随Microsoft Office自带)编写页面,发现这个工具非常有价值,因为它具有一个方便的编辑环境以及一个完整的调试器。

  我们的ASP站点是运行Windows 2000的服务器,速度大约是每秒43页。

  另见:ASP与JSP的比较

PHP

  Php做为首选的Linux Web脚本语言迅速浮现出来。随着今年PHP4的发布,它尤其具备了大量的新功能,其中包括一个新脚本引擎和语言的标准化关键字部分(比如HTTP会话管理),这在以前是以add-on模块的形式存在的。

  PHP开发小组的PHP语言是开放式的,并且可以安按照源代码形式下载。适用于Windows的预编译二进制码也是可用的,而且PHP可以工作在许多Web服务器上,包括Apache和微软的IIS。

  PHP确实是几种强大功能的混和物,包括Perl、C、Java,甚至某些ASP,并且支持未定义变量使得开发工作简化。PHP非常易于扩展,由于源代码可用,使得各种各样的模块扩展程序被一大群人开发并贡献出来,这些扩展程序包括:数据库链接、邮件应用、XML解析器等等。

  丰富的扩展也导致了缺乏API方面的一致性。用户们必须努力约定他们使用的PHP组件,从而有效跟踪相关的改变。

  我们重点关注PHP在标准数据库API上的匮乏:为了访问Oracle数据,我们就必须直接编写调用Oracle8 API的代码,这使得页面很不轻巧并且增加开发费用。在这个领域正在进行一些研究,其中包括将Micorsoft的ADO转向PHP。

  同样,PHP缺乏完整的开发环境工具以及调试程序(我们只能找到一个,就是Ives Development 公司的Nexidion Designer,它还停留在1.0版本)。

  在测试的Linux服务器上,PHP拥有大约每秒47页的速度。

       因此这样原理上说来,PHP还是不错的选择! 


推荐阅读
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • asp中如何嵌入python的简单介绍
    本文目录一览:1、如何在IIS中执行Python脚本 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 腾讯安全平台部招聘安全工程师和数据分析工程师
    腾讯安全平台部正在招聘安全工程师和数据分析工程师。安全工程师负责安全问题和安全事件的跟踪和分析,提供安全测试技术支持;数据分析工程师负责安全产品相关系统数据统计和分析挖掘,通过用户行为数据建模为业务决策提供参考。招聘要求包括熟悉渗透测试和常见安全工具原理,精通Web漏洞,熟练使用多门编程语言等。有相关工作经验和在安全站点发表作品的候选人优先考虑。 ... [详细]
  • Linux环境变量$PATH的作用及使用方法
    本文介绍了Linux环境变量$PATH的作用及使用方法。$PATH是一个由多个目录组成的变量,用冒号分隔。当执行一个指令时,系统会按照$PATH定义的目录顺序搜索同名的可执行文件,如果有多个同名指令,则先找到的会被执行。通过设置$PATH变量,可以在任何地方执行指令,无需输入绝对路径。 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • nginx+多个tomcat
    学习nginx的时候遇到的问题:nginx怎么部署两台tomcat?upstream在网上找的资源,我在nginx配置文件(nginx.conf)中添加了两个server。结果只显 ... [详细]
  • 导读:在编程的世界里,语言纷繁多样,而大部分真正广泛流行的语言并不是那些学术界的产物,而是在通过自由发挥设计出来的。和那些 ... [详细]
author-avatar
chajian004_566_696
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有