喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

[北京]代朋友公司招聘PHP高级程序员多名

上一主题 下一主题
 17  1/2  1  2  > 
     
标题: [闲谈] [转]PHP的魅力和不足何在  
 
sadly (sadly)
管理员
Rank: 9Rank: 9Rank: 9
管理员


UID 1
精华 4
积分 2024
帖子 2015
金钱 1537 喜悦币
威望 40
人脉 447
阅读权限 200
注册 1970-1-1
来自 北京 三元桥
状态 离线
[转]PHP的魅力和不足何在

[转]PHP的魅力和不足何在

2008年06月27日

在编程领域有不少堪称经典著作,其中包括《Thinking In C++》和《Thinking In Java》,它们的作者是著名的计算机科学作家Bruce Eckel。近日这个编程大师联系编程语言Java、Perl和Python,分析了老牌经典编程语言PHP的优缺点,下面让我们一睹为快。

 PHP的魅力所在

提起老牌经典脚本语言PHP,我们不禁会联想到它的一个令人印象深刻的特点,即上手快,你无需对这个语言进行深入广泛的了解就可以使用它开始编程。在我们知道的语言中,没有几个语言能把这种特点体现的淋漓尽致。与之相对应的另一个极端是Java语言,即使你写一个简单的hello world程序也需要掌握不少Java知识,运行一个Web应用同样不那么简单。而这一切在PHP中是一件举手之劳的简单事情。

在编程能力方面,PHP只是比Perl表现好一点。Perl是一种古老的脚本语言。最初的Web应用大多是用Perl编写的,Perl很像C语言,使用非常灵活,对于文件操作和处理具有和C语言一样的方便快捷。

但是,由于Perl的灵活性和“过度”的冗余语法,也因此导致许多Perl程序的代码令人难以阅读和维护,记得在Web刚刚兴起的时候,当听到有人说将使用Perl编写大型应用的时候,我就知道他们面临的将是失败。

Perl的哲学思想是同一件事,总有不止一种方法来解决,结果造成了大量难读难懂的程序。对于规模较大的系统来说,Perl编写的维护成本相对更高,另外Perl对于CPU的消耗似乎较高,效率似乎有一些不足。



相比来说,PHP却已经创建了一些更大型的应用,例如大名鼎鼎的开源CMS系统Drupal。我的一个朋友Nancy Nicolaisen表示她希望搭建一个旅游网站,我建议她看一下Drupal。她听取了我的建议并最终选择了它,只进行了轻微的改动就使她的网站上线了,用她的话来说,这个用户社区吸引她的地方是它的强大和易用。

而且PHP允许初学者可以直接针对他们感兴趣的功能进行编程,而无需花费大量的时间来学习编程理论和实践。你只需要编写代码并通过网页来查看效果就可以了。

PHP的不足之处

但是这同时也是这个语言的问题所在。你经常会发现很多使用PHP编写出的代码错误百出,但这些代码往往却被人们互相拷贝,却没有人去认真分析研究它们。这些代码通常是由那些习惯互相借鉴拷贝代码的程序员所编写,这些代码质量低劣的原因是这些程序员通常不习惯问为什么,不喜欢弄清楚原理,只管拿来就用。

在我第一次想深入了解这个语言的时候,我希望看到一些关于文件锁定的示例,结果尽管看到了非常多,但却没有一个是正确的。正如事实已经证明的那样,PHP主要是与数据库搭配使用,数据库来处理所有一致性问题,因此多数人只关心从数据库中存取数据,而不用再去必须考虑底层的问题。但是这个语言不仅仅可以处理与数据库交互的上层问题,同样也可以实现与文件系统之间交互的底层问题。我的感觉是,在PHP社区中多数人只关心如何得到一个好的结果,而没有多少人关心它的真正实现原理,因此才出现了这种错误的倾向。

后来推出了PHP 5,与以前版本相比有了不小改进,但是它主要是增加了一些从C++和Java中提取出来的功能,但是人们只是到处找来一些新功能,但却没有仔细的分析每一个增加的功能,及其对这个语言的影响。

相比之下,根据我对Python语言多年的观察,在过去10多年中它增加的每一个新功能都经过反复的分析和推敲。时间将会证明谁对谁错,或者PHP社区将会知道如何来处理这些功能,但是我对此深表怀疑。

在最近一段时间里,我一直使用PHP来实现我新建立的站点。之所以选择它的关键是,我只用它来进行一些简单的开发。举个例子来说,PHP让你可以解决非常弱智的HTML问题,例如你不能在HTML中包含文件的问题。PHP可以轻松做到这一点,而且可以让我轻松的在整个站点之间实现我的设计,而且有时候我们只需要实现一些小东西并将其嵌入在页面中,PHP实现起这些东西来非常简单。

但是,我发现随着要完成的任务复杂度的提高,更好的选择是选择使用Python,因此PHP更适于处理简单的任务。

Python的内核非常精简,功能非常丰富,它提供了一个良好的程序构建基础。综合了C和C++二者的优点,只要采用合适的结构和方式,便可对Python程序进行无限的扩充。当然,它也有自己的不足之处,例如有的朋友抱怨Python对规则表达式的支持不如PHP中强大。




以PHP在中国的繁荣发展为己任
QQ:824008 MSN:sadly@phpx.com
2008-6-27 02:12 PM#1
查看资料  访问主页  Blog  发短消息  QQ  ICQ 状态  顶部
 
