- 浏览: 248408 次
- 性别:
- 来自: 大连
-
最新评论
-
di1984HIT:
不错。不错~
JIMI、JAI和ImageIO的一些感想 -
houyi521:
...
给OSGi加入数字签名及认证特性的思考 -
dsjt:
map是映射到直接内存,回收比较复杂。用堆内存缓存:
Byte ...
慎用 MappedByteBuffer! -
faint2010:
PHP这个基础本身是非持久的,你却硬要做持久层,无异于霸王硬上 ...
用PHP做ORM效率那是相当的低啊! -
wuhoufeng:
orm带来开发上的方便 但是增加性能优化上难度 所以要配合缓存 ...
用PHP做ORM效率那是相当的低啊!
最近有不少文章讨论PHP如何如何不好,如何如何不适应企业应用,如何如何会倒掉的问题。我也发表一下我的看法。
我认为PHP的最成功之处在于以下几点:
1. 相对简单的语法:PHP的语法构成囊括了C、JAVA、PERL等,这使得熟悉这些语法的人可以很轻易地入门PHP语言,而其他语言则不同,除非用户在一门语言中有了一定的经验,再去学另一门语言能稍微轻松些,但是对于毫无经验的初学者,那是一个痛苦的过程。
2. 丰富的类库支持:PHP内置了非常多的函数,而且都使用统一的命名环境,这样PHP开发人员只需要打开PHP参考文档就可以查询到,不必像其他语言那样(如Java),不断地加入第三方类库及学习其使用方法。
3. 低廉的部署成本:因为PHP本身就是开源的,因此它使用的环境大多是开源或免费的,况且市面上集成产品很多,如XAMPP,一解压运行个自动安装程序,就可以使用了。再看其他的语言,Java产品中免费的有tomcat,它还是需要进行一些手工配置,且性能非常一般;而ASP.NET的它本身就是收费的,这里就不说了。
再者就是,PHP是专门针对网站的,这使得它把全部精力投入到如何优化网站上面,不管是语法结构还是解释引擎。而其他语言如Java或.net,他们是一套通用的语言,网站应用只是其一部分,网站快速开发和应用能力确实没有PHP强。
上面几点总结出一句话就是:不用高价的开发人员,不用配置很高的硬件服务器,就可以非常快速地构建网站应用。而这个速度,是其他语言所不能匹敌的。最简单的测试不过是拿一个同样功能的网站,让一帮初级程序员分别用PHP、JAVA、ASP.NET进行开发,看看开发和部署速度的差距就知道了。
你会发现,这应该就是PHP的魅力所在。
至于OOP,我觉得对于网站的应用来说,只要能以最快的速度满足客户要求就行了,任何产品如果无法满足客户的需求,那使用再好的技术也是扯淡,更何况如果不是大中型项目,OOP是会拖累开发进度的,而目前大部分网站应用来说,基本都是小型项目。
而企业应用,我觉得PHP完全可以胜任,因为PHP它内置了支持调用Java和.NET组件,如果自身不行,那就用别人的嘛,只要快速开发的本质不变就行。
至少,从我接触PHP的这段时间来看,个人认为它不会垮掉,因为网站应用还没有能像它一样简洁快速的语言出现。(不要说ruby了,它的学习门槛不低啊,而且运行环境配置起来也比较复杂,大部分常用类库也都是外置的)
评论
都有哪些理解错误的问题呢?我向来做事都是有理有据有引用有数据,请赐教,如果我所说的话真有问题,肯定会改正滴。但老兄这么笼统地说有问题而不举证,偶实在是不知如何是好呀。

