主题:【原创】讨论,ASP/PHP/JSP 比较,兼回 xiongsi 兄 -- landkid
小弟这三个都用过,小小谈谈个人感觉。并非根据充分,仅仅是感觉而已,
希望各位兄弟指正。
参考语言 C++ , 功能 5,速度 5,通用 5,代码简单程度 1, 越高越好。
ASP 最早的时候用。唯一的感觉是真够简单的。它的代码实在够简单,
当时拿了一本参考书,看了一天,第二天就把好几页代码写好了,
(不过当时的任务是动态网页,而非数据库。 MS 的数据库在个人
电脑上安装,也是非常不爽的事情)许多功能,都有现成的代码
稍微修改一下就好,比起常用的 C++, 代码复杂程度差了两个级别。
功能一般,仅仅用于网页而已。适用于小型网站,不适合大型企业级应用。
速度感觉并不明显。
后来任务完成就不太用了。主要是因为觉得它是坚守微软平台的,
完全依赖 IIS , 而且也不是很清楚它和其他数据库联接的方法。
(应该有,没仔细研究)而 IIS 和 微软数据库又是我最不喜欢
最不信任的东西。安全性问题全都出在 IIS 上,太悬了。
我不想完全被拴死在微软的战车上。后来就慢慢
尝试离开 ASP 的办法。
ASP 总评,功能3, 速度4,通用2,代码简单程度 5
C# 比起 ASP 来说好多了。因为它多了 Windows 窗口的开发,可以
写出直接的 Windows 程序和本地/远程数据库的联接,比较爽。又
吸引我回来了一把。没有 指针,比起 C++ 代码复杂程度差了一个
级别,所以我还是蛮喜欢的,一个小小的本地程序的开发,我常常
都是用 C# 来写。很快捷,很方便。虽然占用的资源比 C++ 大,
速度比 C++ 编写的程序慢。不过还是可以接受的。反正大家不是
奔三就是奔四了。呵呵。
适用于所有大型小型应用。
C# 总评,功能5, 速度3,通用3,代码简单程度4
PHP + MySQL + Apache 是我开发网上数据库的最爱,轻便快捷,
安全,因为开放源代码的东东,永远在升级。我只负责找到最新的
版本安装,基本上不担心有漏洞而没有补。开放源代码的漏洞修补
速度,我觉得比微软强多了。毕竟是全世界的头脑在修补它。
代码简单,比 C++, 代码复杂程度差了两个级别。和 ASP 一个等级。
联接各类数据库,我都有原代码在手,所以感觉比 ASP 还强。
速度感觉非常好。很喜欢。作为网上数据库开发,BBS, 动态网页,
是我最喜欢的方式。而且将来也不会受限于微软,不用购买昂贵的产品。
缺点是和 Windows 程序开发毫不相关,不能开发出 Windows 下的数据库
程序,可惜。不过不妨碍它作为网上开发的首选。
适用于小型网站,不适合大型企业级应用。
PHP 总评,功能3, 速度4,通用4,代码简单程度5
JSP 也用过,(感觉它仅仅是个 EJB 的小子集)它可以开发网上数据库,不过感觉
都麻烦,想建立一个应用,前后要进行很多步骤,设定很多环境变量,包含
这个包含那个,毕竟是比起 ASP/PHP 网页程序扔进服务器根目录就能用,
比起 C# 按一下 build, 按一下 run 就能运行,还是要麻烦多了。也可能
是我不熟悉。反正感觉还是挺麻烦的。先要开发服务器端的 class, 再开发
JSP 网页,还是比较罗嗦的。
适用于小型网站,不适合大型企业级应用。
Enterprise JAVA BEANS 号称JAVA 的未来企业级应用的
发展方向,功能强大,什么都能开发。可惜要开发一个网上的应用,要做 三重 定义,
BEAN定义,HOME接口定义,ROMOTE接口定义, 号称来保证稳定安全和定义清晰,
可惜我感觉真麻烦啊。。。。。
代码复杂程度比 C++ 差一个级别。比 ASP 和 PHP 麻烦不少。
功能倒是很强大,完全可以和 C# 对抗,既可以开发 Windows 程序,也可以开发
网页数据库程序,都不成问题,而且好处是,甚至可以运行于 Linux 下,比 C# 更强。
大公司完全可以用 JAVA/EJB 来作出全套的网上服务,提供数据库查询,订货,管理
等等的一整套大型系统。不过就不是我个人能够自己搞定的了。所以我只是
了解,并未深研。大概知道它的操作方式也就得了。
速度可真不快。为了运行一个小程序,要呼唤 JAVA ,真累。JSP 也是一样。速度
和 PHP/ASP 比起来是最慢的。
适用于大型企业级应用。作为小型应用就犯不着了。
不过,作为最强大最全面的开发工具,和 C# 对抗的利器,是
不愿听命于 MS 的大公司如 IBM 的唯一选择。
JSP / EJB 总评,功能5, 速度2,通用5,代码简单程度2
个人感觉,网页开发,最喜 PHP, Windows 程序开发,目前最喜 C#。
但对于大型商业网站,设计 + 实现 + 维护 + 安全 + 性能 + 可扩充性(scalabity)要一起考虑。
ASP和PHP都是Script语言。在本质上有很多缺陷。比如他们嵌在page中,business logic和Presentation Layer混在了一起,此为兵家大忌。另外这些语言无法使用OO概念来设计,实现。Code重用性很低。最后,所有的Script语言还都有性能上的问题。
(ASP和数据库打交道非常容易。使用ADO非常简单。为了提高性能,可以将数据库访问部分做成COM Object,在ASP里调用COM).ASP可以使用COM是他最大的优势。
JSP和Java Servlet有很多大公司在用。Java很干净,完全符合OO设计和实现思想。使用J2EE Server可以构筑大型网站。但是他们开发比较繁琐,好的J2EE Server,比如BEA Weblogic贵的惊人!
ASP.NET是个突破。可以使用OO来开发设计。Code behind可以使Presentation logic和business logic分离。网页被编译运行(MSIL)而不是被解释执行。引入了许多好的概念,比如Cache Object(2.0版有很牛的Dependency改进), Output Caching, Session Manager Process,View State等等。
从技术上讲,我认为ASP.NET领先于其他技术。至于是使用C#还是VB.NET,区别不大。By the way, C#中保留了指针(Unsafe code)。
本帖一共被 1 帖 引用 (帖内工具实现)
请再看看!
我是xiongsi,现在的名字换成accepted,以后还请多多指教为好。
最近刚开始接触一些JAVA和PHP的东西, 看了大家的讨论, 觉得很有启发.想了解一下那些有名的网站是拿什么开发的.
我所知道的有:
EBAY: JAVA的东西, 很有可能是JSP+SERVELET.
Wikipedia: 用的软件叫Mediawiki, 是用PHP+mySQL.
大家还知道其他的网站吗? 象DELL和Amazon等. 觉得Amazon的网站很快, 而DELL有时就很慢.
网站的访问速度由很多因素决定,不是单单用什么开发就可以说该网站的快慢了。
比如很简单,很多银行的网站使用JSP,感觉速度很快,要知道他们使用的服务器和网络出口都是顶级的配置,速度当然快。
我从工作到现在,用过C(写CGI),ASP,PERL,PHP,JSP,其实用哪一个开发都没关系,关键是看手头资源有什么。如果你有一台机器装的是LINUX,难道你不用PHP,而去选择ASP(不是说不行,是没这必要费那么大劲去搞)
Ebay曾经内部评估过ASP.NET,他们感觉很不错。但是他们不想捆绑在微软身上,所以暂时不会使用ASP.NET。那他们到底是用什么技术呢,我也不是很清楚。很可能是几种技术的组合。
看过微软的一个专访,谈Micrsoft.com是如何运行管理的,挺有意思。微软的产品在发布面世之前,都要在内部使用。比如64位Windows,ASP.NET,IIS等等。现在他们在内部测试最新的Windows Vista Server + IIS 7.0。微软认为如果Micrsoft.com这种级别的网站可以顺畅运行,那么它们的技术就可以完成任何任务。
Google用的是什么技术呢?什么OS,什么Database,什么Webserver?我也很感兴趣!
在服务器和网络出口都相同的情况下, 不同的技术手段还是对Application的速度会有影响的.
同样在LINUX下, 你是用JSP还是PHP呢, 如果速度是你唯一关心的呢?
如果速度是唯一关心的,是否不考虑要做什么呢?那要是这样的话,我肯定选PHP。但我不认为PHP比JSP要快得很明显。JSP在第一次运行的时候是要慢些,但一旦不再修改JSP的代码,我发现并不比PHP显得慢。而且PHP的页面维护相当乱,没有JSP结构清晰。
如果要整合不同平台的数据库,我当然是选择JSP的。
我只要写一个BEAN,里面做好数据库连接池,以后其他应用调用这个BEAN就OK了。
比如我本部门的数据库经常需要从其他分公司和上层公司的不同数据库里取来数据进行分析,然后提交本公司的其他部门(比如市场部,老总办公室,综合业务部,客服等),而其他数据库种类繁多,有ORACLE8,8I,9,9I,MS SQL SERVER,SYBASE等等,我这边是一台HP的PC SERVER,你说我怎么做?
如果我用同样一台机器做本地公司的论坛,你说选什么?
google用的是linux系统下的GWS(Groove Web Services)
http://en.wikipedia.org/wiki/Google_platform
里面只提到了硬件.
这里还有一段video (2002年的), 可以肯定的是他们用LINUX.
http://www.uwtv.org/programs/displayevent.asp?rid=1680
当然这是不言而喻的, 首先是要考虑做什么(Application), 在这之后才是速度, 编程难度等.
这是为什么? 是用了cache吗?
对最后两个问题, 你有什么答案吗?
我的答案是, 数据分析的SERVER, 用JSP (或ASP.NET), 论坛用PHP?