没有业务压力,纯粹为了拓宽视野, PHP值得一学不?

spacewander
  • 5.4k

前提1:本人对后台开发感兴趣
前提2:之前舍友几次鼓动我学PHP,觉得如果想要学后台开发,PHP几乎可以说是必学的。
前提3:本人学习新的语言,更加偏向于能否带来新的思想。如果是做网站,PHP能做,Ruby、Python等等未必不能做。另外暂时也没有就业之类的压力。
前提4:虽然没有就业压力,但是还需要考虑机会成本的问题。假如学了PHP,就没有那么多时间学习别的Web后台技术,所以说PHP值得学,得提出PHP相比同类技术的优点才行。

那么PHP值得一学不?为什么?学了PHP,对于编程的思想和技巧有什么启发?
(比如学了Ruby可以领会什么是纯面向对象,以及抽象一致性的设计,还有闭包的技巧等等。学了PHP能带来什么?)
还有,相对其他同类技术,PHP在开发上的优势是什么?

回复
阅读 6.9k
13 个回答

PHP当然不值得学。我个人认为学它是浪费时间。首先,题主你纯粹是为了拓宽视野,那么也就是看重PHP与其它语言不一样的地方,或者甚至优秀的地方。但是PHP在语言设计方面一无是处,参见Why PHP SucksPHP: a fractal of bad designThe PHP Singularity。尤其是

What's depressing is not that PHP is horribly designed. Does anyone even dispute that PHP is the worst designed mainstream "language" to blight our craft in decades? What's truly depressing is that so little has changed.

我个人认为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有很多很棒的特性,元编程什么的。

可以先涉猎,再根据自己兴趣选择一门专攻,先博后渊。

捞鱼的转阿转
  • 1.9k

鄙人是后端狗,工作中用不到一星半点前端技能。但是觉得前端炫酷无比。正在学习,从一个月前HTML认不全到现在能写点简单的特效想想还有点小激动。

当然的学 php是最要的语言,以上是调侃,php的优势在于上手快,简单不复杂,使用范围广。

部分同意楼上观点哇´・ω・`
如果有其它语言基础,比如C++,Java,学起php是立刻马上的事情。
想要写php就是网上搜一下内置的函数,就可以了...所以打算花几个月什么的就学php还是算了...
当然花几天时间了解一下然后用php架个小网站玩玩可以在简历里面添一项掌握的语言,也蛮好的啦。

用户bPcDTY
  • 8k

去学javascript,函数式语言。而且通过node.js一样能构筑后端,一样能写shell。根据tiobe上的排名,php衰退的很厉害,估计不久的将来js就能够接班了。

Honwhy
  • 7k

值得学,支持你去学。
某些原因可以参照这个答案
http://segmentfault.com/q/1010000000641825/a-1020000000641947

好吧,被原答案作者踩了,也来说说自己的看法吧
大部分人的入门语言是静态,强类型语言的,比如C,Java的,这里没有调查,没有准确数字。如果之前没有接触脚本语言,学习PHP那真是太好了,你会发现原来脚本语言的表现力这么强大。

首先你可以遇到,哦,原来数组可以这么填充元素的呀,真是随心所欲呀
学习PHP搭建环境如此简单,LAMP,或者LNMP在Linux系统上直接安装直接使用,测试结果也非常方便。
前几年特别流行wordpress,对于初学者来着搭建个个人博客是多么有成就感的事呀。

虽然但是,从题主的描述来看,不能把题主当作初学者。
假如学了PHP,就没有那么多时间学习别的Web后台技术,其实PHP就是一门语言,借助这门语言这个工具你更能学习到别的web后台技术,你会看到一些develop.xxx.com的很多使用PHP来做示例的,比如open.weibo.com。别的后台技术太笼统了,RESTful,ruby on rails那种省去复杂配置的约定风格(我也不懂这个叫什么,就是好!!!)
相比其他语言的有点就是PHP它足够简单,能够快速上手,足够流行,中文文档丰富(这个很要命)。

多接触这门语言没有坏处,它不一定是你最后一门语言,你可以尝试去接触,如果觉得喜欢了,就继续深入了解;不喜欢可以转向Python之类的脚本语言,不会没有拓宽视野作用的。

如果还没上手过node,建议去看看

学thinkphp,这个应该比较适合大学生朋友