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

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

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

    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 目前对我来说最大的问题是->语法有点丑陋
    crist
        22
    crist  
       2019-08-10 13:23:38 +08:00
    把变量前的美元符号$去掉,把引用方法属性的->改为点号,并且最好能直接创建对象然后直接使用:
    $res = User().call()
    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  
       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
    z919126592
        40
    z919126592  
       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
    已弃坑
    HuasLeung
        43
    HuasLeung  
       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  
       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   ·   我们的愿景   ·   实用小工具   ·   4522 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 10:00 · PVG 18:00 · LAX 03:00 · JFK 06:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.