LaTero
V2EX  ›  C++

各位对 cppfront 怎么看?

  •  1
     
  •   LaTero · Nov 26, 2022 via Android · 3533 views
    This topic created in 1288 days ago, the information mentioned may be changed or developed.
    Rust 最难受的一点就是生态。很多还在用 cpp 的邻域,cpp 就是 de facto standard ,而大部分人没有能力或时间去造轮子或者写 binding (闭源的连 binding 都不好写)。Rust 火起来的时候感觉这语言写游戏是很适合的,但真做起来还是得 cpp 。
    cppfront 虽然连 alpha 都没到,但看 Stutter 的演讲解决了很多缺陷,同时能做到 100%兼容 cpp 。不知道各位对 cppfront 的前景如何看待?
    7 replies    2022-11-27 17:00:30 +08:00
    leighton
        1
    leighton  
       Nov 26, 2022
    追求 100%兼容 cpp 我会等 carbon 。但是都不如直接抛弃历史包袱用 rust 来得爽
    SMGdcAt4kPPQ
        2
    SMGdcAt4kPPQ  
       Nov 26, 2022 via Android
    不看好,需要先编译到 cpp 再编译,无法解决 cpp 编译速度慢的问题。需要有一种编程语言能像 cpp 导入 c 头文件一样能直接导入 cpp 头文件,同时编译速度快,那么这语言就成了
    tinkerer
        3
    tinkerer  
       Nov 26, 2022
    rust 库 cxx 不知道你有没有把玩过。
    neoblackcap
        4
    neoblackcap  
       Nov 27, 2022
    战胜对手,一般都不是在对手的战场作战。nginx 不会突然替代已经在用 Apache 的项目,但是它的确会在新的项目中替代 Apache 。
    同理 Rust 不会一下子,但是在可以用 Rust 以及可以用 Cpp 的场合,人们很有可能会选用 Rust 。Cpp 模板写个类型约束都累得慌,得熟悉各种现代 Cpp 用法,还得知道 SFINAE 。Rust 就是入门就能写好约束。
    agagega
        5
    agagega  
       Nov 27, 2022   ❤️ 1
    Google 那个 Carbon 没想明白是要干啥,不上不下的,既不能 cppfront 一样和 C++源码级兼容,也不如 Rust 直接另起炉灶。

    cppfront 是一个探索,值得鼓励,C++总得要改变的,现在很多人就是单纯像只用过 iPad 的人看不惯 Mac 一样看不惯 C++而已,改进多了要说「哎呀我 C++11 都还没学完」,改进少了又说「这帮老头子不思进取」。

    不过在一个力图像当年 C++兼容 C 一样的预处理器里加太多语法改动没啥意义,重点还应该在改变很多因为兼容性导致的默认行为。现在 Clang 和 GCC 都在加可选的 attribute 以让 C++开启类似 Rust 的检查,cppfront 和他们配合一下,变成一个语言级别的 GSL 的话还不错。

    业界现有的 C++代码库是非常庞大的,而且还在活跃开发中。这种不破坏兼容性的渐进式改进会带来很多帮助。
    LaTero
        6
    LaTero  
    OP
       Nov 27, 2022 via Android
    @agagega 确实,我看 core guidelines 的时候就在想,很多守则本就应该让编译器来检查
    L4Linux
        7
    L4Linux  
       Nov 27, 2022 via Android
    @ComputerIdiot 你找的是不是 C++ module ,GCC 的 module 勉强已经能用了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   852 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 20:52 · PVG 04:52 · LAX 13:52 · JFK 16:52
    ♥ Do have faith in what you're doing.