java语言本身虽然不咋样。jvm的实现还是很好的。
以前有些复杂的几何运算原来还想用c++做,现在发现没这个必要。
恩 scala不错...
哇,这样的话就多了去了,大网站只要内部使用某个技术,都能说,XXX语言不错。。。
恩 scala不错...
http://www.dbanotes.net/arch/facebook_php.html
可笑还在讨论使用哪种语言。
把twitter搬出来:恩,ruby不错。
把live搬出来:恩,.net不错。
把豆瓣搬出来:恩,python不错。
把google搬出来:恩,java不错。
贴一个链接就有意义了么?
如果要说架构重要,那是有意义的。
http://www.dbanotes.net/arch/facebook_php.html
可笑还在讨论使用哪种语言。
有人说erlang并发能力更强,不过没亲眼见过真实案例,总觉得虽然erlang理论并发能力强,但是实际运行会有其他瓶颈,而且erlang的虚拟机能否充分利用多核,也是个问题。
发现你很欠抽,erlang在生产环境的应用历史远长于java、php
是啊,最终被爱立信给抛弃了(如果不被抛弃,还不能对外公布资料),然后某些程序员不死心,才又拿出来。
我倒想问了,为什么erlang会被爱立信抛弃?既然这门语言so strong。
说说看这个 被抛弃是怎么回事? 我才第一次听说。。有没有link?
Erlang嘛,爱立信确实不怎么理了。上次同学聚会,碰到爱立信里面的,还专门问了一下...
http://erlang-china.org/misc/simplified_erlang.html
我是这么认为的,目前的erlang的运作并不是太理想,很担心最终的结局仍然会和当年在爱立信中的结局类似,历史上不少优秀语言都是这么消亡的。
一个语言要获得成功,不能仅仅是自己本身优秀,相关很多配套的都必须要跟上的。
例如虚拟机的稳定性是要在大量各种不同硬件平台上,不断的在生产环境中使用、用户反馈bug、虚拟机改进、优化的基础上逐步成熟、稳定的。
在ubuntu 64 bit下 也fork过 2000+ php interpreter process..还正常了。
windows下甚少用php
fork在windows下不能用的。
而且你这个是2000个进程,和2000个线程的开销、效率是不一样的。
黑莓的OS和GPhone的Android都是Linux+Java的,尤其是Android,虽然JVM是定制的,但是基本和J2SE一致。
我突然很八卦的想,在ARM这么“弱”的CPU上跑应用,不知道跑PHP会怎么样(牛头不对马嘴啊)。
php的解释器 占资源很小。能移植就问题不大。
以前我常用 php写脚本 做爬虫。最近才改用python...
如果我写爬虫,往往会搞个10-2000个网络并发线程不等(当然前提跑爬虫的服务器网络带宽足够),PHP如何写?
在ubuntu 64 bit下 也fork过 2000+ php interpreter process..还正常了。
windows下甚少用php
有人说erlang并发能力更强,不过没亲眼见过真实案例,总觉得虽然erlang理论并发能力强,但是实际运行会有其他瓶颈,而且erlang的虚拟机能否充分利用多核,也是个问题。
发现你很欠抽,erlang在生产环境的应用历史远长于java、php
是啊,最终被爱立信给抛弃了(如果不被抛弃,还不能对外公布资料),然后某些程序员不死心,才又拿出来。
我倒想问了,为什么erlang会被爱立信抛弃?既然这门语言so strong。
说说看这个 被抛弃是怎么回事? 我才第一次听说。。有没有link?
照你的逻辑,ruby应该最贵了。
不过我还是想说,中高端的人才绝对是PHP的贵,只不过中高端人才java的比较好找,PHP有钱都有可能招不到。
然后还是那句话,即使是社区,也不要和java的比,java的社区本来就是相当一部分针对的应用场景不一样。请和ruby、python的社区比。
php每次请求全部加载相关的资源,请求结束然后全部释放
php的这个特征挺好的,不用重启服务器。把php文件,放上去就OK了,不用担心用户那边抱怨,怎么访问不了了?我的数据怎么丢失了之类的问题。
PHP的双刃剑啊,既是PHP的优点,又是缺点(缺点其实是PHP实现热部署的方式不能自定义,不能有其它方式)。
热部署的特性很多语言都有,JSP运行环境也有,java自定义classloader,OSGI,SCA都能实现热部署。
但是在集群(负载均衡)的情况下,热部署相对的来说没有太大的价值,本来都是SNA的架构,升级的时候也都是脚本全自动,一台一台的升级的,对于单台有没有热部署的特性没有太大的区别。
有人说erlang并发能力更强,不过没亲眼见过真实案例,总觉得虽然erlang理论并发能力强,但是实际运行会有其他瓶颈,而且erlang的虚拟机能否充分利用多核,也是个问题。
发现你很欠抽,erlang在生产环境的应用历史远长于java、php
是啊,最终被爱立信给抛弃了(如果不被抛弃,还不能对外公布资料),然后某些程序员不死心,才又拿出来。
我倒想问了,为什么erlang会被爱立信抛弃?既然这门语言so strong。
有人说erlang并发能力更强,不过没亲眼见过真实案例,总觉得虽然erlang理论并发能力强,但是实际运行会有其他瓶颈,而且erlang的虚拟机能否充分利用多核,也是个问题。
发现你很欠抽,erlang在生产环境的应用历史远长于java、php
php每次请求全部加载相关的资源,请求结束然后全部释放
php的这个特征挺好的,不用重启服务器。把php文件,放上去就OK了,不用担心用户那边抱怨,怎么访问不了了?我的数据怎么丢失了之类的问题。
是的。
//php5.3 echo "一眨眼的功夫就完成了!"; goto 陪老婆; 陪老婆: 豁然开朗=看电影("蜗居","2012"); echo 豁然开朗;//买什么房子嘛,迟早是要塌的~~
有人说erlang并发能力更强,不过没亲眼见过真实案例,总觉得虽然erlang理论并发能力强,但是实际运行会有其他瓶颈,而且erlang的虚拟机能否充分利用多核,也是个问题。
你觉得golang怎么样?
发表评论
-
在64位Ubuntu下安装Flash Media Server 3.5
2010-06-10 08:43 2321众所周知,Flash Media Server 是32位的程序 ... -
安装 ESXi 4 ?请先弄个带缓存的SCSI卡吧。
2010-06-01 17:45 1306最近为安装Oracle买了一个测试服务器,主板内置SCSI芯片 ... -
iPad的宣传广告真是搞笑啊!!!
2010-01-29 00:34 1903不知道他们的中国设计师是怎么想的,QQ这种大部分时间是后台运行 ... -
新版JRE内置新的LAF:Nimbus,太漂亮了!
2010-01-26 18:31 3291从6u10开始内置到JRE中了,可以在UIManager中通过 ... -
Michael Widenius 为什么要拯救MySQL?
2010-01-21 11:22 1848最近,呼吁中国人民签名以拯救MySQL的新闻挺多啊 ... -
"脑子有Bing" 不知道是夸赞还是贬低...
2009-08-04 00:45 1316个人感觉微软有时候很搞笑,经常搞出比较可爱的广告啊、产品名字啊 ... -
iPhone Development Program 好像不支持国内注册了
2009-07-18 15:17 2684这几天研究iDP的注册流程,申请了好多Apple ID都无法登 ... -
谷歌被地产商山寨了~~
2009-06-29 15:18 954今天出去吃饭,突然看到“谷歌”字样,还以为Google到大连来 ... -
看看我们数据处理部门的杰作吧!
2009-02-22 01:03 1336这套系统叫做 DMP,全称 Data Management P ... -
慎用 MappedByteBuffer!
2008-12-21 03:32 21678<script type="text/ja ... -
传说中的Java动态注释?
2008-10-18 02:01 1794动态注释是一个有用的功能。它可以使用多行的字符串来指定在行中测 ... -
要不我给你猪
2008-10-16 23:31 1012男赶集卖猪,天黑遇雨,二十头猪未卖成,到一农家借宿。 少 ... -
没事做了个3D模型,纯Flash的。
2008-10-16 23:08 1391wsad 是前后左右行走,↑↓←→ 是视角前后左右移动,带碰撞 ... -
Godaddy 网站挂了....
2008-10-14 02:41 1060本来想去管理一下服务器,结果没想到这么大的网站也挂了,还挂了这 ... -
Linkin Park演唱会取消了...
2008-10-08 03:13 1111因小C的背伤取消了,两个字:不爽! 听不到现场原唱,看来只 ... -
JIMI、JAI和ImageIO的一些感想
2008-09-05 03:52 7695最近研究个项目,涉及到多页TIFF分页保存问题。于是就研究呀研 ... -
使用iPhone发文章测试
2008-03-04 23:39 1064本文使用iPhone发表! 使用了iPhone也有一段时间 ... -
已将手机升级到砖头级!
2008-01-31 19:50 1223今儿备用电池终于到了,谢天谢地。此电池电量是2200毫安时,配 ... -
成功滴将iPhone升级到1.1.3版本!
2008-01-26 19:47 1417升级用了10分钟左右,在 Mac OSX 10.5 上搞的,汉 ... -
iphone超级强悍的功能!
2008-01-22 23:50 1129在Installer.app的package包里,竟然看到了a ...
相关推荐
隔一二天不能访问,网站的排名收录会掉的很厉害而且影响以后 正因为这样,出现了很多网络黑客专门以攻击他人网站谋生 今天就给大家分享一个能有效防止一下小 CC. 用过百度云加速服务的网站都知道,在第一次打开后...
4. **索引建立**:将提取的关键词和对应的URL存储到MySQL数据库中,形成倒排索引,便于快速查找。 5. **查询处理**:当用户输入搜索词时,搜索引擎会根据这些词在索引中的位置返回相关网页。 在实际应用中,为了...
3. 将5升水壶中的水倒掉,然后将6升水壶中剩下的1升水倒入5升水壶中; 4. 再次将6升水壶装满水; 5. 用6升水壶中的水继续向5升水壶中倒水,直至5升水壶满,此时6升水壶中会剩下恰好3升水。 通过这种方式,我们可以...
7. **SOLID原则的实际应用**:项目中可能会有各种示例,如使用接口来实现开闭原则,通过策略模式应用SRP,利用抽象类或接口实现LSP,以及如何在设计中避免违反ISP和DIP。 8. **面向对象设计模式**:SOLID原则通常与...
如果文件不存在,`fopen`会返回false。 接着,为了保证文件内容读取和清空操作的原子性,我们需要对文件加锁。在PHP中,可以使用`flock`函数来加锁,该函数同样需要文件句柄作为参数,并指明要加的锁类型。在示例...
问题描述了一只猴子在连续十天内吃桃子的过程,每天吃掉剩下桃子的一半再加一个,到第十天时仅剩一个桃子。我们需要通过编程计算出猴子最初摘了多少个桃子。 解决这个问题的思路是从第十天开始往回推算,每次根据...
同时,它可能会过滤掉广告、重复内容和非正文部分。 4. **关键词提取与索引**:Sphider-plus 会分析网页内容,识别关键词,并建立倒排索引,这是一种快速查找文档中包含特定词的高效方法。索引过程可能包括词干提取...
要实现ecshop中的限时抢购功能并展示倒计时,我们需要对ecshop系统的模板、后台管理文件以及数据库进行一些修改和添加相应的代码,以实现抢购倒计时的效果。以下是详细的实现步骤: 1. 修改商品详情模板文件,以便...
里氏替换原则(Liskov Substitution Principle):子类型必须能够替换掉它们的父类型。 5. 开闭原则(Open/Closed Principle):软件实体应当对扩展开放,对修改关闭。 6. 最少知识原则(Least Knowledge ...
--timeout=[x]=[y]=[color] 倒计时位置、颜色。单位:列,行,24位色彩。 2015-05-14(yaya) 改进 NTFS 文件系统: 对于驻留属性文件(小文件),可以写,也可用 blocklist 显示信息。 对于非驻留属性列表,...
【标题】"TU-training" 指的可能是一个关于软件开发的培训项目,重点是讲解SOLID原则和Test-Driven ...通过参与这个项目,学员不仅会学习到理论知识,还能获得实际操作的经验,从而提高其作为专业PHP开发者的技能。
5.3.htm 倒计时效果 5.4.htm 模拟时钟 5.5.htm 显示农历日期 5.6.htm 温度计样式时钟 5.7.htm 位置固定的时钟 第6章(\cha06) 6.1.htm HTML事件绑定 6.2....
我不想就这么放弃掉了,不然心血白白浪费,发布完了,过几天就改PHP了,这个可以算是终结版吧,但如果大家有问题,只要我能帮忙的我一定尽力,希望大家能支持!管理员帐号:ID: admin PASSWORD:admin888音乐后台帐号...
3. 里氏替换原则(Liskov Substitution Principle, LSP):子类型必须能够替换掉它们的基类型。这保证了继承不会破坏原有的程序行为。 4. 接口隔离原则(Interface Segregation Principle, ISP):不应该强迫客户端...
在GDKP中,团队成员通过击杀游戏内的高级首领获得金币,这些金币随后被用于竞拍首领掉落的稀有物品。这种方式旨在优化团队资源分配,提高玩家参与度和游戏体验。 在HTML方面,虽然GDKP本身与HTML(超文本标记语言)...
【禁止重复值】:可以指定某列不允许重复,指定后该列输入重复值时会自动提示 【标示重复值】:将重复出现的数据用不同颜色分别标示出来,不同重复值用不同颜色 【删除空白单元格所在行】:输入1则删除空白行(整行...