当我第一次看到C#时,我认为这肯定是一个笑话。 我从C开始编程,但是在C#中,您只需拖放对象,然后将事件代码写入它们即可。 非常简单
现在,我仍然最喜欢C,因为我非常喜欢基本的低级操作,C只是汇编程序的下一个级别,基本的例程很less,所以我非常喜欢它。 更因为我写微型控制器的小应用程序。
但是昨天我写了一个非常简单的控制程序,用于我的基于微控制器的LED立方体,我需要一些方法来创buildanimation序列到立方体。 所以,我记得C#。 我几乎没有C#技能,但我仍然创build了一个简单的程序,使用GUI在一小时内制作animation序列,只需借助Google的帮助以及C#中的embedded式函数描述。
那么,为了说明问题,除了C#之外,还有其他什么原因,然后才能使用其他语言? 我的意思是,它非常有效。 我知道Java有点类似,但是我希望C#能够直接从Microsoft获得更高的Windows效率。
如何从另一个应用程序的窗口中的控件读取数据?
.Net的窗口菜单
64位.Net应用程序中的内存限制?
Windows服务在C#中托pipeCOM +组件来控制外部设备
第二个问题是,编译成CIL的优点是什么,比直接编译成机器码还是CLR运行好呢? 我知道可移植性是可移植的,但是由于C#主要用于Windows,那么直接编译它会不会更强大? 谢谢。
在尝试使用Windows的mono-4.2.2时,请保持Exec格式错误
在C#中使用TaskDialogIndirect
VS 2010工具的gacutil.exe安装程序集在哪里?
.net安装项目强制重新安装新的文件replace
1 – 差异语言有其优点和缺点。 有语言(功能,动态,静态等)的家庭,这是更好的具体问题领域。 你需要在每个家庭学习一个知道什么时候选择哪一个。 例如写一个简单的脚本,我会选择Ruby over C#
2 – 将其编译为CIL:可移植性可能不是什么大问题,但确切地说,Mono在Linux上实现了CLR。 那么在那里。 此外,CIL还可以帮助您在CLR上运行的各种语言进行混合搭配。 例如IronRuby可以访问用C#编写的标准框架库。 它还使CLR能够利用运行程序的实际硬件(例如打开优化,使用特定的指令)。 2台机器上的CLR将为相应的机器生成来自相同IL的最佳本地代码。
语言和平台的选择是项目目标的一个功能。 这听起来像你喜欢的系统级编程,这是使用C / C ++的优点之一。 所以,如果这是你喜欢的,继续写系统级的代码。
使用C#写作在快速的业务应用程序开发方面具有很强的实力,其目标本质上不同。 快速编写好的工作代码在工时和上市时间都是值得的。 微软为我们提供了富有表现力的语言和坚实的功能框架,使我们不必为95%的业务需求编写低级代码或工具。
IL的一个重要优势是语言独立性。 您可以在项目中定义模块,这些模块应该用C ++完成,一些用C#完成,另一些用VB.net完成。 所有这些项目编译时分别给予(.dll / .exe)程序集。 这可以在C#中使用C ++项目的程序集,反之亦然。 这是可能的,因为..不管你选择哪种语言(.net支持)..都编译成相同的IL代码。
我不确定C#是否因为是微软产品而更有效。 如果您使用Visual Studio或其他RAD,则某些代码是自动生成的,有时效率较低。 几年前,我是一个教条,只有C才能回应我们所有的祈祷:-P,但现在我认为虚拟机可以在优化代码之前帮助我们实现它(如RDBMS),存储在caché中稍后执行的代码等。包括像Terracotta一样创建虚拟机“集群”的可能性。 至少有一个额外的抽象层的好处是没有它更大。
我同意spoulson。 C#真的很擅长解决业务问题。 您可以非常有效地创建一个框架,模拟您的业务流程,并以面向对象和设计模式解决许多这些问题。 在这方面,它提供了很多C ++所具有的很好的面向对象的功能。
如果你关心速度,C是你说的原因。
进一步的第二个问题是:你可以运行NGEN来生成组件的本地图像,这可以提高性能。 不是很机器代码,但是由于它绕过了JIT(即时编译)阶段,应用程序往往会运行得更快。
http://msdn.microsoft.com/en-us/library/6t9t5wcf(VS.80).aspx
本机映像生成器(Ngen.exe)是一个提高托管应用程序性能的工具。 Ngen.exe创建本地映像,这是包含编译处理器特定机器代码的文件,并将它们安装到本地计算机上的本机映像缓存中。 运行时可以使用缓存中的本机映像,而不是使用即时(JIT)编译器编译原始程序集。
“有什么其他的原因,那么最高速度,使用除C#之外的任何其他语言?”
我至少可以想到四个,有点相关:
我在X语言方面有大量的投资,我没有时间和金钱去转换别的东西。 (移植现有的代码库,购买/获取/移植库,在C#中重新开发团队技能,学习不同的工具。)
我需要使用C#中不可用的工具,或者不太受支持。 (IDE的,备用编译器,代码生成器,库,列表继续…)
我发现了一种更高效的语言。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。