V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
qsgy123456
V2EX  ›  奇思妙想

我是编程语言秦始皇,打钱

  •  
  •   qsgy123456 · 283 天前 · 1927 次点击
    这是一个创建于 283 天前的主题,其中的信息可能已经有所发展或是发生改变。
    标题开玩笑的。在日常编程中,我常常感到愤怒。明明编程可以是一个充满创意和冒险的过程,却被设计成了工地打灰一样无聊的板砖过程。明明那么多地方可以解决重复,可以避免人犯错,但却没有底层的支持。

    所以我设计了一种新编程语言,跟大家讨论一下,感兴趣的可以深入交流。这个语言的目标是统一天下所有编程语言,开玩笑叫做秦始皇语言。但其特性是元编程,所以叫做元神语言。
    有以下几个核心特点:

    1.和其他语言进行双向映射。举个例子帮助理解,wpf 的 xaml 会单向映射成 C#代码。
    双向映射带来非常多好处:可以继承目标语言的语法检查。可以使用目标语言的库和生态,不需要重复造轮子。可以降低其他语言使用者转元神语言的成本。

    2.类 Lisp 语法。更直接地编辑抽象语法树,足够抽象也是保证元神语言能够映射其他任意语言的前提。还带有一些 lisp 的功能,对代码本身进行操作。强大的表达能力可以让你的代码逐渐演变成适应项目的新语言。同时你可以直接在目标语言的基础上进行扩展。例如,不进行任何扩展,目标语言为 C#,那么元神语言写起来和 C#差不多,但却别在于,不需要等待微软更新,你也可以直接扩展语言的能力,比如给 C#添加类似于 python 的装饰器功能。

    3.和编辑器的深度绑定。我希望编辑器的各种扩展开发都预置在元神语言内。像 unity 那样,能够方便地修改编辑器。对语法分析、高亮、语法树解析、语法提示等等功能都能便捷扩展。只需要编译一下,扩展即可执行。如此一来就可以对代码进行针对性的限制,避免过度灵活容易犯错。
    10 条回复    2024-05-08 18:00:23 +08:00
    qsgy123456
        1
    qsgy123456  
    OP
       283 天前
    为什么帖子没人看。标题不够噱头么 🐕
    tikazyq
        2
    tikazyq  
       283 天前
    为啥不叫盘古?
    jejwe
        3
    jejwe  
       282 天前
    也可以叫鸿钧语言 道祖语言
    qsgy123456
        4
    qsgy123456  
    OP
       282 天前
    @tikazyq 盘古是开天辟地的,不是后来统一天下的。名字不重要,重要是这个语言是可投入生产使用的,不是玩具。
    sakura6264
        5
    sakura6264  
       282 天前
    语言的重点是骗钱是吧
    双向映射和停机问题类似从原理上基本不可能。要不你试试怎么把 java 代码映射到 C++而不引发内存泄漏。
    另外没人看的原因主要是因为一眼垃圾,我点进来也是为了看笑话来的。
    qsgy123456
        6
    qsgy123456  
    OP
       282 天前
    @sakura6264 任意两个语言互相映射肯定是不行的。所有的语言最终都能单向映射为机器码或汇编。那么映射为元神语言也 ok 。只能说你思考不够到位就急忙攻击人,对陌生人恶意满满。
    sakura6264
        7
    sakura6264  
       281 天前
    @qsgy123456 "这个语言的目标是统一天下所有编程语言",“双向映射带来非常多好处:可以继承目标语言的语法检查。可以使用目标语言的库和生态”,如果你的语言可以和大多数主流语言进行所谓的“双向映射”,那么自然可以 java->你的->C++,而这基本是不可能的。另外我说双向映射不可能也不因为 java 映射不到 C++,java 无法映射 C++是说明双向映射不可能的一个例子。

    另外你不会不知道“我,秦始皇,打钱”这个梗来自诈骗吧,你这标题自以为起得充满“噱头”,在外人看来就是一眼垃圾,非常标题党营销号的感觉
    看你这上来就攻击别人“思考不够到位就急忙攻击人,对陌生人恶意满满”,我都后悔把你发那些自以为是的东西看完了
    qsgy123456
        8
    qsgy123456  
    OP
       237 天前
    @sakura6264
    你说得太好了,这是我设计中的一环。
    java->元神语言->C++是可以的。但是 java 的部分映射到 C++是空的,元神语言不会参与语言本身的 sdk 的修改。举个例子,
    java 语言:
    System.Out.Print("ok");
    映射到元神语言:
    java
    System.Out.Print("ok");
    元神语言映射到 C++:
    空的。
    元神语言的目的是让每种语言本身升级,具有更强大的能力。至于让语言和语言之间交互,那是其他的事情。
    qsgy123456
        9
    qsgy123456  
    OP
       237 天前
    @sakura6264 我浏览了非常多的编程语言设计。目前来说,我这种设计还没发现致命缺陷,同时也是最为先进的非自然语言编程的语言。欢迎你来找漏洞。
    proxychains
        10
    proxychains  
       233 天前
    成即算及兑咧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   985 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 20:00 · PVG 04:00 · LAX 12:00 · JFK 15:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.