看了这篇文章,我彻底被PHP的各种坑爹震惊了。。。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
skydiver
V2EX    PHP

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

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

    这里也有讨论,不过中文翻译和排版太烂了,还是英文版看着舒服
    htt://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系
    td width="10" valign="top">
    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  
    PRO
       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  
      nbsp;2012-09-04 21:26:19 +08:00
    在文章里学到不少东西,对于什么语言好或者什么编辑器好这种争论没什么兴趣。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5183 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 07:34 PVG 15:34 LAX 23:34 JFK 02:34
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86