是否可以制作高级编译语言?

时间:2012-01-02 02:48:51

标签: compiler-construction programming-languages language-design high-level

我是一个相对初学的程序员,他做了一些Visual Basic,Python,最近开始研究Java或C ++以获得更快的语言。这些语言更快的主要原因似乎是它们被编译(或者用于Java,主要是编译)。这引出了我的问题,是否有可能制作一种像Python一样更容易编写的语言速度?

解释语言的优势似乎主要在于能够在范围和类型中使变量具有动态性。然而,总的来说(根据我的小经验)将代码长度缩短了一小部分(可能低于10%,添加公共修饰符或int只是一个单词)。此外,我不确定是否可以使用真正的编译语言(如c ++)进行垃圾收集,但它在Java中可用,它与C ++一样快/快。

是否可以使用非常简单的语法(如Python)创建一种语言,并进行一些小的更改(静态变量),并允许它在Java / C ++中编译,并从那里编译成非常快速计划?

例如:在我现在非常有限的java视图中,要打印一些必须写的内容:

System.out.println("print this");

但是,在Python 3中,您写道:

print("print this")

如果有人用这种理论语言print("print this")编写,它将被编译为System.out.println("print this");,然后编译成JVM字节码。这种语言可能会缩短生产时间,同时仍然具有快速的执行速度。

4 个答案:

答案 0 :(得分:2)

听起来你正在寻找圣杯。我说这是可能的。但是你需要一支由才华横溢的大团队组成的团队。还有时间。

P.S。我不知道Java对你来说不够快。我喜欢Java编程语言,与其他用不同语言编写的程序相比,我没有注意到任何延迟,而且我在一天之内编写了整个程序。换句话说,发展速度快。与其他人一起编写Java也很容易。使用像eclipse这样的工具,您可以同时编码并使用“比较/替换”等功能来组合您的工作。

答案 1 :(得分:2)

根据维基百科看看Nim是一种编译语言,并且有一些python熟悉的语法。我认为它尚未完全发布。但是你仍然可以得到它。

它甚至允许您使用C语言进行编码,它还可以与Lua和Python解释器进行交互。 Nim是一种静态类型的命令式编程语言,它试图在不影响运行时效率的情况下为程序员提供最终的功能。它具有零开销迭代器,并通过编译成C来工作。甚至C ++代码甚至可以用它生成。

您可以在https://github.com/nim-lang/Aporia获取Aporia IDE https://en.wikipedia.org/wiki/Nim_(programming_language)

http://nim-lang.org/

实例 Hello World计划就是这样:

echo "Hello World!"

答案 2 :(得分:1)

Scala怎么样?它被编译为JVM的字节代码,并且具有许多通常在脚本(动态)语言中找到的功能(匿名函数,高阶函数,分隔连续,模式匹配,类型推断,特征,混合......)看一下维基百科{ {3}}了解更多详情。

答案 3 :(得分:1)

Nim是一种新的高级语言,如果您想使用它们,它们具有完整的低级功能。用作高级语言,它可能相当安全。它还具有良好的功能编程功能。它"变换"到C,然后是二进制文件。 (我认为它是完美的语言 - 最后!)见: http://nim-lang.org/0.11.3/nims.html

如果你只是想要一种非常简单的高级语言,那就是#34;到C,然后是二进制文件,有精灵: https://wiki.gnome.org/action/show/Projects/Genie?action=show&redirect=Genie