zw870307
中级会员
Rank: 3Rank: 3


UID 92902
精华 0
积分 267
帖子 361
金钱 267 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2007-5-12
状态 离线
[推荐阅读] 关于数据备份如何备份到操作者的本机电脑
居然这么久都没人回村长的帖子。。你们这些村干部怎么做的
2008-6-27 02:32 PM#2
查看资料  Blog  发短消息  顶部
 
sanders_yao
版主
Rank: 7Rank: 7Rank: 7
or2 =333


UID 30286
精华 0
积分 2506
帖子 4660
金钱 2503 喜悦币
威望 0
人脉 3
阅读权限 100
注册 2004-7-23
来自 北京 菜户营
状态 离线
[推荐阅读] 每天争取发帖灌水
村长翻译的?



最近写的一些代码都会在以下地址发布,有兴趣的来批:
http://www.phpx.com/happy/thread-131368-1-1.html
2008-6-27 02:34 PM#3
查看资料  Blog  发短消息  顶部
 
unspace (未知空间)
版主
Rank: 7Rank: 7Rank: 7
百万富翁


UID 67567
精华 0
积分 48869
帖子 5078
金钱 47775 喜悦币
威望 0
人脉 1094
阅读权限 100
注册 2005-12-28
来自 吉林
状态 离线
[推荐阅读] php写查询和写入数据库分开
村长说,你们先别动,我看看我在村民中的支持率如何

结果干部们纷纷建马甲,后来干部们受批评了,说以后我发贴,你们不能以任何的形式顶

于是就这样了




7月1日起,北京市低保、最低工资标准、失业保险、工伤保险、基本养老金5项社会保障标准均将全部上调。其中,最低工资标准增加70元,提高到800元。
2008-6-27 03:56 PM#4
查看资料  访问主页  Blog  发短消息  顶部
 
xinglu1983 (知知了了)
金牌会员
Rank: 6Rank: 6
知了老大


UID 81138
精华 0
积分 1962
帖子 234
金钱 1962 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2006-10-8
来自 北京
状态 离线
[推荐阅读] 【便宜香港服务器租用】【高配置高带宽不限制流量】QQ445676667
这文章前几天刚在cu看过一遍。



MagicLab.cn | 魔法工作室
2008-6-27 04:21 PM#5
查看资料  Blog  发短消息  QQ  顶部
 
ctrlming
注册会员
Rank: 2



UID 118391
精华 0
积分 108
帖子 272
金钱 102 喜悦币
威望 0
人脉 6
阅读权限 20
注册 2008-4-9
来自 北京
状态 离线
[推荐阅读] 【上海招聘 】【实习PHP工程师 】欢迎应届生!
村棍们快来顶村长



我的目标是:灌到论坛发大水。
2008-6-27 05:11 PM#6
查看资料  Blog  发短消息  顶部
 
yangyunlifess
注册会员
Rank: 2



UID 108811
精华 0
积分 54
帖子 145
金钱 54 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2008-1-28
来自 北京/广州/上海
状态 离线
[推荐阅读] 厦门东南数据代理价格
顶一下而已
2008-6-27 05:21 PM#7
查看资料  发短消息  顶部
 
蟋蟀
版主
Rank: 7Rank: 7Rank: 7
村里巡逻队长


UID 67242
精华 0
积分 2035
帖子 1762
金钱 2035 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2005-12-17
来自 福建
状态 离线
[推荐阅读] 电子琴指法可以自己拟定吗?
我感觉作者对php特点了解不多,php最大特点出去本身入手简单,快速开发外就是可伸缩行,可扩展性。
对于php实现文件锁的问题
linux下文件锁大概有三种
1、产生一个filenane.lock
  我想这种文件锁,无论那种操作文件的语言都可以实现,而且对于许多daemon程序都生活很多pid控制daemon
2、使用flock函数进行读写锁定
  这个我们php也提供了函数吧
3、其次要涉及到其他文件锁的问题。
假设我们php实现不了的,我们完全可以使用c写一个扩展吧。c操作文件的函数对文件的锁定问题
处理的更细化,写一个扩展就行,想我们可以把操作系统涉及到的文件操作封装成我们自己的php扩展
函数来实现。

没深入研究,但我想要处理起来并不是太难的。




吉林php群
27089230
2008-6-27 08:12 PM#8
查看资料  Blog  发短消息  QQ  顶部
 
chinahtml
金牌会员
Rank: 6Rank: 6


UID 69683
精华 0
积分 1012
帖子 1019
金钱 1012 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2006-3-16
状态 离线
[推荐阅读] 我这到底是什么毛病?怎么治?
感觉是在 宣传 屁眼痛 的帖子。。



-地振山冈,一派溪山千古秀
-门朝大海,山合河水万年流
2008-6-27 08:48 PM#9
查看资料  发短消息  顶部
 
小傑
版主
Rank: 7Rank: 7Rank: 7
我不是版主



UID 74113
精华 0
积分 115
帖子 386
金钱 115 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2006-5-26
状态 离线
[推荐阅读] 写首情诗
Python  真的比 perl 好吗?
2008-6-27 09:04 PM#10
查看资料  Blog  发短消息  顶部
 17  1/2  1  2  > 
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.026475 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP