java .net php

来源:互联网 发布:关键规则算法 编辑:程序博客网 时间:2024/06/13 01:30
先说说Java,在企业级方面,可以说是绝对的老大,许多企业级技术,开发思想都是由Java发展出来的.缺点是Java开发部署比较麻烦,不太适合超小型的项目。   再说.Net,在1.x时代,.Net可以说基本上没有多少企业级开发的特性,到了 3.0,微软各种框架技术虽然弥补了这些不足,但是相对于Java世界,还是有一定距离。在Web网站方面,.Net服务器控件的优势,变成了弱势,由于服务器空间产生垃圾代码,并且不方便美工调整,导致在前台界面要求较高的门户站点难以使用(虽然有第三方MVC框架,但是没有IDE支持,体现不出.Net的优势)   再说说PHP,他的定位非常明显,就是Web开发,所以有很多适合Web开发的特性,比如部署十分简单,几个文件随便找个虚拟主机扔上去就能运行。在国内因为Discuz , DedeCMS等著名产品的鼎立推广,PHP在中小型网站开发中有很大的优势,最近大量的开源框架出现,给PHP企业开发注入了一些生命力,可以说潜力十足。   综合以上我们可以看到,.Net定位不太明确,微软这个想吃那个也想吃,最后没一个能吃饱吃好..
PHP跟.NET,一个面向个人(php),一个面向大型系统(当然,做小系统也是可以的,只是资源占用相对比较多小点) 离旗鼓相当还有很远.  现在真正在台面上竞争的只有以java为开发语言的J2EE平台和 以C#为代表,多语言的.Net平台.
        世界上最大型的100个网站里面, .Net的(aspx和srf)占37个,J2EE的(jsp)比.Net的多(具体多少忘记了), php的有0个,asp的有1个.
        Java的J2EE平台在开发架构上优于.Net平台.但是在可用技术种类上差了一些. 因为J2EE比.Net先几年推出,所以现在仍然在第一位. 不过.Net正在缩小差距. 尤其是集成了.Net3.0的Vista操作系统推出,将会有一次大的飞迁..Net 3.0 拥有最灵活强大的工作流(WF),最完整的统一集成管理(WCF),和应该算是最华丽的界面(WPF).
        正式的3.0将在2007年出. WF是世界上第一套通用完整的工作流平台,WF将全面和Vista操作系统,Office 2007 和微软的未来各产品完全集合并将成为未来操作系统的核心,这造成其他公司很难与其竞争. WCF是一个框架,用于沟通所有微软的产品的一个通用框架,可以大大减少编程的代码. 这方面我研究不多.但是微软一共有多少产品??? 如果把微软的东西方便地把功能集成起来相互调用,是非常诱人的.WPF是新一代界面技术,架于 OpenGL和DirectX之上, 在网页上使用的话(网页后缀名为xaml), 可以完全把Flash和什么动画视频扔一边,WPF上的xaml可以在网页上实现3D和2D的类似大型游戏那样惊人的动画和交互效果而甚至不需要图片(完全及时演算).  我自己试了一下,做了点xaml的网页,感觉起来跟Flash有点像,(我水平不行,无法用程序代码和标签做出魔兽世界来 ^_^ )php  MySql 是个人开发者一个好选择,是MySql是小型数据库,不适合做大型应用.(当然比Access2000要好些, 跟Access2007哪个强就不好说了)aspx SqlServer 适合企业级的开发,VS2005的全套帮助jsp oracle 凭借J2EE平台的优秀架构,在大型开发中如鱼得水.
      在网页开发的世界,尤其是背后以数据库直接产生动态资料的网页应用程式,往往都是由这两种语言编写的;微软的asp.net及开放源码的php。Ian Wilson分析人们是如何从这两种语言中作出选择。人们根据什么来选择?Ian认为不外乎以下几个条件:
  
      1.开发工具的成本
      2.获取开发工具的容易程度
      3.对开放源码的认识程度
  
      由于PHP本身存在的一些缺点,比如PHP提供的数据库接口不统一,这就使得它不适合应用在电子商务中。
      ASP.net有什么好处?作为动态网页的开发语言,ASP已经有很多的历史,它把大部分数据库操作的细节隐藏起来,使应用程式连接到Access 或者 SQL Server 的时候得到很大的便利。它也是.net家族的其中一种编程语言,开发ASP.net必须要拥有微软昂贵的Microsoft Visual Studio Programming Suite,这个开发工具套装尽管昂贵,功能却不少,微软也经常为它提供补丁及支援,所以对网页开发人员来说很有吸引力,aspx SqlServer 更适合企业级的开发。
      在微软的.NET框架推出后,ASP.NET一度火热,其各方面技术与ASP相比都发生了很大变化。它不像ASP、PHP那样靠解释执行,也不像JSP那样执行中间代码,而是编译为二进制数,以DLL文件的形式存储于硬盘。显然,它的安全性和执行效率都要远远高于以往任何一种动态网页技术。
      可以看的出ASP、PHP、JSP本者都有相当多的支持者,ASP.NET更是势不可挡。
  1. 从语言上比较:JAVA:JAVA产生与1995年,JAVA语言和JAVA平台统称为JAVA;它语法与C语言和C++语言很接近,并且JAVA是面向对象编程语言,JAVA是编译性语言,可以先将JAVA源码编译成.class文件后,在JAVA虚拟机上解释执行。PHP:PHP产生与1994年,其语法混合了C、Java、Perl 和他自创的一些编程语法;PHP是嵌入在HTML中执行的;它也是一种解释性语言。早期的PHP并非完全的面向对象编程语言,到了PHP4以后的版本才开始有了面向对象的概念。.NET:在.NET中,多种编程语言支持开发如:VB、C#、F#等等,通常我们都在使用C#编程,C#是为.NET平台专们打造的一种编程语言,产生与2000年。其语言语法和JAVA、C、C++相近,同样也是一种面向对象编程语言。C#同样需要编译为.dll文件,然后由.net框架中CLR编译执行。
  2. 2
    从语言区分:PHP、JAVA、C#这几天语言最大的区别就是执行方式的不同。其中还有一些语言本身的区别,比如是否为强类型、是否能动态编译、是否为多线程、是否为分布式、是否可移值等等。至于很多人说的性能上的问题,我认为语言本身上的性能问题差异并不大,关建在于写程序的人如何编写的代码。另外,在关于与语言结和的数据库方面也有一定的区别,PHP通常使用MySQL数据库,JAVA通常使用MySQL或Oracle,而C#因为是微软的产物,通常使用与微软相关的数据库Sql Server或Access等,有时候也会用Sqllite数据库。 
  3. 3
    从平台上比较:.NET:在.NET这个体系中,语言和平台是有明显区别的,而且一个平台上可以应用多种语言开发,这样就满足了掌握不同语言的程序员可以开发同一个应用程序。在.NET平台中,也像JAVA一样,可以开发不同的应用,比如:WinForm(桌面应用)、控制台应用、ASP.NET(WEB应用)、WPF(新的桌面应用)、WCF(网络通信基础应用)、WEB服务(面向服务编程应用)、ASP.NET MVC3.0(新的WEB应用)、XNA(桌面及手机游戏应用)等等。 JAVA:我们在称呼JAVA的时候,往往说的并不一定是语言本身,而是指JAVA平台。在JAVA平台中,可以使用JAVA语言去开发各种不同的应用开发,比如说:Java SE、Java EE和Java ME,分别用于开发JAVA桌面应用、WEB应用、移动应用等等。PHP:一般人在称呼PHP的时候,本身并没有平台和语言的区别。我们用PHP往往只做WEB应用开发,至于桌面应用程序的开发,近年好像PHP出了这种开发平台,但现实应用中几乎看不到(电脑没声音)。但是不得不说,PHP在WEB的表现层应用中,有很好的表现,不论从处理界面布局,或是性能上都有着不错的优势。 
  4. 4
    从平台区分:三种技术平台都可以做我们常用的WEB应用。对于桌面应用来说,PHP并不太适用,JAVA则没有较好的桌面应用的开发工具,这方面.NET平台有较好的优势,不论是Winform还是WPF,都非常适合做桌面应用程序。至于实现一些底层的复杂业务,PHP则不如JAVA和.NET,但是在做前端表现层的时候有着较好的优势。所以很多复杂的大型综合应用,可能会有.NET或者JAVA做数据访问层及业务逻辑层,PHP则用来做表现层。据所说淘宝就是基于这种方式开发的。同时,JAVA与.NET都是可以跨平台的,.NET还能跨语言。

   随着所谓WEB2.0时代来临,程序员从来没有象今天那样受人注意,很多程序员对于语言的争论也从来没有象今天这样剧烈,Java、C++、PHP、ASP等等,最近又出来一个Ruby,加上Python。无数的FANS在中间进行争论不休,也就是在internet上,如果是在现实生活中,大概会象《倚天屠龙记》里描述的那样,会决战光明顶来定一个胜负,或者说定出天下第一大门派。

      人民群众是很爱戴PHP的。至少在我看来。没接触过PHP项目,但是身边的PHP项目越来越多,虽然都是小公司,还听说PHP很火,500W招高级PHP程序员--不知道是不是那CEO前一天晚上洗澡脑子进了水,或者薪水是越南盾之类的~

      偶在Google Groups上转,想找到说服自己的答案,找了很多developer问,PHP、ASP与Java,他们之间谁更好?Generally speaking,they would say,ASP out,Microsoft出的垃圾,PHP and Java are good choice,Java适合做大项目,PHP适合做一些短平快的东西。的确,世界上最大的C2C eBAY,就是用Java的,中国最大的社区ChinaRen校友录也是Java---而很多小的网站,初期都是PHP,后来各种原因都必须改到Java上面去。

      这种感觉就是像说,如果你想学武功以便出去砍人,或者说在江湖扬名立万,那么军体拳你就不用练啦,这个东西是GOV拿出来强身键体的,五虎断门刀这个东西你用来对付一般的流氓是绰绰有余,但是碰到绝顶高手你就歇了。而Java有点象太极拳,当今武林最大的门派之一SUN的首推武功,是对负高手的不二选择,于是很多人就认定:PHP是低等武功,练到最好的结果也就是给赌场看看场子,只有练就Java才能做武林盟主。

      看网上说,很多人都有这种心理,他是使用Java的,而你如果让他写PHP,,很多人会有一种受到侮辱的感觉,不是觉得经理不重视他,就是在想自己什么时候得罪了经理,竟然被发配到PHP这种偏远的小地方去了。越是大公司,PHP的项目越难开展起来,这个让很多技术leaders很是郁闷,但也很是奇怪。所以,下面,咱们一起分析一下形成这种被人民群众认可,却不被很多开发人员看好的语言——PHP。 PHP 进入中国是98,99年,进入的时候,初期应用的典型是Chinaren校友录,还有很多的互动应用,它以开发方便,容错性好,迅速成为很多网站的选择。到了00,01年,互联网泡沫的时候,很多都是PHP完成对网站的开发,它的流行有以下几个原因:

  • 兼容C的语法,容易掌握
    就这一点来说,它保证了开发人员的稳定来源,基本上说,每个学计算机的人员,没有不学习C 语言的,所以都能在一到两周左右快掌握这个新的语言,然后经过简单的指导,就能开始初期的开发工作。单从程序本身的开发而言,写了三年以上的程序员,和开发了半年以上的PHP程序员差别不是太大。
  • 运行的快速
    在网路上面,速度是很重要的问题,这一点来说及时是对PHP非常不屑的人也不得不承认PHP得运行速度还是比较令人满意的,只不过由于没有很实际的数据,只是很多人感觉,所以这一点来说,没有非常有力的证据证明。
  • 非常强的容错,很好的鲁棒性能(鲁棒性要强调下,前几天同学问我什么是鲁棒性,因为人脸识别这块很多这个词,我想破头都没想出来,后来才知道是robustness,郁闷至极,这是经常碰到的单词,但没想到是这样翻译)
    很多写PHP的人员应该有这个感觉,举个例子,你申请一个PHP中的变量,做数字也行,做数组也行,做字符串也可以。我有时候都在想,这么随意的风格,他是如何保证效率的,只能说写这个语言编译器的人实在太不可思议了。
  • 丰富的函数和简单的操作
    能想到的一些操作,如果不是太罕见,你基本都能找到函数库来解决,典型的就是读文件的内容读到一个变量,到现在为止,我知道的好像只有PHP提供一个专门的函数来解决这个问题

