【问题标题】:Which compiler to use when learning D?学习 D 时使用哪个编译器?
【发布时间】:2016-08-23 16:26:18
【问题描述】:

我对学习 D 很感兴趣。但是我对 DMD 有点反感,因为它不是完全开源的。这就是我考虑使用 LDC 的原因,但我不确定它的状态。在 debian 包中它说:

Version: 1:0.14.0.dfsg-1     
LDC already compiles a lot of D code, but should still be considered beta quality. Take a look at the
     tickets to get a better impression on what still needs to be implemented. 

我知道 Debian 存储库有时可能有点陈旧,但 1.0.0 似乎是最新的 LDC 版本。

我打算经常使用用 C 编写的库。哪个编译器更适合这个目的?最不发达国家还是 DMD?我知道以前有人问过这个问题,但是我发现的所有问题都比较老,我想知道目前的状态。

【问题讨论】:

  • 在 Linux 上,它们都可以与 C 一起工作。我个人使用 dmd,所以这样做的好处是您可以更轻松地查找信息或提供帮助,但它们之间并没有太大区别。
  • DMD 完全开源的!说不是就是骗人的!但是,您可能想说的是,您不喜欢 DMD 的某些部分是在限制性许可下发布的。 - 你为什么在乎?您作为 DMD 用户不受任何限制!
  • 我们可能不同意这个词。对于开源,我的意思是它具有开源许可证。我可以随意更改它,而不必从赛门铁克获得许可。

标签: d dmd ldc


【解决方案1】:

我对学习 D 很感兴趣。但是我对 DMD 有点反感,因为它不是完全开源的。

编辑:自 2017 年 4 月 8 日起,DMD 为 fully OpenSource


这只是一个关于后端的许可。整个开发都在 Github 上进行:https://github.com/dlang/dmd

我的建议是使用 DMD,因为它具有最快的编译时间,这在学习一门语言时非常有用(说真的,它的速度非常快!)。在 Linux 上,您可以使用 install script 轻松安装 DMD - 即使只是作为用户:

curl https://dlang.org/install.sh | bash -s dmd

(有关更多说明和下载选项,请参阅downloads page。)

最后但同样重要的是,您应该熟悉一些不错的工具,例如 rdmd(它允许像脚本一样执行 DMD 源文件),因为它们可以为您节省大量时间并进行编程在 D 中更有趣!

这就是我考虑使用 LDC 的原因,但我不确定它的状态。在 debian 包中它说: 我知道 Debian 存储库有时可能有点古老,但 1.0.0 似乎是最新的 LDC 版本。

“有点古老”是轻描淡写的;-)
如果你想选择 LDC,你应该明确地抓住一个more recent release。截至目前 1.0.0 是最新版本,但 1.1.0 将很快发布(第二个测试版已经发布)。您还可以使用安装脚本获取最新的 LDC:

curl https://dlang.org/install.sh | bash -s ldc

【讨论】:

  • 作为对@greenify 答案的修正,您可能会发现 DUB 很有帮助。 DUB 在 DMD 编译器之上提供了一个额外的层,可以自动打包。我发现在 D 中开发具有双重价值。例如,我可以简单地发出命令 dub init foo,从名为 foo 的模板创建一个新的 D 项目。在/foo 内部,我只需调用dub 来编译和运行foo。我知道您的问题专门针对编译器的选择,但我认为这是构建环境领域的一种低成本解决方案,可以节省时间。在此处找到该项目的链接:github.com/dlang/dub
  • curl -fsS https://dlang.org/install.sh | bash -s ldc可以用来安装LDC。
猜你喜欢
  • 1970-01-01
  • 2020-05-01
  • 2010-09-05
  • 2011-02-24
  • 2013-07-11
  • 2011-05-11
  • 1970-01-01
  • 2022-01-10
相关资源
最近更新 更多