长沙牛耳科技有限公司400-0731-162

主页 > IT培训资讯 > 编程动态 >

论c语言的竞争优势

更新时间:2019-07-09 13:49:10 点击量:

来源:牛耳教育

内容摘要: 没有什么技术可以应用长达50年之久,除非它真的比大多数其他东西都要好用对于一种计算机行业的技术来说尤其如此。自1972年诞生以来,C语言一直保持生龙活虎的状态,时至今日它仍然是我...

  没有什么技术可以应用长达50年之久,除非它真的比大多数其他东西都要好用——对于一种计算机行业的技术来说尤其如此。自1972年诞生以来,C语言一直保持生龙活虎的状态,时至今日它仍然是我们用来搭建软件世界的基础建筑材料之一。

 

 

但有时一种技术能够长期存在,只是因为人们还没有来得及发明新的东西来取代它而已。在过去的几十年里,出现了许多其他语言——其中一些明确地被设计用于挑战C的主导地位,有些语言试图凭借自己的人气慢慢瓦解C语言的统治地位。

 

为C需要被替换掉的观点争辩是简单的。编程语言研究和软件开发实践都暗示了如何比C更好地去做事。但历经数十年的研究和开发,C语言的地位却依旧稳固。很少有其他语言能够在性能、裸机兼容性或通用性等方面击败它。不过,2018年C是如何与那些明星编程语言竞争的呢,其中细节仍值得一看。

 

选C而不选C++对您——以及任何将会维护你代码的开发人员——来说都是可行的,通过采用强制简约主义来避免与C ++的复杂性纠缠。当然,C ++拥有丰富的高级功能,这是有它自己的道理的。但如果极简主义更适合当前和未来的项目——以及负责项目的团队——那么还是选C更明智一些。

 

Java输给C的地方是一个Java从未打算竞争的领域:靠近底层结构运行,或直接与硬件打交道。C代码被编译成机器代码,由进程直接执行。Java被编译成字节码,这是一种随后会被JVM解释器转换为机器代码的中间代码。此外,尽管Java的自动内存管理在大多数情况下都是个优点,但C更适合于必须充分利用有限内存资源的情况。

 

也就是说,在某些方面,Java在速度方面可以接近于C。JVM的JIT引擎在运行时根据程序行为优化例程,允许进行许多类型的优化,而这些优化是在未提前编译的C中无法实现的。虽然Java运行时自动执行内存管理,但一些较新的应用程序可以解决这个问题。例如,Apache Spark部分地通过使用绕过JVM的自定义内存管理代码来优化内存中处理。

 

与C一样,C#和.Net提供各种直接访问内存的机制。堆,栈和非托管系统内存都可以通过.Net API和对象访问。开发人员可以使用.Net中的unsafe模式来实现更高的性能。

 

但这些都不是没有代价的。托管对象和unsafe对象不能被任意交换,并且它们之间的编组会降低性能。因此,要最大化.Net应用程序的性能需要将托管和非托管对象之间的变动保持在最低限度。

 

如果您无法承担托管与非托管内存之间变动造成的性能损失,或者.Net运行时对于目标环境(例如,内核空间)来说是一个糟糕的选择,或者可能根本不可用,那么C就是你所需要的。与C#和.Net不同,C被默认可以解锁对内存的访问权。 


专业老师指导

张老师

从事IT教育培训十年有余,致力于帮助广大学子找到适合自己的专业

培训咨询客服

刘老师

IT培训专业客服,用自己的真诚帮助了无数学子找到了合适的学校

大家都在看

牛耳教育林科大校区

更新时间:

牛耳教育集团成立于2001年,专注于高端IT职业教育,开创了中国高端IT职业教育先河。作为专业的软件教育企业,致力于为企业客户、合作伙牛耳教育集团成立于2001年,专注于高端IT职业...

牛耳教育长理工校区

更新时间:

牛耳教育集团成立于2001年,专注于高端IT职业教育,开创了中国高端IT职业教育先河。作为专业的软件教育企业,致力于为企业客户、合作伙牛耳教育集团成立于2001年,专注于高端IT职业...

牛耳教育涉外校区

更新时间:

牛耳教育集团成立于2001年,专注于高端IT职业教育,开创了中国高端IT职业教育先河。作为专业的软件教育企业,致力于为企业客户、合作伙牛耳教育集团成立于2001年,专注于高端IT职业...

牛耳移动互联网学院

更新时间:

牛耳教育集团成立于2001年,专注于高端IT职业教育,开创了中国高端IT职业教育先河。作为专业的软件教育企业,致力于为企业客户、合作伙牛耳教育集团成立于2001年,专注于高端IT职业...

牛耳教育软件学院

更新时间:

牛耳教育集团成立于2001年,专注于高端IT职业教育,开创了中国高端IT职业教育先河。作为专业的软件教育企业,致力于为企业客户、合作伙牛耳教育集团成立于2001年,专注于高端IT职业...

牛耳数字艺术学院

更新时间:

牛耳教育集团成立于2001年,专注于高端IT职业教育,开创了中国高端IT职业教育先河。作为专业的软件教育企业,致力于为企业客户、合作伙牛耳教育集团成立于2001年,专注于高端IT职业...

全国统一客服电话
15307496684
周一至周日 09:00-22:00 接听
牛耳教育官方公众号
扫描访问手机版