以上四个特点,用PHP开发程序非常得普遍,但作为程序来说,这些看起来非常不错的特征也形成PHP的一些问题,造成在很多资深的程序员对其评价很低。

      首先第一条,也是让很多资深的程序员对其尴尬不已的,做了3年以上的PHP程序员,当一个初学者问其一些技巧的时候,他们突然发现,PHP这种语言实在是没有好说的,看它的帮助就能解决问题或者看一下教程。不像Java,一个仅仅写了半年左右的Java开发人员和3 年以上的Java开发人员可以说有本质的区别,后者可以讲很多JAVA的开发架构和分布问题,讲的那个菜鸟满脑浆糊,满脸崇拜。

      第二条还是效率的问题。市面上对于WEB语言的效率,PHP快只是感觉,并没有一个非常有力的测试证明它比别的语言快很多,而JAVA和ASP却有一个非常有名的一个测试性能比较。

      有人做过试验,对这三种语言分别做循环性能测试。在循环性能测试,JSP用了20000*20000的循环? 共四秒钟。而ASP、PHP测试的是2000*2000循环(少一个数量级),分别用了63秒。PHP测试的是2000*2000循环 84秒 。

      一个有意思的测试,说明一个问题,对于大量的运算,PHP看起来不是一个太成功的语言,这个也是很多高手不是很看好PHP的一个实际例证明,然而实际是这个仅仅是一个有点BT的测试,谁会在互联网上写一个循环400万次循环以上的一次请求应用。实际上,在WEB应用中这种循环或者说密集的运算非常罕见,如果有,首先该考虑的也是算法的优化,减少循环的次数,然后才是考虑语言本身。并且就算是必要的,也不是Java、PHP和ASP能够解决的,这个时候,如果用的比较多,C会粉墨登场,再多一点,可以使用汇编,非常多的情况下,芯片的设计我想是比较好的选择,怎么样都不会轮到Java这种语言,所以用这种方法来评价PHP是非常不妥的。

而对于PHP开发中较好的鲁棒性(再次寒一下),你怎么写它都能运行,并且很稳定,从而也造成PHP程序员的散漫,程序的开发非常随意,又加上中国互联网产品开发的紧急性,几乎都没有很好的文档,从而后期PHP程序的维护成为无数项目经理的噩梦。这一点也是很多高手或者说资深程序员对于PHP评价很低的地方,而当很多项目经理需要要规范开发的时候,却又发现无从规范起,Java有Struts、MVC……而PHP却缺乏成体系的开发架构,从而也成为PHP很难成为企业应用系统的选择。至于丰富的函数操作,这个大概是唯一没有被人诟病的地方,但是 Java、ASP以及Perl都有很丰富的函数,PHP在这一点没有非常大的优势,所以只是成为人们选择它的一个不是很重要的理由。


0 0
原创粉丝点击