php不适合大型项目
我不想浪费我的生产力来解决其他平台已经解决的问题。我更希望的是吸收优秀的 php 项目的解决方式,而不是花时间在应用层修补语言层面的问题。
对于优秀的团队来说用什么语言都可以,但是优秀的语言会更高效 & 有趣。如果个人做网站娱乐一下,我会考虑php,但使用最新的技术。
大型web项目要素
- 大量代码
- 多人协同开发
- 开发周期长
- 长期维护,且维护人员可能变更
php的问题
- 很多理由交叉重复了,有时间细细理一理 2014-01-17 17:36:45
- 实现目标太容易,有时为了方便和赶任务,会生产大量垃圾代码
- 本身就是为了 web 开发设计的,不需要基础性编码(java,ruby,python等等需可以用框架约束代码规范性,因为从零开始比较困难,jsp,asp等等页面模板技术也是稀烂)(包含逻辑的模板技术容易让人腐烂,人是最大不可控因素)
- 腐烂的根源是方便,经过时间的积累,越来越烂
- 入门太容易,目标太明确(web开发),语言本身目的性太强
- 功能容易实现,但代码质量差距大
- 入门太容易,进阶很难
- 社区水平普遍较低
- 变量作用域不清晰
- 命名空间设计中限制太模糊(且5.3+才有)
- 项目不容易组织
- 函数内 require, require_once
- 作用域迷惑,尤其是php入门容易造成一知半解用户众多
- 代码规范,编程范式不明确
- 自由性高
- 入门容易,烂代码几率大
- 高手,个人控制力要求很高,团队水平不容易把握,合作不容易
- 自由性高
- 成本问题
- web 开发生产文件和代码的成本比依赖系统的 app 开发成本要低很多,常有(一定会有)大量仅仅是用来组织结构的代码,而没有高效组织管理代码文件方式的 php,其代码管理成本远高于开发成本。这一点有必要与 C 做个类比,php很多语法和函数与 C 都相似,C 同样没有命名空间等等组织隔离代码的方式,但写 C 时引入其他代码库的成本(不是难度,是成本,成本包含很多因素)很高,写 C 需要比较高的编码水平才能不出问题。
php 好处
- web 开发的流程清晰可见
- 优秀的框架(yii)和产品(drupal, ...)
- 很考验掌控力,适合新手成长(绝不能光陷入php)
找一门可以用来帮助思考的语言
- weed out
- java繁琐
- php很弱,又有很强的目的性
- 我会深入ruby试试 2014-01-21 22:41:03
- require
- 正则表现力要强
- 自由灵活
- 排除没有爱的新手