V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
BroofKing
V2EX  ›  程序员

在离开这个世界前,设计一项最令自己满意的编程语言吧 (参与设计程序语言)

  •  
  •   BroofKing · 2022-08-02 16:49:17 +08:00 · 2193 次点击
    这是一个创建于 881 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Elytra 程序语言

    为了 Ethertia (一个体素系统游戏) 而生。设想游戏主程序使用 Elytra 语言,而底层调研 Cplusplus 。

    抽象层底层,无 GC 手动内存管理,基于 VM 。追求统一 简单的功能及语法。

    using std::io::Console;
    
    void main() {
    
    	Console::writeln("Hello Word");
    }
    

    官网: (建设中) https://elytra.dev

    开发人员之一: https://elytra.dev/~pris

    转载许可:我很荣幸被允许转载改贵语言 我很喜欢他们的设计

    11 条回复    2022-08-04 22:14:50 +08:00
    fgwmlhdkkkw
        1
    fgwmlhdkkkw  
       2022-08-02 17:03:26 +08:00
    那急啥……
    XIVN1987
        2
    XIVN1987  
       2022-08-02 23:02:39 +08:00
    能不能把::换成.
    FrankHB
        3
    FrankHB  
       2022-08-03 04:01:33 +08:00
    在做一个像样的推广 UI (看来还依赖 Chrome 系的……)前请先拼写对 World 。
    ……看了下,官网里 run Hello World 标题是对的,示例代码里没拼对。
    ikaros
        4
    ikaros  
       2022-08-03 09:24:11 +08:00
    看到这个标题我还以为 po 主是王银
    luofan004
        5
    luofan004  
       2022-08-03 11:26:49 +08:00
    楼上+1
    BroofKing
        6
    BroofKing  
    OP
       2022-08-03 13:45:36 +08:00
    @FrankHB 首先感谢您的留言。我们这半年在准备技术测试 文档及网站还没有出来 是抱歉的。

    对于这里的 Hello Word 。现已给出解释,翻译过来是:

    > 我们整天都知道 Hello world ,测试的重点是输出任何符合预期的东西。我们不想呆板,每天重复一样的事情。
    > 给这个世界一些不同和乐趣某种程度上是我们的规则和生活的态度。

    如某黑客自称 Hecker (BelugaHKR),因为他想表达字面意思 但不想显得呆板。
    rioshikelong121
        7
    rioshikelong121  
       2022-08-03 16:19:17 +08:00
    Cplusplus 我第一眼居然没有认出来
    towser
        8
    towser  
       2022-08-04 03:18:54 +08:00
    看这标题,设计的慢点好。
    cyannnna
        9
    cyannnna  
       2022-08-04 10:57:03 +08:00
    using std::io::Console;

    void main() {

    Console::writeln("Hello Word");
    }

    [Ignorable] Why Hello Word instead of "Hello World"?
    We knows hello world all the day, the point of the test is to output something as expect, we want avoid 'rigid' which repeat things all around. in some aspect, give the world some diff fun & style is our rule and life attitude.

    说实话这里有点嘴硬的感觉,因为前后不对应,如果要用这个解释的话,官网可以考虑同步改为 word 。

    @BroofKing
    BroofKing
        10
    BroofKing  
    OP
       2022-08-04 13:42:59 +08:00
    @cyannnna 其实 no big deal 无关紧要的。技术上不影响测试。重点是 “不总是重复一样的事情”,标题用正式的 Hello World ,但是代码测试时 测试什么都可以 为了避免重复一样的事情 就 Hello Word 。并且技术上 少一个字 结果也少一个字 测试结果更精准 因为就连这种细节也符合运行预期 测试结果更可信。

    也可能是在掩饰自己的错误。但无论如何 我是这么认为的。谢谢您的回复。
    BroofKing
        11
    BroofKing  
    OP
       2022-08-04 22:14:50 +08:00
    @XIVN1987 这是一个很好的问题我认为。

    首先,他们的作用是不一样的 . 是成员访问,而 :: 是符号域访问。前者是有运行时开销的 比如访问成员变量 `obj.var1` 他需要将指针从'宿主'(obj)地址偏移到其成员变量的地址。,而成员函数 'obj.func1()' 则需将宿主指针隐式传入对应函数中。

    而后者,是没有运行时开销的。它只是代表一个静态符号。

    我猜您认为 语言中更少的不同“标记” 会让语言看起来更统一更简单。我也很追求简单和统一,但我认为前提是 表达清楚。Clarity 。

    快速的说: . 成员访问 有运行时开销。 :: 静态符号域 无运行时开销 仅表示静态符号。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1043 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:14 · PVG 06:14 · LAX 14:14 · JFK 17:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.