如果你有时间和倾向于创建编程语言,它会有什么特点?

时间:2009-11-22 09:39:55

标签: python c++

好奇。如果你有时间和倾向于创建编程语言,它会有什么特点?

我希望看到的一种语言尽可能多地借用Python的语法,但编译成运行速度与C或C ++一样快的机器代码。

5 个答案:

答案 0 :(得分:5)

我会将我的语言限制在一个声明中:

Solve my problem.

也许我会添加一个修饰符,以防万一:

Solve my problem, please.

答案 1 :(得分:4)

混合了COBOL和XML,用于lulz

<program>
    <data>
        <const>
            <name>myStr</name>
            <value><[CDATA[Hello, World!]]></value>
        </const>
    </data>
    <sub>
        <name>main</name>
        <params />
        <return />
        <code>
            <call>
                <name>writeline</name>
                <params>
                    <var>myStr</var>
                </params>
                <giving />
            </call>
        </code>
    </sub>
    <meta>
        <entrypoint>main</entrypoint>
    </meta>
</program>

答案 2 :(得分:0)

  1. 程序员可以明确设置变量的类型。以及很酷的方式论证,比如

    (string str, array(int)|int someint_or_more, any some_strange_argument)
    

    类似的东西:)

  2. 程序员至少可以像使用JS一样使用lambdas,closures等

  3. 它会有基于protytipes的OOP(比如JS)
  4. 块(如果{...}等)会像闭包一样!
  5. 它将有一个特殊的关键字来定义一个返回常量值的函数(如果参数没有被更改),所以它可以被编译器/解释器缓存而不需要任何程序员考虑它。这将是非常有用的,你几乎可以使用递归,并且不会真的很糟糕!

答案 3 :(得分:0)

它应该快速且轻量级(不像.NET Framework),但您仍然可以创建功能齐全且灵活的GUI应用程序。

答案 4 :(得分:0)

一个简单的块,用于定义可以并行运行的东西,所以如果我写:

parallel{
  do_x();
  do_y();
}
something_else();

do_x()和do_y()将并行执行,但something_else()只会在两个完成后运行。