`
七月十五
  • 浏览: 23361 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

有感于“论PHP的倒掉”

阅读更多
----------------------------------------
前言
    已被隐藏的《论PHP的倒掉》参见http://www.iteye.com/topic/520153
    面对攻击和隐藏扣分,我并不感到愤怒和伤怀,那样太消极了。被隐藏后引发了我的思考,为什么会被隐藏和遭受攻击?到底我所思考的是不是走入了误区?我如何正确的认识php和编程?我能从中得到些什么启示呢?
    另外我声明一下,我就是phpchina的七月十五,但是并不代表phpchina的立场,所说的话只是私人言论,在javaeye我只希望我是javaeye的会员而已。)
----------------------------------------

    php作为目前排名的第三大语言,这么多年来多少有点研究,php的发展并没有扬长避短,发挥优势,实在看不出php的长处在最近几年的发展。一样东西如果没有长处,一定会有替代品,淘汰是迟早的事情。撇开php在后端领域目前根本就竞争不过java和.net不说,javascript潜力的发掘和崛起,以及Flex,JavaFX,GWT等的进步,无一不威胁着php的优势地位。不要认为php是服务端脚本就没有被取代的可能性。

    未来的编程发展方向是服务(Service)式和分布(Distributed)式的。这必然会导致信息传输的编码标准化,与服务器交互是不限制语言的,只要这个语言有解析编码的能力,就能处理信息。面向服务编程不限语言,这一点可以从淘宝的TOP上直观的看到,TOP几乎支持任何主流语言。面向服务编程也不限客户端,不管你是应用小程序(applet),浏览器(browser),桌面应用程序(desktop),还是移动终端(moblie)都可使用服务。

    也许是我过于偏激了,因为目前大量的phper编程都使用一直以来非常传统的php数据编码编程,思想固化;要么就走向了所谓的企业化的oop及使用大型框架的方向,偏离php的优势。而php的发展方向在哪里,我估计目前zend也比较疑惑。很多人认为php应该加强底层的优化,提高性能和效率,继续以前的简单实用。然后zend貌似要把php拉向企业计算的大池塘里,php这条小鱼要跟java,.net等等大鱼去争一席之地,大鱼吃小鱼是规律。更可怕的是在企业计算重视性能和安全,php这条慢鱼也逃不过快鱼吃慢鱼的的悲剧。

    zend如果不重新审视php的发展方向,以及目标市场,以及发展计划的话。不出三五年后端java,.net等以及前端的javascript,html5,Flex,GWT,JavaFX等会重新占领市场份额。php会在萎缩中倒掉。

    这篇文章因为立场原因不适合发在phpchina,这样的论调要么引发不满,要么消极导向。另一个原因是因为javaeye层次更高些。所以我发在了javaeye的php版块。发布后我就去上海参加了为期三天的行动成功公司的4*8绩效管理研修班了,没有及时关注。原以为会引发讨论,没想到换来的一堆的谩骂和攻击,最后被隐藏扣分。这是我意想不到的。

    之前我就说过,任何语言层面的讨论都没有意义,人菜那才是真的菜。PHPer的现状是不思考,不实践,全作愤怒状,听不进任何意见和建议。心态决定思维,思维准定行为,行为决定结果。盲目自大、鼠目寸光、杯空自满的心态,我想这才是php倒掉的真正原因。

    其实倒掉更多的是人,我不希望见到这个倒掉,那个倒掉。朝阳喷薄,以至如日中天,亦有日薄西山时。时乎,时乎,会当有变时。
分享到:
评论
52 楼 xueron 2009-11-23  
常说用合适的人做合适的事,语言也是一样,在合适的地方用合适的语言。
51 楼 szwe 2009-11-23  
lz毫无疑问是在哗众取宠,php现在的发展很好,而且也会长期存在下去。

首先,我们来看看语言为什么会兴亡。
这20年来,可以称得上已经倒掉的语言也就delphi和fortune,连cobol都活的好好的。
一个语言会倒掉,不会是因为他有了新的竞争对手,就像c之于c++,java之于c#。

相反,新的挑战者如果实力不足,反而会想C#一样不愠不火,甚至像C++一样泡沫化后慢慢衰落。
当然C++的现状,更主要的是归结于linux的兴起和桌面市场的缩小。
从win95到win989用了3年,从winxp到win7用了7年,但是仍然普及率不高,桌面应用更新速度降缓,这才是c++泡沫破灭的本质原因,同时这是delphi倒掉的原因。

同时web应用的发展也引起了java和php急剧成长,java偏重稳定性和扩展性,php则偏重开发成本和效率。毫无疑问,混合页面标签编程,这是php的一个风格,即使是ajax,php配合json输出也毫不逊色,php的文本能力毫无疑问是web应用上的巨大优势。

至于RIA,确实可以提供更丰富的体验,但是不要忘了,这些体验是有成本的,有开发和维护代价的,而且,也不是能完全替代文本页面的。
假如有一天百度改成了flex,你就会不上google么?

如果lz你想说,总有一天web引用也会饱和,新的web应用将很难获得市场。但是那一天还很远,而且那时的重灾区也是先从RIA开始。
50 楼 luolonghao 2009-11-23  
hatedance 写道
任何语言都有其一席之地。但php的将来必定是走下坡路。在如今这个做web界面还是以html字符串拼接为思路的时代,php活得很好。
等到大家喜欢用组件模型去构建web界面时,php就没戏了。等html5来了再说。


PHP的优势是用简单的代码实现强大的功能。
1. 数据结构非常简单。比如,所有Array其实就是Key-Value数据结构,开发者无需理解Array、List、Hash、Map等概念。
2. 核心提供了众多常用函数。(trim()、addslaches()、session相关函数等等)
3. 语法和C类似,没有学习门槛,一般C/Java/Perl程序员学习起来相当简单。

PS:程序员当中排斥PHP的很多,在他们眼里PHP不是一个完整的语言,没有技术含量,只有初学者才会用PHP。
49 楼 syre 2009-11-23  
hatedance 写道
任何语言都有其一席之地。但php的将来必定是走下坡路。在如今这个做web界面还是以html字符串拼接为思路的时代,php活得很好。
等到大家喜欢用组件模型去构建web界面时,php就没戏了。等html5来了再说。


等到用组件模型的时候,http也还是http。
php也是在演化进步的。再说几年前就有个组件模型的php框架叫prado。

再说,现在php圈子里谁要是还在完全用html字符串拼接也是要被bs的
48 楼 magician 2009-11-23  
七月十五 写道
magician 写道
拿php和js比应该是因为v8的出现,即服务端js编程

1、重不重视浏览器编程,跟有没有v8没有太大的关系。
magician 写道

如果我们把当今的web应用划分的清楚一些,每一个层面的角色我觉得比较合理的应该是:
展现 - html & client js & css / flash
展现逻辑 - php / flex / ror / server js
业务逻辑 - java / c / python
数据 - all kinds of db

2、展现逻辑放在哪里这是关键。展现逻辑需要放在server么?放在browser行不行?请问C/S下,展现逻辑放在哪里,Server or Client?
3、HTML是一种标记语言,不具备编程能力。展现逻辑和展现能分开么?有必要分开么?分开有什么好处?假如我不显示在PC而用手机以WML标记又如何处理?
magician 写道
只要一个门语言在持续更新,那么它离倒掉就还有十万八千里。(与之类推的还有框架、工具等等)

4、方向很重要。发展要看往哪里发展。方向错了,跑得越快,偏得越远。


你显然完全没有理解php的用武之地在哪里

1、是,显示可以用javascript,但是它的数据来源在哪?是怎么来的?数据是通过什么逻辑组织的?如果你能直接从浏览器访问到存放在任何地方的数据,那我就可以承认其他一切语言都可以滚蛋了,js最牛逼。很可惜,事实上并不是这样。js能直接从服务端得memcache里拿数据吗?可以从数据里拿数据吗?而恰恰目前能帮助js组织好数据,并以一定格式(比如json)返回给浏览器的最好工具正是php,这个我前面已经说明了,不明白请往前看。

写到这里,如果你还认为要拿php和js来做比较,只能说逻辑不清了,我们没必要再讨论下去。

2、展示逻辑和展现为什么不能分开?
为什么没有必要分开?
xml+xslt不是正是在分开他们?
WML又如何?界面不一样而已,数据组成逻辑也不一样吗?

而且,正是因为有各种不同的展示方式(html,wml,flash),他们都在变,而恰恰不便的是php在服务端的处理方式:返回一定格式的数据(比如json)

这不又恰恰说明了剥离展示逻辑(数据生成)和展示方式的必要吗?

3、方向......

好像只是你个人在认为某个语言方向不正确,你是不是正确的都不知道,就夸夸其谈你所谓的正确性

有什么能证明你的方向是正确的吗?

更何况,编程序的哪个没有触类旁通的能力,就算我现在钻php钻得很深,又如何能断定我的java能力就很差呢?何来跑得越快就偏得越远呢?

我觉得语言恰恰是你只要精通了一种,其他的都无非是换个壳子,如果你现在还认为有什么语言需要花10年功夫去研究才能小有所成,所以一定要选对方向,不能犯错,那我只能说:你太嫩了

4、为了证明我以上所说的,我列举一下我现在项目所使用的语言:

大量client javascript
大量php
大量java
少量python
少量c
少量shell
少量flex
html+css+xml+xslt就不算进去了

对于一个日pv 100万左右的网站,我还真没看出来在php这个层面我的方向怎么就错了,界面一直在变,但是php的显示逻辑一直没变过,并且效果高,逻辑清晰。倒是数据库有换的打算,mysql换成postgresql。
47 楼 axgle 2009-11-23  
PHP is general-purpose scripting language
而且是图灵完备的,可以作任何其他 图灵完备的语言能作的任何事情。
而且php的底层是C语言。
php命令行其实也不错的,不一定局限于web开发,尤其是liunx下,fork几千个进程,作网络爬虫,速度那是搜搜的!
46 楼 hatedance 2009-11-23  
任何语言都有其一席之地。但php的将来必定是走下坡路。在如今这个做web界面还是以html字符串拼接为思路的时代,php活得很好。
等到大家喜欢用组件模型去构建web界面时,php就没戏了。等html5来了再说。
45 楼 luolonghao 2009-11-23  
axgle 写道
java程序员比phper工资,平均而言,高一些,或许是因为:
平均而言,java程序员,完成同样一个功能,他们会写10倍的代码量.
我遇到三个java程序员,他们就算是用php,完成同样一个功能,他们也会多写9倍的代码,同时还包含bug...
例1:一个文件转化为数组,写一大驼代码。为什么不用file()呢?
例2:一个数组,用逗号连接,写一大驼代码。为什么不用join()呢?
因为java guy,你自以为php简单,但你并不熟悉她。
php是简洁而非简单;java才简单,我们的java同事说java是一种傻瓜式的语言。


我觉得Java程序员平均工资高是因为Java学习门槛比PHP高。
44 楼 axgle 2009-11-23  
java程序员比phper工资,平均而言,高一些,或许是因为:
平均而言,java程序员,完成同样一个功能,他们会写10倍的代码量.
我遇到三个java程序员,他们就算是用php,完成同样一个功能,他们也会多写9倍的代码,同时还包含bug...
例1:一个文件转化为数组,写一大驼代码。为什么不用file()呢?
例2:一个数组,用逗号连接,写一大驼代码。为什么不用join()呢?
因为java guy,你自以为php简单,但你并不熟悉她。
php是简洁而非简单;java才简单,我们的java同事说java是一种傻瓜式的语言。
43 楼 七月十五 2009-11-23  
dualface 写道
我最近做这个 Flash Game,后端就是 Python,没有一行 PHP。事实证明,绝大部分功能用 PHP 一样可以完成,最多是慢一点而已。但是我现在为选择 Python 的决定非常后悔,因为公司里面只有我会 Python…… 而 Python 熟练工可不是 PHP 熟练工那么好找的,薪资水平也完全不同,虽然大家做的事情创造的价值几乎一样。
所以我觉得薪资水平并不是简单用理论就可以解释的。


廖兄果然没读过经济和管理——我这次上海之行,就为这事,三天花了十来万,呵呵。会python的比会java的少多了。当一件商品没有形成规模而又你是必须的时候。这件商品一定是奇货可居。当满街都是的时候,那叫大路货,很实惠。
42 楼 七月十五 2009-11-23  
dualface 写道
Flash 缺乏 GPU 加速就限制了 Game 的表现力。

不久的将来一定会有语言支持。

话说回来,有了GPU加速支持,一些3D纹理、素材啊啥的,会不会玩个WebGame,光等待下载完成1000M的带宽就要等上10来分钟啊?

为了给WebGame而Web,就有失偏颇了。
41 楼 七月十五 2009-11-23  
luolonghao 写道
只要WEB存在,PHP不会倒。

长城万里今犹在,不见当年秦始皇。

luolonghao 写道
只会PHP肯定没前途。因为PHP过于简单,缺少很多其它语言所具备的特性,只会PHP的人可能编程思想上会受到限制。语言永远是次要的,重要的是怎么快速地解决问题,能用的工具都要用上。比如,分析log用awk,处理excel用Java的poi,批处理用bash,桌面程序用C++。

只会汉语肯定没前途。因为汉语会的国家太少,缺乏其它语言的特性。只会汉语的可能会受到地域限制。语言永远是其次的,重要的是怎么快速的走遍全球,能学的都要学。比如去韩国要用韩语、日本要用日语、西班牙要用西班牙语、法国要用法语。
40 楼 syre 2009-11-23  
运行时php也不会比java慢多少,尤其是在把java当java用以后,没准还比php慢。
而且这个运行性能也不能光从语言看,还要看可扩展性。
就php和java的传统文化来看,这方面似乎还是php做得更好些,有更多廉价的解决方案。
39 楼 axgle 2009-11-23  
楼主说php倒掉,意思是“没有人会用php”了吗?10年之后,我让我儿子用php写一个helloworld的程序,那么,php没有倒掉,楼主的预言却倒掉了:)
38 楼 dualface 2009-11-23  
七月十五 写道
先问候一下廖兄、廖夫人及廖Baby好。长久不见了。廖兄这几个月一定要当好和尚,不要采花啊。忍住。呵呵。

dualface 写道
PHP 是一种完全为 Web App 设计的语言,所以用 PHP 做 Web 那是如鱼得水。

1、WebApp用PHP如鱼得水我持保留意见。个人认为Flex/AactionScript用来做WebGame、WebApp是如鱼得海。



呵呵,明年6月才生呢,所以我还要当一年中华憋精


最近几个月我就在做 Flash Game,也做了一个基于 AIR 的应用,感受最深的就是 Flex/AS 还不够成熟,开发效率也很低。

说做 Game,Flash 缺乏 GPU 加速就限制了 Game 的表现力,无法呈现复杂的游戏画面和生动的效果。当然,比起 HTML 还是强很多的,呵呵。
说做 RIA,Flex 连 focus、font、text、mouse、keyboard 的支持都还没搞完善。特别是 focus,简直深恶痛绝!什么时候能够达到 Delphi 和 VB 的完善度,那才是大爆发的一天。而且基于 Flash 做 Web App,光是 SEO 就会挡掉绝大部分应用,现阶段也只能少量应用或者作为 HTML 页面的扩展或补充。

引用

dualface 写道
说的现实一点,雇一个 Java 熟练工的钱可以雇两个 PHP 熟练工,生产力还更高。所以越来越多的 Web App 都把这一层交给 PHP 来处理。

2、我预言,这只是昙花一现。如果单纯从短期成本上考虑,按经济学和管理学上来说,这样做后果是很短见的。后期风险很大。


我最近做这个 Flash Game,后端就是 Python,没有一行 PHP。事实证明,绝大部分功能用 PHP 一样可以完成,最多是慢一点而已。但是我现在为选择 Python 的决定非常后悔,因为公司里面只有我会 Python…… 而 Python 熟练工可不是 PHP 熟练工那么好找的,薪资水平也完全不同,虽然大家做的事情创造的价值几乎一样。

所以我觉得薪资水平并不是简单用理论就可以解释的。
37 楼 luolonghao 2009-11-23  
1. 只要WEB存在,PHP不会倒。PHP是专门针对WEB设计的语言,部署和开发都非常简单,没有理由倒。
2. 只会PHP肯定没前途。因为PHP过于简单,缺少很多其它语言所具备的特性,只会PHP的人可能编程思想上会受到限制。语言永远是次要的,重要的是怎么快速地解决问题,能用的工具都要用上。比如,分析log用awk,处理excel用Java的poi,批处理用bash,桌面程序用C++。
36 楼 七月十五 2009-11-23  
syu 写道
所以我一直很奇怪(确实是感觉很奇怪,而非对立)你做为PHPCHINA的资深老人为何会有这样的论断出来。
这个事情我已经解释过了,因为立场问题,我发此帖的身份仅仅是一个javaeye的刚被扣30分的会员而已。和phpchina的立场无关。
35 楼 七月十五 2009-11-23  
syre 写道
无论哪个级别,php和java程序员写出来的代码质量都是差不多的。
不要以为java程序员的代码就会好到哪里去。

大多数webapp也就是些crud而已,php正好可以又快又好的解决问题。
至于flex,你真的确信能用来做webgame么


快有很多解释,速度、效率、性能、省时。看你怎么选择了。
开发的省时跟运行的省时是不能比的。

其实语言层面归言层面,人那归人。
这个也不能随便比较的。

比错了就是误区,纠缠不清。
做程序员的逻辑思维都很清晰,各位都能清晰的理出来。
看上去如进盘丝洞,乱成一团,我想一定不是程序员说的话。

“开发速度+代码质量”vs“运行速度+语言高度”,比什么?怎么比?要比出什么结果?
34 楼 syu 2009-11-23  
七月十五 写道
syu 写道

每样语言工具都有高手和菜鸟。
楼主确实杞人忧天了。
既然把争论从PHP语言自身转移到PHPer上来。
我想问的是,这么多学C而不精的Cer是否让C绝灭了?
不能因为楼主自身水平提高后就反过来怪责水平低的Phper会拖死PHP的明天。

没有比恨铁不成钢和扶不起的阿斗更令人心酸的事情了。



如果你有这种感觉,我的意见是,你正在做的事情并不是PHP适合去处理的。如果你把它放在一个不适合的位置,那么它就是“该死的”。让一个律师去做会计的活,老板大概也会骂:这个该死的。


它的定位就是WEB,业务的表现层。

数据存放在mysql,底层驱动有C,速度慢了引入MEMCACHE,换掉apache改nginx,全文检索引入sphinx,每一件工具都在处理它们擅长的工作。做为灵活使用这些工具的“人”,要知道,change和create的权力是在你手上。

我手上七七八八奇奇怪怪的业务也不少,公司这么大,各种语言工具都掺合在里面,但PHP仍然在他擅长的领域活得非常的好。我用PHP有十年的历史了,当我认为它满足不了某些时候的需求时就会转而借助其它的工具去处理,但在Web业务这一块一直用它用得很顺手。所以我一直很奇怪(确实是感觉很奇怪,而非对立)你做为PHPCHINA的资深老人为何会有这样的论断出来。
33 楼 syre 2009-11-23  
无论哪个级别,php和java程序员写出来的代码质量都是差不多的。
不要以为java程序员的代码就会好到哪里去。

大多数webapp也就是些crud而已,php正好可以又快又好的解决问题。
至于flex,你真的确信能用来做webgame么

相关推荐

Global site tag (gtag.js) - Google Analytics