PHP 核心团队提出将 PHP 分叉。现有的 PHP 继续作为动态语言存在,新的 PHP 暂定命名为 P++,改成更严格的静态语言。(proposal) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
components
V2EX    PHP

PHP 核心团队提出将 PHP 分叉。现有的 PHP 继续作为动态语言存在,新的 PHP 暂定命名为 P++,改成更严格的静态语言。(proposal)

  •  1
     
  •   components 2019-08-10 12:13:02 +08:00 12069 次点击
    这是一个创建于 2258 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://wiki.php.net/pplusplus/faq

    77 条回复    2019-08-13 08:30:10 +08:00
    AngryPanda
        1
    AngryPanda  
       2019-08-10 12:14:01 +08:00 via Android
    支持
    lhx2008
        2
    lhx2008  
       2019-08-10 12:22:26 +08:00 via Android
    其实也没差了。。
    components
        3
    components  
    OP
       2019-08-10 12:29:21 +08:00
    starsriver
        4
    starsriver  
       2019-08-10 12:37:54 +08:00 via Android
    可以的!
    otakustay
        5
    otakustay  
       2019-08-10 12:43:30 +08:00   1
    几年后出 P#?再几年出 Pust ?
    python
        6
    python  
       2019-08-10 12:46:11 +08:00 via Android
    3p
    mafeifan
        7
    mafeifan  
       2019-08-10 12:47:55 +08:00 via Android
    什么鬼
    mamahaha
        8
    mamahaha  
       2019-08-10 12:49:25 +08:00   1
    要啥自行车?对现在的能力这么没自信吗?
    agdhole
        9
    agdhole  
       2019-08-10 12:57:18 +08:00 via Android   2
    挺鸡肋的,为啥不选择 c #,golang,Java
    components
        10
    components  
    OP
       2019-08-10 12:57:28 +08:00   9
    整理一下重:
    1. P++ 不是 PHP 的分支,而是同一 repo。所以你了 PHP,同也就能用 P++ 。之就是用 PHP 法,但你可以往是走。
    2. P++ 有新的法,主要是把 PHP 一些大家不好的 BC 拿掉, 型做格查。
    3. P++ 可能用新的示,但大部份的 PHP 程式是可以在 P++ 和 PHP 共享。
    4. PHP 和 P++ 只是在文件做,所以像 JIT 效能改的部份者是都受用。

    传送门: https://twitter.com/jaceju/status/1160046832904331264
    5. 第一版本先找到存 PHP 程式的平衡,而不真的把所有想法做。
    crella
        11
    crella  
       2019-08-10 12:57:58 +08:00 via Android
    恭喜 perl 系再添一子
    nguoidiqua
        12
    nguoidiqua  
       2019-08-10 13:02:15 +08:00
    这倒是和本人想到一块去了,希望谁来搞个方言把$->什么的去掉,加上静态类型,整合下 swoole 什么的。
    Junjunya
        13
    Junjunya  
       2019-08-10 13:04:27 +08:00   1
    不希望看到 社区的分裂,感觉 P++并不会解决 当面 PHP 面临的主要问题
    ben1024
        14
    ben1024  
       2019-08-10 13:05:13 +08:00
    支持下,
    静态版先驱 hhvm完全可以借鉴或合作
    mseasons
        15
    mseasons  
       2019-08-10 13:07:19 +08:00   2
    动态语言改名叫 Python 吗)
    crynocry
        16
    crynocry  
       2019-08-10 13:07:47 +08:00
    @nguoidiqua 然后变成了 Go
    hahasong
        17
    hahasong  
       2019-08-10 13:07:53 +08:00
    @components 这个人不是离职了吗
    songhui4123
        18
    songhui4123  
       2019-08-10 13:12:23 +08:00 via Android
    把变量前的美元符号$去掉,把引用方法属性的->改为点号.
    saberlove
        19
    saberlove  
       2019-08-10 13:18:35 +08:00
    @songhui4123 j???js?
    oovveeaarr
        20
    oovveeaarr  
       2019-08-10 13:20:13 +08:00   1
    期待下 Pava Polang P#
    crist
        21
    crist  
       2019-08-10 13:21:24 +08:00
    php 目前对我来说最大的问题是->语法有点丑陋
        22
    crist  
       2019-08-10 13:23:38 +08:00
    把变量前的美元符号$去掉,把引用方法属性的->改为点号,并且最好能直接创建对象然后直接使用:
    $res = User().call()
    crist
    xraywu
        23
    xraywu  
       2019-08-10 13:45:00 +08:00   1
    原文写的清清楚楚,This is NOT a fork. 还加粗了,不知道楼主为什么故意用分叉这个词
    herozzm
        24
    herozzm  
       2019-08-10 13:51:12 +08:00
    php 需要做减法,大量的特性使用的非常少,鸡肋功能太多了
    opengps
        25
    opengps  
       2019-08-10 13:52:25 +08:00   1
    当时我还开玩笑说,即将出现一门新的语言,目测名字是:(投票)
    dhp
    bhb
    qhq
    ...
    components
        26
    components  
    OP
       2019-08-10 13:53:35 +08:00
    @herozzm 你可以看下 PHP 这几年迭代的记录,既有加法也有减法 https://www.php.net/manual/en/appendices.php
    nine
        27
    nine  
       2019-08-10 14:00:37 +08:00
    也就是 PPP 呗
    Egfly
        28
    Egfly  
       2019-08-10 14:25:48 +08:00
    强行为了迎合那些喜欢用强类型、不喜欢 short tag 的人。最后搞的不伦不类。那么喜欢强类型,去用 java,go...这些不好吗
    babytomas
        29
    babytomas  
       2019-08-10 14:40:11 +08:00
    @crist 现在对象就是可以在实例化后直接使用的, 你可以 `$res = (new User)->call()` 这样用小括号包裹即可.
    zjsxwc
        30
    zjsxwc  
       2019-08-10 14:48:57 +08:00 via Android   1
    支持,

    就是让原本 zendvm 只是一种 动态弱类型语言( php ) 变得还能够支持 动态强类型语言( ppp ) 啊,而且这两种语言可以混合在一起编写。

    还有我们目前其实用注释 var 类型配合 ide 又何尝不是把 php 当 ppp 呢,ppp 的出现就在语言层面避免了写 var 类型注释。
    zjsxwc
        31
    zjsxwc  
       2019-08-10 14:51:36 +08:00 via Android
    还有楼主标题党,不是静态语言吧。

    其实就是 类似 groovy 之于 java
    MajestySolor
        32
    MajestySolor  
       2019-08-10 14:53:21 +08:00
    我们的口号也该与时俱进了
    PPP 是世界上最好的语言!
    Kylin30
        33
    Kylin30  
       2019-08-10 14:56:14 +08:00
    打击培训班?
    SingeeKing
        34
    SingeeKing  
    PRO
       2019-08-10 14:56:29 +08:00
    怎么觉得和 JS TS 差不多
    honkki
        35
    honkki  
       2019-08-10 15:27:52 +08:00
    golang
    linescape
        36
    linescape  
       2019-08-10 15:57:26 +08:00
    静态语言不缺一个 php,不如把 swoole 的特性加入官方。能在一个请求中后台多线程处理数据导出、远程下载之类的就好了
    baobao1270
        37
    baobao1270  
       2019-08-10 16:25:29 +08:00
    p++=ppp=3p (笑)
    静态语言当然是支持的啦,把该死的三等号去掉就坠吼啦
    最好能把美元符号去掉,统一一下函数和变量命名格式,再把命名空间的反斜杠改成点
    deorth
        38
    deorth  
       2019-08-10 16:33:59 +08:00
    那应该叫 P--
    alanyhq
        39
    alanyhq  
       2019-08-10 16:36:18 +08:00 via iPhone
    p++ = pplusplus = ppp
    Apllex
        40
    Apllex  
       2019-08-10 16:36:29 +08:00 via Android
    以后叫 ppp
    way2create
        41
    way2create  
       2019-08-10 16:37:17 +08:00
    虽然我也不喜欢写->,但不知道提出把->改成.的是什么想法 说改就改的啊
    jin7
        42
    jin7  
       2019-08-10 17:49:11 +08:00
    已弃坑
    BCy66drFCvk1Ou87
        43
    BCy66drFCvk1Ou87  
       2019-08-10 18:01:14 +08:00 via Android
    不看好 PHP
    dextercai
        44
    dextercai  
       2019-08-10 18:14:38 +08:00
    观望态度。
    Felldeadbird
        45
    Felldeadbird  
       2019-08-10 19:34:37 +08:00 via iPhone   1
    php 语法一点都不丑。每个语言都有自己的特色,当初学习 php 就因为简单,快捷,不需要考虑类型。虽然某些判断会出现 bug,但是都有解决方案。
    如果真的这么分家,我为什么不转用 go,py, node.js, java ?

    其次,小公司用 php 最大优点是什么?一个人干全部事!而且服务器要求低。小公司也不需要线程,并发什么…
    saturn7
        46
    saturn7  
       2019-08-10 20:24:08 +08:00 via iPhone
    静态加入异步,底层 io,多线程吧,现在除了易布署,很多方面比 js 都差远了。
    luozic
        47
    luozic  
       2019-08-10 20:25:45 +08:00 via iPhone
    静态 那还不如抄 typescript
    wdlth
        48
    wdlth  
       2019-08-10 20:27:22 +08:00
    这不就是 Hack 么?
    skyloongltl
        49
    skyloongltl  
       2019-08-10 21:14:57 +08:00   1
    为什么这么多人讨厌$呢,我其实觉得$a = 'test';$b = 'a'; $$b = 'fuck';这种写法挺爽的。。。
    ajax10086
        50
    ajax10086  
       2019-08-10 21:16:44 +08:00
    支持!
    to2false
        51
    to2false  
       2019-08-10 21:46:05 +08:00
    支持
    realpg
        52
    realpg  
    PRO
       2019-08-10 23:50:50 +08:00
    支持,这样我就可以专心用 PHP 了

    你们想把 PHP 改造成 JAVA 还是改造成什么的就可以拿一个分支随便祸害了
    EscYezi
        53
    EscYezi  
       2019-08-11 00:10:45 +08:00 via iPhone
    Why fork PHP ?
    This is not a fork.
    akira
        54
    akira  
       2019-08-11 00:24:19 +08:00
    静态以后 是不是 === 就不需要了
    slince
        55
    slince  
       2019-08-11 02:02:43 +08:00 via Android
    就知道会有傻逼抵制,说白了用 php 的写增删改查的码畜占多数,学习能力有限,看不懂也不在乎语音的优劣势; php 是 web2.0 时代的产物,在现在的时代根本不够看,小公司还能用用,大项目根本没法用,静态化是趋势,这会赋予 php 更多的能力,说白了 php 不改变迟早会死,到时候写增删改查的机会都没有。
    jss
        56
    jss  
       2019-08-11 06:35:17 +08:00 via iPhone   1
    静态语言有 Go 足矣
    jss
        57
    jss  
       2019-08-11 06:37:59 +08:00 via iPhone
    还不弃坑,等什么
    askfilm
        58
    askfilm  
       2019-08-11 08:03:46 +08:00   1
    个人处境是,php 可以让我吃口饭,go 吹吹的再好,可是不能解决温饱
    Joey404
        59
    Joey404  
       2019-08-11 09:36:05 +08:00
    “变量要打 $ 符号的语言一律滚粗!”
    jksusu
        60
    jksusu  
       2019-08-11 09:37:58 +08:00
    php + swoole 性能足够强劲。
    jss
        61
    jss  
       2019-08-11 09:39:26 +08:00 via iPhone
    @askfilm 亲测:一万条数据做无限极分类 PHP 要几秒? Go 毫秒级
    exploreXin
        62
    exploreXin  
       2019-08-11 10:01:26 +08:00   2
    有多少人用着 php 却骂着 php,人家国外无数技术人员的心血编码创造的开源语言,解决了你们的工作,让你们有吃有喝,反过来却不知感恩,说这个垃圾,那个也是垃圾,谁是垃圾,大家心里都有数。增删查改怎么了,动脑子好好想想,有的人是选择写增删查改,而有的人是只能写增删查改,这就是区别,拉不垃圾别甩语言的锅。
    vanishcode
        63
    vanishcode  
       2019-08-11 10:27:21 +08:00 via Android
    PHP 优点就是易上手,非要复杂化的话那还是选择 Java 吧,。
    starsriver
        64
    starsriver  
       2019-08-11 13:31:16 +08:00 via Android
    @jss php 万条也不是大问题,处理小于一秒,毕竟 999ms 也是 ms。c 语言处理密集数据两位数毫秒也是不可能的,你是把数据二进制化预到内存了吗?用的是天河吗?指令周期的限制被吃了?
    chenqh
        65
    chenqh  
       2019-08-11 16:30:13 +08:00
    PHP 本来就是为了 web, 快速开发出来的, lnmp 技术栈
    搞编译型简直在作死
    pinews
        66
    pinews  
       2019-08-11 16:53:47 +08:00
    技多不压身,能者可多劳,支持。
    areless
        67
    areless  
       2019-08-11 17:17:56 +08:00
    就像 http1.1 跟 websocket,各有优劣。实际瓶颈也从来没在因为使用什么语言而出现过,php 出现问题……一样的逻辑一样的写法 go、java 照样会有问题。如果要用 PHP 直接去载入千万条甚至几个 T 的数据做处理,把这些数据直接赋在内存变量里……你还要数据库、消息队列干嘛?这点任何语言都一样
    buseni
        68
    buseni  
       2019-08-11 20:50:39 +08:00 via Android   1
    我的 php 同事都去了东南亚,幸亏我很早转了 go
    Takamine
        69
    Takamine  
       2019-08-11 23:31:23 +08:00
    看来这是要关键部分 P++,日常撸串 PHP,当然是混着写最舒服啦。:doge:
    charlie21
        70
    charlie21  
       2019-08-12 00:40:53 +08:00
    @jss 怎么测阿,我也测测。别的语言测试这个啥结果
    ala2008
        71
    ala2008  
       2019-08-12 09:18:53 +08:00
    $是很多余。。
    xnode
        72
    xnode  
       2019-08-12 09:19:29 +08:00
    php 可以搞一搞 swoole 多线程 php 现在问题不在于 性能问题,在于发展方向的问题
    unforgiven
        73
    unforgiven  
       2019-08-12 09:34:40 +08:00
    我觉得啊,其实要么直接切换搞一个不向前兼容,要么就别改,你可以参考下 C++里 c 式写法和现代的 C++写法混合在一起是啥感觉
    oahebky
        74
    oahebky  
       2019-08-12 09:37:35 +08:00
    倒退无误。语言发展理应是动态的。
    roscoecheung1993
        75
    roscoecheung1993  
       2019-08-12 14:14:43 +08:00
    人家说了愿意接着写动态没问题啊!静态不愿意用可以不用啊...为什么要喷呢
    Evilk
        76
    Evilk  
       2019-08-12 17:14:50 +08:00
    希望 PHP 生态持久更新,社区活跃,这就是对 PHP 最大的尊重
    components
        77
    components  
    OP
       2019-08-13 08:30:10 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2898 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 13:55 PVG 21:55 LAX 06:55 JFK 09:55
    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