我正在考虑可能在某个时候设计/构建一种语言,在.NET Framework / CLR上运行它的优点,缺点和难点是什么?
答案 0 :(得分:21)
最难的部分是设计有效的编程语言。许多人将他们的整个职业生涯奉献给了这项任务。由于这里有很多关于语言设计和一般解析问题的问题,我将专注于针对CLR的方面。
<强>优点强>
System.Reflection.Emit
命名空间和.NET 4.0中令人敬畏的新System.Linq.Expressions
功能,以二进制形式生成字节代码非常简单。这个设置是我个人希望定位CLR的主要动力之一。<强>缺点强>
困难(不计算语言和编译器前端)
<强>摘要强>
对于从事新语言实施的人来说,CLI是一个很好的选择。它允许您从常见的编译器后端开始,并专注于语言本身的语义。我可能不会推荐有人创建一种新语言,但如果您决定,CLI将成为您旅途中的好朋友。