我很好奇在嵌入式开发领域中,除了C语言之外的替代语言有多受欢迎,比如Ada等等。我只用过C语言(还加上了一点汇编),但我的目标资源非常有限。在这个领域里是否有向其他语言的转移?在机顶盒领域中哪种语言最流行?
如果不使用C,是什么原因呢?
- 目标编译器的支持 - Trace\静态分析工具 - 其他原因
谢谢。
如果不使用C,是什么原因呢?
- 目标编译器的支持 - Trace\静态分析工具 - 其他原因
谢谢。
是的。Java越来越受欢迎 - 许多处理器已经添加了主要与Java和类似语言(.net)有关的指令。此外,uclinux运行在微控制器上,因此您可以使用几乎任何语言来处理一些较大的微控制器。
Basic仍然很常见,汇编语言也是如此。
您会在某些政府项目中看到Ada。
一些工程师甚至将Lua和其他解释器放在他们的微控制器上,以便客户可以扩展功能。
但C仍然是主导语言。
-Adam
请参考以下相关问题:
针对您的“为什么”问题,从政府/军事采购的角度来看,现在认为Java(语言、平台等)是通用语言,而且该语言的规模经济将降低采购和维护成本。也有人希望可以快速有效地培训出一名合格的Java程序员成为一名合理的RT/嵌入式程序员,而不是要求他们学习一门新语言。我认为这种推理是值得怀疑的,但它确实回答了“为什么”的问题。
Pascal和Modula2也很好用。从本质上讲,它们与C几乎相当,除了不能使用alloca(尽管有些人将其作为扩展功能)。
但是核心问题将是任何!C编译器的问题:您更喜欢更好的编译器/工具链还是首选语言。
尽管我最喜欢Wirthian语言,但我仍然使用C,并接受后果,只是因为工具链更好。
过去曾有过一些例子(如Pascals或紧密编译的Basics),但C通常是规范。我从来没有理解为什么。