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

好奇有没有人想过,把其他语言好用的语法糖,东拼西凑,用 src to src 预编译方法,给现有语言添加扩展功能?

  •  
  •   tool2d · 2023-02-24 10:04:06 +08:00 · 1062 次点击
    这是一个创建于 630 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我想过,因为 JSX 太喵的好用了,比手动拼接字符串好用太多。

    还有 tailwindcss 也好用,我甚至把 tailwindcss 里面各种颜色缩写,推广到了其他平台上的 UI 里。

    比如写 android 界面时,来一句 text-red-500 ,bg-green-300, 实在是太开心了。
    10 条回复    2023-02-24 11:47:17 +08:00
    BingoXuan
        1
    BingoXuan  
       2023-02-24 10:06:10 +08:00
    tool2d
        2
    tool2d  
    OP
       2023-02-24 10:18:38 +08:00
    @BingoXuan Nim 好像很冷的样子。

    我的感觉就是写 ts ,可以直接用最新语法,然后把源代码编译到低版本 JS 运行。

    这种模式很好,但似乎传统语言的语法,就非常依赖编译器版本和运行环境。
    litchinn
        3
    litchinn  
       2023-02-24 10:22:03 +08:00
    感觉不行,“好用的语法糖”这太主观了,每个人标准不一样
    cmdOptionKana
        4
    cmdOptionKana  
       2023-02-24 10:27:28 +08:00   ❤️ 1
    这种事一直有很多人在做,比如在内嵌 Lua 、内嵌 Python ,比如 Kotlin ,Lombok 对 Java 的意义。
    tool2d
        5
    tool2d  
    OP
       2023-02-24 10:31:11 +08:00
    @litchinn 很多人想过找 vim 插件,vscode 插件。

    就是很少有人想过,找源代码语法糖插件。
    tool2d
        6
    tool2d  
    OP
       2023-02-24 10:33:47 +08:00
    @cmdOptionKana 内嵌另一种语言也算扩展吧,我现在也是在同时用几种语言编程。

    就是各语言之间,数据共享不太方便,都有自己的运行沙盒,每次都要把数据打包传来传去。
    cmdOptionKana
        7
    cmdOptionKana  
       2023-02-24 10:37:22 +08:00   ❤️ 1
    @tool2d Kotlin ,Lombok 就是源码级别的,另外 TypeScript to JavaScript 以及 coffeescript 之类的也是源码级别,

    还有 scss 也是 css 的预编译
    kop1989smurf
        8
    kop1989smurf  
       2023-02-24 10:39:07 +08:00   ❤️ 1
    这样的解决方案性价比不高。

    有如此(需要自定义语法糖 /其他语言特性)需求,我观察一般是两个策略思路:

    1 、更加匹配自身生态的封装框架。(比如 JQuery 之于 JS )
    2 、开发语言层面的跨平台解决方案(比如 Xamarin iOS ,Android )

    仅仅是引入某语言写法的语法糖封装,场景有点过窄了。
    levelworm
        9
    levelworm  
       2023-02-24 10:46:39 +08:00 via Android
    类似于魔改 C 的预处理吗
    tool2d
        10
    tool2d  
    OP
       2023-02-24 11:47:17 +08:00
    @levelworm 类似吧,我想用特殊语法处理一点业务逻辑。

    通常语言自带的预处理太简单了,基本干不了什么事情。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   967 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:28 · PVG 04:28 · LAX 12:28 · JFK 15:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.