第一次被邀,就写点什么,也作为对自己的一个回顾,表达能力有限,请多见谅.
我粗浅的认为,人在接触跟自己思维方式相匹配的事物的时候,会产生一种莫名的亲切感,而PHP的一些feature决定了它和非常多初学者的思维方式不冲突(比如:弱类型,既能面向过程又能面向对象, etc..).说白了,就是学习门槛不高.这样,初学者会很容易在PHP的学习过程中的到一定的成就感,有了初期的成就感之后,他们就会愿意去学这个东西.有了这个意愿了,就不会轻易放弃这个东西了(我这里说的是初学者).
就我了解的情况来看,PHP目前有各种各样的开源项目,开源框架(这都归功于程序员们天生的喜欢自己造轮子的强迫症.),这给初学者和刚入门的同学提供了非常丰富的学习资源.当然,这些各种各样的项目的质量确实是参差不齐,但是有谁在初学程序的时候,不是靠看别人的代码过来的呢?随着初学者掌握的知识和经验越来越丰富,自然而然的就会对之前看过的那些代码产生自己的见解.
上面有人提到了PHP的部署容易,这个feature也确实给初学者带来了很大的方便.能让初学者真正把精力放在学习编程这件事情上.也许有人会说,初学者部署的时候也会遇到很多问题.对于这一点,我不否认,因为我本人也帮很多初学者解答过初期搭建apache+php+mysql环境的问题(当时的xampp之类的套件还没有现在这么方便易用).即便是初学者在搭建环境上多花了一点时间,在真正开始学习写代码的时候,就不用再管编译或者deploy之类的事情了.
当然,学习PHP简单,并不就是说PHP需要学习的东西不多.由于PHP在web开发中的普遍使用,web开发中和后端语言无关的内容都得了解到,比如HTTP协议啊,HTML啊, MYSQL啊等等...虽然在大牛眼里这些东西都是毛毛雨,但是在初学者眼里,这些东西都还是挺复杂的东东.但是这些东西,在初学PHP的时候完全不用关心.当然学习其他语言的初期也不用关心这些东西:)
随着后来的学习和实践等等,遇到的问题越来越多,要学习的东西还是挺多的.比如像 @Laruence 鸟哥那样,研究PHP的源码,分析各种诡异BUG的真正原因. 这又要看得懂C了.并且PHP源码里面的各种宏扩展,要看懂也并不是只看懂C那么简单.
好像有些偏题了....就说这么多吧....
我其实更想看看 鸟哥@Laruence 的观点 |