|
不管你擅长哪种开发工具,你可能从铺天盖地的广告中听说过.NET。通过这些宣传,要了解.NET是什么是比较困难的。
更重要的是,.NET 在嵌入式软件开发领域有什么样的表现了?。在这个几乎所有东西都可看作是Web service的世界(计划也正是这样进行的,让Web service充满世界), .NET向其使用者提供了一定的技术和市场前景,针对应用程序和Wed services的市场前景。
对于软件开发者而言,.NET有吸引力的地方是包含了公共语言运行时(Common Language Runtime,CLR), C# 语言和 .NET 框架。这个 .NET 平台提供了一种虚拟机,一种可以自动管理内存(收集内存垃圾)的环境,以及一个全面的、广泛的类库。但是Java的优点也不会比上述的逊色多少。因此.NET最吸引人的特点是:你能够用任何一种语言来为 .NET 写代码,而并不只是 C# 语言。
如果正如微软所愿, .NET会在今后几年里广泛使用,最后Win32 API就变成一个遗留的程序接口。Linux组织想通过 Mono计划(Mono project)赶上潮流。 Mono计划提供一个 GPL版本的 .NET,整合了基本的.NET建构基础,其中包括C# 编译器、Common Language Runtime编译器,并且一切进展顺利。
那么, .NET和嵌入式软件开发有什么关系了?表面上看来,并没有什么;但实际上.NET在嵌入式世界中会有一些影响的。
在嵌入式设备上的 .NET 当谈到在芯片上运行CLR虚拟机时,切忌不要忘了,我们已经使用Java在这条路上走了有一些年头了。记住曾经的那个广告:“所有的嵌入式系统都将运行Jave”。而且,小型微处理器并不会退出舞台,他们是没法满足运行 .NET CLR所需的条件。
如果你有高端运算器,并且能在嵌入式设备上使用Windows,Windows CE,或者嵌入式Linux,那么.NET也许可以在此运行。
预料 .NET会在使用Java的嵌入式环境中和Jave竞争。如今,另外一些必须连接到Internet的嵌入式设备在以后都需要和使用 .NET的设备“会话”了,而无论那些嵌入设备运行的是何种嵌入式操作系统。
开发者技巧 成为具有一定开发技能的嵌入式软件开发者的可能性,是具有更长远价值的。在桌面系统开发者和嵌入系统开发者之间,技巧方面的差别正在逐渐扩大。
C++, COM等技术支配着有丰富资源的桌面系统,而C 却是嵌入世界的主宰。但是嵌入系统和桌面系统之间的区别现在已经小到足够软件开发者能够很快转变其工作领域。
仍然,预料桌面系统开发和嵌入系统开发两者之间的技巧差别会尽可能的变大。并且更多的桌面系统开发者;以及特别是那些新培养出来的程序员们,他们习惯于安全的C#/CLR环境,一个没有危险的指针,没有内存管理死角,可以没有C/C++技巧,也不用接触汇编程序的环境。这些开发者会有一阵艰苦的时间来适应嵌入式的环境。
嵌入式软件工具 嵌入式软件工具的开发商会如何反应了?可视化工具会从这种趋势中得到很好的发展。像工具MathsWorks,尽管是非主流产品,也能让非嵌入式软件开发者不用理会嵌入式开发的高深底层细节而可以使用嵌入式应用程序。
不要期望一夜之后局面就会有所改变。重要的是不断扩展你的底层开发技能,因为这些技能越往后越显得宝贵,但是同时也要关注嵌入式软件开发的前景并适当研究新出现的工具。
|
|