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

各位对 cppfront 怎么看?

  •  1
     
  •   LaTero · 72 天前 via Android · 1790 次点击
    这是一个创建于 72 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Rust 最难受的一点就是生态。很多还在用 cpp 的邻域,cpp 就是 de facto standard ,而大部分人没有能力或时间去造轮子或者写 binding (闭源的连 binding 都不好写)。Rust 火起来的时候感觉这语言写游戏是很适合的,但真做起来还是得 cpp 。
    cppfront 虽然连 alpha 都没到,但看 Stutter 的演讲解决了很多缺陷,同时能做到 100%兼容 cpp 。不知道各位对 cppfront 的前景如何看待?
    7 条回复    2022-11-27 17:00:30 +08:00
    leighton
        1
    leighton  
       72 天前
    追求 100%兼容 cpp 我会等 carbon 。但是都不如直接抛弃历史包袱用 rust 来得爽
    ComputerIdiot
        2
    ComputerIdiot  
       72 天前 via Android
    不看好,需要先编译到 cpp 再编译,无法解决 cpp 编译速度慢的问题。需要有一种编程语言能像 cpp 导入 c 头文件一样能直接导入 cpp 头文件,同时编译速度快,那么这语言就成了
    tinkerer
        3
    tinkerer  
       72 天前
    rust 库 cxx 不知道你有没有把玩过。
    neoblackcap
        4
    neoblackcap  
       72 天前
    战胜对手,一般都不是在对手的战场作战。nginx 不会突然替代已经在用 Apache 的项目,但是它的确会在新的项目中替代 Apache 。
    同理 Rust 不会一下子,但是在可以用 Rust 以及可以用 Cpp 的场合,人们很有可能会选用 Rust 。Cpp 模板写个类型约束都累得慌,得熟悉各种现代 Cpp 用法,还得知道 SFINAE 。Rust 就是入门就能写好约束。
    agagega
        5
    agagega  
       71 天前   ❤️ 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
       71 天前 via Android
    @agagega 确实,我看 core guidelines 的时候就在想,很多守则本就应该让编译器来检查
    L4Linux
        7
    L4Linux  
       71 天前 via Android
    @ComputerIdiot 你找的是不是 C++ module ,GCC 的 module 勉强已经能用了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   4848 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 07:23 · PVG 15:23 · LAX 23:23 · JFK 02:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.