加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

除Scala for LowLevel之外还有什么第二语言?

发布时间:2020-12-16 09:30:43 所属栏目:安全 来源:网络整理
导读:我非常高兴与斯卡拉,只是爱它:) 但有时候我真的想要更多的“低级”,没有JVM,并使用“酷”的CPU功能,如SSE等。 那么除Scala之外,什么是好的第二语言? 它应该是: 编译到机器代码 轻松使用C库 可能程序非常接近硬件 可能以非常高的方式编程,当我想 所以
我非常高兴与斯卡拉,只是爱它:)

但有时候我真的想要更多的“低级”,没有JVM,并使用“酷”的CPU功能,如SSE等。

那么除Scala之外,什么是好的第二语言?

它应该是:

>编译到机器代码
>轻松使用C库
>可能程序非常接近硬件
>可能以非常高的方式编程,当我想

所以基本上我想要一个Scala,当我想要的时候我可以抛出内联汇编程序:)我假设这样的语言不存在,但也许有一些接近。

那么会是个好选择?
C,D,OCaml

我在C(15年前)中编程了一点,与OCaml很少。在这两种情况下,我只解决了一些问题,对语言本身并没有很深入。

解决方法

你几乎描述了D.

>编译到机器代码:检查。有一个实验.NET VM实现,但是所有三个主要实现(DMD,LDC,GDC)直接编译为本地代码,并且该语言旨在使本地编译成为可行。
C库的简单使用:D supports the C ABI and all C types.几乎所有你需要做的是翻译C文件中的头文件和链接。这can even be partially automated.
>可能程序非常接近硬件:检查。 D是我称之为C的惯用超集。它不支持C语法的每一部分,其模块系统完全不同,静态数组是D2中的值类型等。但是,对于C语言中的任何构造(即排除预处理器)在D或标准库中有一个等效的构造。对于任何C代码(不包括预处理器滥用),有一个规范的D转换看起来大致相同,如果使用相同的编译器后端,则应该生成相同的汇编语言指令。换句话说,每个C语言(不包括预处理器滥用)都可以直接转换为D。

D的参考实现也支持inline ASM,所以你可以搞乱SSE等
>当我想要:检查时,可能以非常高的方式编程。 D被设计为主要的垃圾回收语言(尽管如果您坚持使用手动内存管理,并且小心不要使用假定GC的库/运行时功能)。除此之外,高级编程主要通过模板元编程实现。在您逃跑之前,请谅解,与C相比,D中的模板元编程大大改善。在D与C中进行模板元编程就像在C与C中进行面向对象的编程一样。在D模板中,metaprogramming被设计成语言,而在C中,只有足够的功能可以使用聪明的黑客来使它几乎不起作用。在C与C中可以说面向对象编程也是如此。Phobos的std.algorithm和std.range模块是D的高级子集的好例子。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读