V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
skydiver
V2EX  ›  PHP

看了这篇文章,我彻底被PHP的各种坑爹震惊了。。。

  •  
  •   skydiver · 2012-08-29 11:24:40 +08:00 · 10066 次点击
    这是一个创建于 4471 天前的主题,其中的信息可能已经有所发展或是发生改变。
    http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/

    这里也有讨论,不过中文翻译和排版太烂了,还是英文版看着舒服
    http://www.oschina.net/question/1579_49262?from=20120422
    51 条回复    1970-01-01 08:00:00 +08:00
    Js
        1
    Js  
       2012-08-29 11:29:02 +08:00   ❤️ 3
    php是属于初玩惊艳, 长写疲软, 久而暴走的语言....
    aveline
        2
    aveline  
       2012-08-29 11:29:55 +08:00   ❤️ 1
    - - 这不算坑爹。。。挺好的挺好的
    slacken
        3
    slacken  
       2012-08-29 11:36:37 +08:00   ❤️ 2
    dirty but quick,很适合非专业程序员
    dongbeta
        4
    dongbeta  
       2012-08-29 11:36:48 +08:00
    explon
        5
    explon  
       2012-08-29 11:47:39 +08:00
    看下楼主写出了什么好东西, 来这里批判一个自己不会的语言坑爹.
    young
        6
    young  
       2012-08-29 12:11:29 +08:00
    楼主这是要闹哪样? 又要挑起口水战?
    存在,自有它的用处。

    @slacken 求教什么是“专业程序员”。
    amtb
        7
    amtb  
       2012-08-29 12:18:17 +08:00
    能了解每种语言的优劣,在合适的场合用适合的语言,才是高手。
    至于喜欢与否,完全是个人的喜好了,与语言的好坏无关
    reus
        8
    reus  
       2012-08-29 12:21:10 +08:00
    哎,PHP真是太糟糕了,PHP怎么可以这样子,看把楼主震惊得…
    slacken
        9
    slacken  
       2012-08-29 12:22:45 +08:00
    @young 简单地说,就是以写程序为生的人。对于PHP的好处和弊端,多说无益,谁用谁知道。
    PHP/Ruby程序员路过。。
    skydiver
        10
    skydiver  
    OP
       2012-08-29 12:23:39 +08:00
    @young @explon 单纯转贴而已,没有其他的想法。
    skydiver
        11
    skydiver  
    OP
       2012-08-29 12:24:17 +08:00
    @reus 是啊是啊。。。刚刚从java转做php,表示很迷茫。。。
    reus
        12
    reus  
       2012-08-29 12:27:14 +08:00   ❤️ 1
    @skydiver 赶紧看看ruby啊python啊golang啊之类的压压惊吧,要不就干脆点换个工作吧
    zooandzoo
        13
    zooandzoo  
       2012-08-29 12:40:03 +08:00
    纯吐槽。。我们没有资格 去评论一个语言好坏。。。还是踏踏实实干点别的吧。
    ayanamist
        14
    ayanamist  
       2012-08-29 12:41:07 +08:00
    流行语言都是坑巨多的,要语言层面本身完美,建议去折腾Lisp系,ML系
    RagnarokStack
        15
    RagnarokStack  
       2012-08-29 12:59:12 +08:00
    @Js 同样感觉Java用久之后也会暴走。。
    skywinger
        16
    skywinger  
       2012-08-29 13:01:14 +08:00
    做web应用,各种语言,各种坑。
    珍爱生命,远离web开发。
    dianso
        17
    dianso  
       2012-08-29 13:13:57 +08:00
    明显是黑PHP的
    davidx
        18
    davidx  
       2012-08-29 13:30:35 +08:00
    OSChina也开始走CSDN的道路了...随便一篇文章都可以引来争吵. 有一些人, 心眼就是很少, 容不得别人对他喜欢的事物批评, 一般都是: 不喜欢你别用啊, 觉得有问题你别用啊. 嗯, 我喜欢这样的人, 装逼到了一定程度
    DeepBlue
        19
    DeepBlue  
       2012-08-29 13:37:40 +08:00
    这么无营养的口水贴亏我还爬去原帖看了一眼。。
    拿编译语言的优点来和脚本语言的缺点来比,按这个比法我就不信哪种语言没坑,楼主只能天天活在震惊之中了。
    连PHP易于部署和Apache的安全问题都能拿来攻击,我只能说原帖的作者真的是无视了大家的智商,或者说暴露了自己的智商?
    davidx
        20
    davidx  
       2012-08-29 13:55:19 +08:00
    为啥没有人能客观点看待这个问题呢
    yuelang85
        21
    yuelang85  
       2012-08-29 14:01:28 +08:00
    快速做一个web,实现一个想法,寥寥数行,php很方便。换作python。。。。
    DeepBlue
        22
    DeepBlue  
       2012-08-29 14:14:56 +08:00
    @davidx 客观点的说法就是,PHP的优势在于入门简单,开发快速,部署方便,为了实现这些优势,那么语法不够严谨,语言特性偏弱,执行效率低下基本上就是必然的产物,而单独拿出缺点来攻击却不考虑其实际用途(“快速”开发“WEB”应用),我觉得这才叫不客观
    lfeng
        23
    lfeng  
       2012-08-29 14:16:46 +08:00
    其实什么语言用到一段时间都会暴走的吧。。。。
    HiVPS
        24
    HiVPS  
       2012-08-29 14:19:10 +08:00
    PHP本来就是一个quick and dirty 的web语言。开始参考各种rails后的PHP大量使用framwork,至少看起来比较优美了。但是一些太臃肿框架会让php看起来重新dirty了。
    reus
        25
    reus  
       2012-08-29 14:27:25 +08:00
    @yuelang85 也是寥寥数行
    iscraft
        26
    iscraft  
       2012-08-29 14:54:13 +08:00
    建议去看下unix痛恨者手册这本书.感受什么才是真正的坑爹吐槽.不存在什么完美的语言和操作系统.
    无论什么asp,jsp,php.python....你喜欢用.并且它能很好的实现你的想法.那么这就是适合你的最好的语言.我没有任何语言的基础.只能使用php写点最低效率的小玩意.我讨厌%.我认为php 的变量符号$比%看起来舒服.循环语句有头有尾.没有大堆的endif.一些简单的示例代码我容易看懂并学习.我喜欢php.
    laihj
        27
    laihj  
       2012-08-29 14:54:56 +08:00
    iOS程序员目前跟PHP相处不错,主要是dirty and quick
    yuelang85
        28
    yuelang85  
       2012-08-29 15:16:56 +08:00
    @reus 至少要找个框架,做个url映射,配个fastCGI。。。。

    直接使用cgi去写,也要些很多跟业务无关的东西。。。。
    lingyired
        29
    lingyired  
       2012-08-29 15:21:39 +08:00   ❤️ 1
    我相信,每种语言都会有坑爹的时候
    Js
        30
    Js  
       2012-08-29 16:43:27 +08:00   ❤️ 1
    @yuelang85

    其实只是看着麻烦而已

    比如url映射, 可以直接过滤参数, php要么把这部分麻烦转嫁到rewrite和程序本身的验证, 要么是用框架走一样的url映射这条路

    开发反而比较方便, 比如下个bottle和sqlalchemy, 直接开搞就行了, php还得安装一个本地的lamp

    fcgi的话, php一样要配的...反正无论哪门语言,我现在都用supervisor了,模板sed一下, 复制过去就行了

    程序本身的代码量,实现同样功能,python肯定比php少的, 还有第三方类库质和量, python比php好太多了
    Air_Mu
        31
    Air_Mu  
       2012-08-29 16:58:42 +08:00
    谁来编一个有趣的笑话,反应各种语言程序员的内心腹黑话语,比如:

    PHP:别人都说老子用的是一门龌蹉的语言,老子也隐约觉得,但老子还是继续用着又怎么了?

    PYTHON:老子用PYTHON,老子老牛逼了,老子这辈子只用PYTHON,老子不知道其他语言是什么东西,PYTHON是老子的新娘。

    C C++ JAVA C# .NET ............期待补充。


    LISP:尔等皆为傻逼。
    hector
        32
    hector  
       2012-08-29 17:59:13 +08:00   ❤️ 1
    @Air_Mu C:你们都是我孙子
    yuelang85
        33
    yuelang85  
       2012-08-29 18:00:42 +08:00
    @Js 哦。。。是这样。

    我是每次需要一个小web页面支持的时候,直接google一段php代码,扔到空间上,地址栏访问文件就行了。。。。

    原来是空间帮忙做了一些工作。


    说到真正做东西,python还是最省人的。。。。



    @Air_Mu 哈哈哈,我就是那个只会python,其他什么都不会的。。。。不过python有问题啊,做桌面程序效率不是太高。。。。
    hit9
        34
    hit9  
       2012-08-29 18:28:04 +08:00
    @hector C:你们都是我孙子 +1
    linuz
        35
    linuz  
       2012-08-29 18:30:32 +08:00
    汇编 在此不可胡闹,你说是不?机器码
    Caboo
        36
    Caboo  
       2012-08-29 19:34:02 +08:00
    任何语言都有自己的优缺点。
    哪怕是中文(汉语),也有让人曲解的时候。
    yetone
        37
    yetone  
       2012-08-29 19:47:21 +08:00
    10011011101111001
    yulanggong
        38
    yulanggong  
       2012-08-29 20:31:20 +08:00   ❤️ 1
    这让我想到了这个各种语言吐槽集合 Your Language Sucks
    http://wiki.theory.org/YourLanguageSucks
    PrideChung
        39
    PrideChung  
       2012-08-29 21:28:28 +08:00
    不知道为什么你们越黑PHP我倒越喜欢了,虽然我最近也谋划着用Sinatra来代替PHP做一些小项目。

    PHP十分易部署,如果是流量不大的网站也不需要怎么特意去维护,直接Apache一开就完事了。
    每次访问重新初始化的运行机制天生可以抵御内存泄露,用Rails的同学在这点上应该能理解,老是怕内存泄露什么的,还得用个gem或者自己写脚本来检测内存占用,超过阈值重启app server。

    还有人黑PHP证明它还有市场,要是哪天像Perl一样提都没人提那才叫完蛋了。
    skydiver
        40
    skydiver  
    OP
       2012-08-29 22:33:49 +08:00
    @PrideChung 挺PHP没关系,顺便黑Perl就不地道了吧。。。
    sivacohan
        41
    sivacohan  
       2012-08-30 00:24:11 +08:00
    @hector
    B: c你是我儿子!
    汇编:b我是你祖宗!
    lanisle
        42
    lanisle  
       2012-08-30 03:21:43 +08:00
    工具易用,但是也有其局限性。用得好坏与否,和匠人的手艺有关系。聪明的匠人懂得发挥各个工具的长处来打造出自己的产品。
    kernel1983
        43
    kernel1983  
       2012-08-30 23:59:47 +08:00
    我写PHP是写python的100倍, 注意是时间不是效率
    iminto
        44
    iminto  
       2012-08-31 09:44:03 +08:00
    @young 好就是好,差就是差,不要回避,要面对。
    这是很多phper缺乏的
    AlloVince
        45
    AlloVince  
       2012-08-31 10:02:52 +08:00
    @Air_Mu

    .NET: 除了老子,你们都是用记事本写出来的!
    Js
        46
    Js  
       2012-08-31 12:29:29 +08:00
    @Air_Mu
    @yuelang85
    哈,和兄台不一样,我这个顶python的web方面倒是纯正的php出身,当时php基本没什么书,就一本清华出的php3极品烂书和一本黑封面php4手册入的门, 后来搞了5,6年php搞得快暴走了玩了一下python就被直接惯懒了


    单纯让我谈rails/python/php的感受, 我倒是觉得rails的体验是最好的, ruby本身语法比较赞(和python的区别见仁见智了,php这块先天不足), rails的社区又往一块发力, 某些类库好的就会围绕这个类库搞出各种衍生类库(比如carrierwave->carrierwave-datamapper,carrierwave-mongoid,carrierwave-sequel,carrierwave-upyun,carrierwave-aliyun && more); python强在语法简洁,基础类库全,质量又普遍中上; php这几年因为Paas和vps的流行,分流掉不少老的phper,也有大量的类库失去维护, 大部分框架外的类库质量参差不齐,各框架各搞各的, 但是因为常年的虚拟主机流行,通用web产品积累这块,无出其右。 如果让我选择的话, 从头开发一个项目肯定是rails和python, chat-room之类的node.js, 基于通用系统的选型+module二次开发,那八成就是php了
    yuelang85
        47
    yuelang85  
       2012-08-31 15:20:25 +08:00   ❤️ 1
    昨天装了10.8 server,发现web server服务直接可以使用python了(之前只有php)

    想想之前10.5/10.6 server,部分服务用python,部分服务用rails,现在。。。。
    yinsigan
        48
    yinsigan  
       2012-09-02 19:22:05 +08:00
    省时间ruby路过。。
    twm
        49
    twm  
       2012-09-02 19:52:34 +08:00
    只知道facebook,sina,sohu,baidu,qq...各种互联网企业都在用php
    aisk
        50
    aisk  
       2012-09-02 20:34:01 +08:00
    Lisp一般都说天下语言皆出自Lisp吧
    m4ker
        51
    m4ker  
       2012-09-04 21:26:19 +08:00
    在文章里学到不少东西,对于什么语言好或者什么编辑器好这种争论没什么兴趣。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4341 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 97ms · UTC 10:15 · PVG 18:15 · LAX 02:15 · JFK 05:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.