写点什么

D.NET 编译器源码发布了

  • 2009-05-18
  • 本文字数:523 字

    阅读完需:约 2 分钟

D 语言是一门相对来说比较新的语言,就像 ObjectiveC 一样,它试图解决 C++ 中的一些严重问题。下面的内容来自于对 Cristian Vlasceanu 的采访

D 语言在很多方面都鼓励采取“正确”的行为。比方说在 C 和 C++ 中,如果你写“"int i;”,那么 i 这个变量就是没有初始化的,这时程序员就需要敲入额外的代码“int i = 0;”来实现“正确”的行为,但 D 语言却与之不同:“int i;”会安全地将变量 i 设为其默认值(也就是 0)。要想不对 i 进行初始化,你需要额外的输入“int i = void;”来表示你是有意不对 i 进行初始化而不是因为疏忽大意。

D.NET 是 D 语言到 CLR 的移植,目前还处在试验阶段。其包含两部分,一个前端组件及一个后端组件。前端组件用来解析源码并生成抽象语法树。后端编译器接收生成的抽象语法树并生成实际的机器码或 IL 代码。虽然前端及后端组件的代码都在CodePlex 上,但其只维护后端组件。前端组件已经超出了 D 2.0 语言编译器的范围之外了。

需要注意的是:

后端组件代码的质量还不足以用在产品中,目前只是用作研究及学习目的。D 语言是一门相当复杂的语言,一些非凡的特性比如 TLS 和闭包是如何生成 IL 代码的呢?这些都很值得我们去研究。

查看英文原文: Source for the D.NET Compiler is Now Available

2009-05-18 00:361370
用户头像

发布了 88 篇内容, 共 264.2 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

第 09 周作业

Jam

Week 09 命题作业

Jeremy

「查缺补漏」巩固你的Redis知识体系

Kerwin

Java redis

学习总结(训练营第九课)

看山是山

获得高手的精英思维,从写作开始。

叶小鍵

高手 万维钢 得到精英日课

JVM原理

朱月俊

架构师训练营 第九周 总结

CR

架构师训练营 -week09 学习总结

GunShotPanda

一文教会你嵌入式网络模块的联网操作

良知犹存

物联网 网络 嵌入式

9-1垃圾回收原理和秒杀系统

burner

架构师训练营-week09 作业

GunShotPanda

week09总结

Safufu

week9 学习总结

任小龙

week09 小结

Geek_196d0f

架构师培训 -08 总结 JVM、秒杀

刘敏

Week 09 学习总结

Jeremy

换一种方式构建镜像

北漂码农有话说

如何保存我们的资产

不在调上

第九周学习总结

菲尼克斯

8.5小结

朱月俊

第九周总结

Jam

JVM系列之:从汇编角度分析NullCheck

程序那些事

Java JVM JIT

《RabbitMQ》如何保证消息不被重复消费

Java旅途

RabbitMQ 消息队列

产品经理【三句半】,说清你的【酸甜苦辣】

Java_若依框架教程

产品经理 产品设计

《深度工作》学习笔记(5)

石云升

读书笔记 专注 深度工作

未来云原生世界的“领头羊”:容器批量计算项目Volcano 1.0版本发布

华为云开发者联盟

Kubernetes 容器 华为云 Volcano 元原生

Week9-课后总结 & 课后作业 JVM垃圾回收机制

Geek_165f3d

JVM 垃圾回收原理及秒杀系统设计思路

Acker飏

第九周命题作业

菲尼克斯

第9周作业

小胖子

9-2 秒杀系统的挑战和问题

burner

D.NET编译器源码发布了_.NET_Jonathan Allen_InfoQ精选文章