liqinliqin
58.52D
V2EX  ›  PHP

刚哥开发新的编程语言 TypePHP,周三放到 Github , 3 天 star 就快 900 个了,https://github.com/swoole/typephp,大家用 AI 体验下编程

  •  
  •   liqinliqin ·
    PRO
    · 1 day ago · 2457 views
    Supplement 1  ·  22h 44m ago
    TypePHP 是一个 AOT ( Ahead-Of-Time ,提前编译)编译器,它把 PHP 源码翻译为 C++,再编译为原生机器码。与字节码缓存或虚拟机不同,它不会在运行时解释 opcode ,而是直接生成在 CPU 上运行的原生二进制。

    它保留熟悉的 PHP 语法,同时引入编译期类型信息,让编译器为性能热点生成快速、静态类型的 C++ 代码。动态 PHP 值、内置函数、反射和对象元数据继续通过 PHPX 与 Zend runtime 互操作;用户函数编译完成后不再以 Zend opcode 方式执行。

    TypePHP 完全由 PHP 语言编写,并且完全自举:tpc 编译器二进制就是用 TypePHP 编译编译器自身的 PHP 源码得到的。整个自举链路是纯 PHP——编译器本身没有任何 C 或 C++ 胶水代码。
    Supplement 2  ·  44 mins ago




    马上过千了
    Supplement 3  ·  31 mins ago
    只要一提起「把 PHP 编译成更快的程序」,几乎必然会有人联想到 Facebook 的 Hack 与 HHVM 。这个联想很自然。十几年前,Facebook 为了让 PHP 跑得更快,先做了把 PHP 翻译成 C++ 的 HPHPc ,后来又做了带 JIT 的 HHVM ,2014 年顺势发布了 Hack 语言。这套组合曾经是「 PHP 性能优化」的终极答案,也深刻地影响了整个 PHP 社区对「编译」这件事的想象。于是当 TypePHP 出现——一个 AOT 编译器,把 PHP 源码直接编译成原生二进制——很多人第一反应是:这不就是又一个 Hack 吗?完全不是。这两者的差异不是「谁更快一点」「谁的生态更大一点」这种程度问题,而是设计目标、实现路径、交付形态、参与门槛四个维度上的全面分歧。




    https://mp.weixin.qq.com/s/SAbxksaIF74yh7V7Uz08xA
    20 replies    2026-08-30 15:27:02 +08:00
    jacketma
        1
    jacketma  
       22h 37m ago
    大佬,这个活是不是 facebook 二十年前搞过?
    早 20 年开源的话,PHP 是世界上最好的语言😄
    liqinliqin
        2
    liqinliqin  
    OP
    PRO
       21h 45m ago
    20 年前的 2006 FACEBOOK 经常在北京开大会,校内、51 、偷菜了
    FrankAdler
        3
    FrankAdler  
       21h 16m ago
    有什么意义,不能完美替换 fpm ,为啥不直接 go ,浪费精力,真的 go 不难,随便学几天就能上手了
    x86
        4
    x86  
       20h 45m ago via iPhone
    时代变了
    icyalala
        5
    icyalala  
       20h 13m ago
    facebook 老早就搞过 hiphop ,还是那个赵海平搞的呢,后来不也放弃了,然后去搞 HHVM 了吗
    icyalala
        6
    icyalala  
       20h 6m ago
    想起了当年的瓜,王垠被赵海平面试,撕了一场,然后写篇博客去嘲讽,专门喷那个 hiphop
    https://www.yinwang.org/posts/compilers
    https://www.zhihu.com/question/360622233
    liqinliqin
        7
    liqinliqin  
    OP
    PRO
       20h 2m ago
    @icyalala 哥们 80 年的吗
    icyalala
        8
    icyalala  
       18h 38m ago
    @liqinliqin 哪有那么老,只是在人人网待过
    chendy
        9
    chendy  
       18h 35m ago
    十几年前短暂干过一年 php
    实在想不明白 php 和 type 这俩词是咋整一起的
    liqinliqin
        10
    liqinliqin  
    OP
    PRO
       17h 5m ago
    @icyalala 86 的?
    vardumpabc
        11
    vardumpabc  
       14h 49m ago
    @FrankAdler Go 没有面向对象的 ORM ,很难用,以及不支持 Try Catch ,只能 return err ,我曾三进三出,实在接受不了,开发起来太麻烦
    liuliuliuliu
        12
    liuliuliuliu  
       14h 48m ago
    那个啥,为啥不用 C# ?
    FrankAdler
        13
    FrankAdler  
       14h 6m ago
    @vardumpabc 不管你能挑出来多少 go 的问题,go 替换 php 肯定还是收益更多,我觉得是值得的。而且你说的这几个问题都有替代方案,只是风格不一样。
    lilililili2020
        14
    lilililili2020  
       8h 38m ago via Android
    看起来挺适合单文件论坛 bbs1.org
    panlatent
        15
    panlatent  
       7h 36m ago via Android
    用 PHP 实现的,这点很有意思。但应该不会用的,找不到优点在哪。现在语言百花齐放,AI 的加持下,想用哪个就用哪个。

    最多就是给 PHP 一个可编译的选项,然而真正有此类需求的用户应该不多。
    iomect
        16
    iomect  
       7h 17m ago
    @panlatent #15 确实 有这种需求的很明显有其他更好的选择
    hikarugo
        17
    hikarugo  
       6h 1m ago
    属于 2014 年还在做塞班开发了
    cookiejar
        18
    cookiejar  
       4h 22m ago
    看了下文档,常规代码好像可以直接编译,这对于前面追求快速开发,后面开始追求性能的时候,多了一个选项。提供的特殊语法也是在需要更极致性能的时候,可以选择使用。挺赞的。
    sbhtdgg
        19
    sbhtdgg  
       2h 23m ago
    ai 时代换语言的成本相相当低,我一句 rust 代码都没学过,也搓了一个 rust 的软件出来,注定没有太大需求
    UEFI
        20
    UEFI  
    PRO
       1h 3m ago
    @liqinliqin #7 蚌埠住了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2893 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 74ms · UTC 08:30 · PVG 16:30 · LAX 01:30 · JFK 04:30
    ♥ Do have faith in what you're doing.