有没有程序员使用IL作为编写代码的主要语言的场景

时间:2011-04-02 23:12:43

标签: .net il

大多数开发人员使用核心.NET语言之一(如c#,vb.net,c ++ / cli等)来创建他们的应用程序/开发人员。我只是想知道是否有人会使用中级语言(IL)作为他们作为程序员日常工作的主要语言。

3 个答案:

答案 0 :(得分:1)

不,除非你被迫,否则没有理由在IL编程。

IL不是作为编程语言发明的。它(顾名思义)是一种中间语言 - 一种从高级语言生成的输出,然后通常在运行时由JIT编译器编译成机器代码。

答案 1 :(得分:1)

我无法想象你需要的情况。假设.NET编译器很不错,那么将编译器的IL级优化留给编译器是明智的(并且在编码时间方面更有效率),而不是相信自己做这些。

在IL中编写一些代码所需的时间,你可以同时在C#中完成10倍的工作,而.NET编译器可能比我们优化它的工作做得更好。

答案 2 :(得分:1)

虽然我同意其他答案,但我想补充一点,在某些情况下编写IL会很有用:

  • 动态代码生成(使用Reflection.Emit),虽然它通常用于很短的IL代码
  • 如果你需要做一些CLR支持的事情,而不是你常用的语言