前提1:本人对后台开发感兴趣
前提2:之前舍友几次鼓动我学PHP,觉得如果想要学后台开发,PHP几乎可以说是必学的。
前提3:本人学习新的语言,更加偏向于能否带来新的思想。如果是做网站,PHP能做,Ruby、Python等等未必不能做。另外暂时也没有就业之类的压力。
前提4:虽然没有就业压力,但是还需要考虑机会成本的问题。假如学了PHP,就没有那么多时间学习别的Web后台技术,所以说PHP值得学,得提出PHP相比同类技术的优点才行。
那么PHP值得一学不?为什么?学了PHP,对于编程的思想和技巧有什么启发?
(比如学了Ruby可以领会什么是纯面向对象,以及抽象一致性的设计,还有闭包的技巧等等。学了PHP能带来什么?)
还有,相对其他同类技术,PHP在开发上的优势是什么?
PHP当然不值得学。我个人认为学它是浪费时间。首先,题主你纯粹是为了拓宽视野,那么也就是看重PHP与其它语言不一样的地方,或者甚至优秀的地方。但是PHP在语言设计方面一无是处,参见Why PHP Sucks,PHP: a fractal of bad design和The PHP Singularity。尤其是
我个人认为PHP的优势在于,可以让非专业人士临时拼凑出一个可以跑的小型网站(Facebook什么的是例外)。不过我看了题主的题目描述,觉得题主其实是有其它编程经验的人吧,不是非专业人士吧。那么PHP对于题主来说,我没看出有什么必要专门去学。
至于题主的
之前舍友几次鼓动我学PHP,觉得如果想要学后台开发,PHP几乎可以说是必学的。
只能说是目光短浅吧,我反正没学过PHP也开发出来了一两个网站,我周围的朋友也是一样(我们用Python的Flask)。至于题主提到的拓宽视野。我觉得可以试试学学Clojure,它是一个JVM上的Lisp方言,但是它也有web框架。或者Scala(这个是twitter在用的,是一个JVM上的类ML语言),它有专门的Play Framework做web开发。这两个语言都是函数式语言,比起命令式的PHP,仅仅在拓宽视野上不知道要爆PHP几条街。