C#编程第0001问:
C语言和C#语言有什么区别吗?
分析:
提出这个问题的朋友一般都是初学者,刚刚开始接触C#语言,但是又知道古老的C语言(ps:现在市场上信息量太大)。这两种语言这两个字母之间就差了一个#,却有着大不相同之处,因此入门时会想知道怎么区分,想要了解异同。
【刘金玉编程】回答:
因为这个问题是针对刚接触C#编程语言的朋友回答的,因此我想尽量使用更加浅显易懂的语言来表述这个答案。
从大方向上看,C语言是鼻祖,而C#语言是孙子。那就说是,如果你在学习C#编程语言,那就意味着你在学习的是孙子的知识。
那么老子到哪里去了呢?
我们这里这样表述吧:鼻祖是C语言,老子是C++语言,孙子是C#语言。
通过以上,我们从编程语言发展的角度你大概了解了吗?
其实,任何编程语言的发展都是为了顺应当下时代的潮流。
计算机发展早期的操作系统叫做unix,主要使用C语言编写的。C语言是美国贝尔实验室于1969~1973年期间开发创造的。早期的操作系统功能也比较简单,主要还是由于早期硬件性能跟不上导致的,但是在早期已经非常了不起了。有一本《unix传奇》的书推荐可以了解一下,从侧面记录了开发该操作系统的开发人员的真实工作。
摩尔定律说过每隔18个月,计算机的硬件性能提高一倍,但是成本价格却降低一半。随后操作系统的发展,编程语言也随着业务发展需要而进一步开发中,于是就有了C++语言。
C++语言主要增强了面向对象的编程思想,而C语言是面向过程的开发。C++语言在继承C语言功能的基础上,还可以将实际业务抽象成类模型。
例如用户信息可以抽象为一个用户类User,在编程时将类模型进行实例化对象,每个实际的对象都是一个实际的用户,不同的对象拥有相同属性,就像人类拥有属性年龄、文凭、钱等,虽然属性相同,但是每个人的年龄、文凭、钱等都各不相同。
通过C++语言用户信息模型化的方式,更容易理解显示业务,有利于把程序做大。所以,现在有支持C++语言的编写框架MFC、QT等,可以很方便地开发大型应用程序。用C++开发的软件程序,运行效率非常高。
随着企业业务的发展,开发成员发现在处理很多企业业务程序时,使用C++语言开发很容易导致内存泄漏,很多问题都是指针使用不当导致的。为了能有更多人参与的软件开发中,需要将C++语言进一步简化,同时使得其中容易出错的地方避免,于是我们的C#语言就应运而生了。
C#编程语言被号称21世纪最重要的编程语言之一。它与.net框架协同工作,使得开发变得更为优雅。C#语言的出现,让人们入门编程开发更为容易,能用更少的时间开发出更强大的软件应用程序。其实,了解编程语言历史的朋友应该知道C#语言还有一个兄弟叫做Java。
早期时Java的诞生风靡全球,使用开发的软件可移植性大大增强。微软他眼红了,因为编程语言市场被抢去大半,本想向当时的sun公司收购Java语言,但因种种原因收购失败,一狠心,微软自己开发了与Java类似的一种编程语言,它就是C#,并且在易用性上远远优于java语言。
最后,我用一张图来表示一下今天讲到的C、C++、C#、Java这四种语言。