C语言和C#语言有什么区别吗?【C#编程1000问】

简介: C语言和C#语言有什么区别吗?【C#编程1000问】

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这四种语言。

99da46abc4e64c3046d1d5b2fd698786.png

相关文章
|
17天前
|
存储 安全 Java
程序与技术分享:C#值类型和引用类型的区别
程序与技术分享:C#值类型和引用类型的区别
16 0
|
10天前
|
存储 Java C语言
【C语言入门】初识C语言:掌握编程的基石
【C语言入门】初识C语言:掌握编程的基石
19 4
【C语言入门】初识C语言:掌握编程的基石
|
10天前
|
存储 Java 程序员
【C语言入门】C语言入门:探索编程世界的基础概念
【C语言入门】C语言入门:探索编程世界的基础概念
20 2
|
9天前
|
存储 缓存 C#
C#语言编写的仅有8KB大小的简易贪吃蛇开源游戏
C#语言编写的仅有8KB大小的简易贪吃蛇开源游戏
C#语言编写的仅有8KB大小的简易贪吃蛇开源游戏
|
17天前
|
存储 C# 开发者
C# 编程基础:注释、变量、常量、数据类型和自定义类型
C# 编程基础:注释、变量、常量、数据类型和自定义类型
18 1
|
20天前
|
C语言
【海贼王编程冒险 - C语言海上篇】库函数怎样模拟实现?
【海贼王编程冒险 - C语言海上篇】库函数怎样模拟实现?
13 1
|
20天前
|
C语言
【海贼王编程冒险 - C语言海上篇】怎样用C语言实现简单的扫雷游戏?
【海贼王编程冒险 - C语言海上篇】怎样用C语言实现简单的扫雷游戏?
10 1
|
20天前
|
C语言
【海贼王编程冒险 - C语言海上篇】C语言如何实现简单的三子棋游戏?
【海贼王编程冒险 - C语言海上篇】C语言如何实现简单的三子棋游戏?
11 1
|
21天前
|
存储 机器学习/深度学习 人工智能
|
10天前
|
存储 算法 程序员
C语言编程—递归
递归是函数自我调用的编程技术,常用于解决分治问题,如计算阶乘和斐波那契数列。示例中展示了C语言的阶乘和斐波那契数列递归实现。递归需满足:问题可转化为规模更小的同类问题,存在结束条件以防止无限循环,并可能消耗大量时间和栈空间。栈用于存储函数调用信息,过多递归可能导致栈溢出。递归虽简洁,但非最优效率选择,递推算法通常是更好的替代方案。
14 0