찾다

 >  Q&A  >  본문

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

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

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

PHP中文网PHP中文网2803일 전1601

모든 응답(13)나는 대답할 것이다

  • 伊谢尔伦

    伊谢尔伦2017-04-10 14:58:23

    PHP当然不值得学。我个人认为学它是浪费时间。首先,题主你纯粹是为了拓宽视野,那么也就是看重PHP与其它语言不一样的地方,或者甚至优秀的地方。但是PHP在语言设计方面一无是处,参见Why PHP Sucks,PHP: a fractal of bad design和The 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几条街。

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 14:58:23

    学自己有兴趣的,考虑太多反而拖延自己去学习的时间

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-10 14:58:23

    以下纯属个人意见:
    PHP入门简单,上手速度快,框架也比较丰富,语言成熟度高,开发小型成品很快。但是,光学会php本身意义不大,因为PHP能做到的比较有限(初级水平下),基本是增删改查,很多人学了很久都很迷茫,在考虑跳到其他语言。
    PHP本身的发展,一方面是比较简单的网站后端,同时学js,前后双修,或者纯写网站后端或者移动端后台API。一方面是搜索,大数据,服务器运算脚本等,属于技术深度比较深入了,难度更高,收入也更高。看你自己如何选择了。
    对于思想和技巧的启发,只能算是一般。我学了Python、php、js、objc之后,感觉给我个人启发最大的是js。

    회신하다
    0
  • ringa_lee

    ringa_lee2017-04-10 14:58:23

    既然现在在选择阶段 那学Python吧(php的优势是快速入门

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-10 14:58:23

    个人理解,搞清楚你做一件事的目的比较重要,比如你先学php来干嘛?为了技术而技术有价值吗?
    借用一句话程序=数据结构+算法。希望对你有帮助。

    회신하다
    0
  • 怪我咯

    怪我咯2017-04-10 14:58:23

    如果纯粹为了拓宽视野php并不是一个好的选择,哪怕它有丰富的开源程序供学习。

    PHP开发上的优势:debug方便,语言本身够快~~快过python,ruby。

    不过供学习的话,有Java,c等基础语言,这些对于学习来说都是必要的,其中java做后端尤为出名,且这些静态语言的效率也明显高于python,ruby,php等动态语言。

    扩宽知识面可以了解一下node.js + c什么的,可以考虑node的多线程优化(node本身单线程,多线程通过c实现)~要知道,服务器端技术按照理解难度,我大致这么分:单线程(同步<异步)<<多线程。或者学习ruby,ruby有很多很棒的特性,元编程什么的。

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

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-10 14:58:23

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

    회신하다
    0
  • 大家讲道理

    大家讲道理2017-04-10 14:58:23

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

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-10 14:58:23

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

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-10 14:58:23

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

    회신하다
    0
  • 취소회신하다