前提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几条街。
学自己有兴趣的,考虑太多反而拖延自己去学习的时间
以下纯属个人意见:
PHP入门简单,上手速度快,框架也比较丰富,语言成熟度高,开发小型成品很快。但是,光学会php本身意义不大,因为PHP能做到的比较有限(初级水平下),基本是增删改查,很多人学了很久都很迷茫,在考虑跳到其他语言。
PHP本身的发展,一方面是比较简单的网站后端,同时学js,前后双修,或者纯写网站后端或者移动端后台API。一方面是搜索,大数据,服务器运算脚本等,属于技术深度比较深入了,难度更高,收入也更高。看你自己如何选择了。
对于思想和技巧的启发,只能算是一般。我学了Python、php、js、objc之后,感觉给我个人启发最大的是js。
既然现在在选择阶段 那学Python吧(php的优势是快速入门
个人理解,搞清楚你做一件事的目的比较重要,比如你先学php来干嘛?为了技术而技术有价值吗?
借用一句话程序=数据结构+算法。希望对你有帮助。
如果纯粹为了拓宽视野php并不是一个好的选择,哪怕它有丰富的开源程序供学习。
PHP开发上的优势:debug方便,语言本身够快~~快过python,ruby。
不过供学习的话,有Java,c等基础语言,这些对于学习来说都是必要的,其中java做后端尤为出名,且这些静态语言的效率也明显高于python,ruby,php等动态语言。
扩宽知识面可以了解一下node.js + c什么的,可以考虑node的多线程优化(node本身单线程,多线程通过c实现)~要知道,服务器端技术按照理解难度,我大致这么分:单线程(同步<异步)<<多线程。或者学习ruby,ruby有很多很棒的特性,元编程什么的。
可以先涉猎,再根据自己兴趣选择一门专攻,先博后渊。
鄙人是后端狗,工作中用不到一星半点前端技能。但是觉得前端炫酷无比。正在学习,从一个月前HTML认不全到现在能写点简单的特效想想还有点小激动。
当然的学 php是最要的语言,以上是调侃,php的优势在于上手快,简单不复杂,使用范围广。
部分同意楼上观点哇´・ω・`
如果有其它语言基础,比如C++,Java,学起php是立刻马上的事情。
想要写php就是网上搜一下内置的函数,就可以了...所以打算花几个月什么的就学php还是算了...
当然花几天时间了解一下然后用php架个小网站玩玩可以在简历里面添一项掌握的语言,也蛮好的啦。
去学javascript,函数式语言。而且通过node.js一样能构筑后端,一样能写shell。根据tiobe上的排名,php衰退的很厉害,估计不久的将来js就能够接班了。