.Net与C语言都是编程语言吗?有什么关系和不同吗?

Python09

.Net与C语言都是编程语言吗?有什么关系和不同吗?,第1张

.net是一个框架,同时也提供了一个运行环境,可以在这个框架下使用到的编程语言有VC++,VB,C#等,打个比方,如果是用C#开发的WINFORM(WINDOWS窗体应用程序),客户计算机上想要运行它就必须安装相应版本的.net framework,如果是C#开发的WEB,服务器上就必须安装相应版本安装相应版本的.net framework。关于这个解释最好还是上微软的官方看看,http://msdn.microsoft.com

从C语言学到了什么...是不是刚大学毕业哦,工科的学生基本都会学这个,但用的没多少,别提练习写C语言的代码了,想要应对别人问你的问题,就还是温习下教科书上的内容吧,编程语言的目的都是应用,大学时代学的基本都是各个数据类型的操作,指针的操作,文件的操作,这些也都是以实际应用为目的,也只是个基础。

不一定有必要在C的基础上学习.net,但是建议这么做,了解基础的东西对后面深入学习有帮助,最重要的原因是.net上的东西都会封装的很厉害,没基础很容易让人迷途的。

简单地讲.net包括一个解析应用程序代码的类库以及一个支持程序运行的平台。

何谓平台:

比方说exe可执行文件可以在Windows上运行,却不能在Linux上面运行。操作系统本身就是一个运行平台。底层的API等可以看做类库。所有在Windows上运行的程序其实都只是对底层API直接或间接地调用,扩展了操作系统的功能而已。

.net之前的Windows程序在写完后被编译成二进制的exe文件。它们可以直接被操作系统解释并送到CPU里面运行。也就是说Windows就是这些程序运行的平台。

问题1:

不光Windows与Linux是不同的运行平台。Windows的不同版本也是不同的运行平台。因为它们的操作系统内核或多或少不一样。API的类库也存在差异。如果各个版本的Windows内核不能完全兼容,就会导致如下问题:如果某程序编写的时候调用了某个特定版本Windows的某个函数,并且该函数在其它版本的Windows内核中都没有,那么把该程序发布到其它版本的Windows至上就会出现运行时错误。运行到一半发现找不到某个函数……这是一个问题。

另一个显著的问题是:

编程语言何其之多。如果写C语言的人能够调用B语言编写的组件。那么代码的重用性就得到了极大程度上的增强。

.net

.net出现后解决了很多问题。当然包括这两个问题。.net支持很多种语言。但是C#才是为.net量身定做的语言。打个比方,地球上一部分人讲汉语,一部分人讲英语,一部分人讲鸟来语。但是英语是比较公认的官方语言。说不同语言的人如果不懂对方的语言显然不能沟通。如果有个翻译就OK了。

.net本质也只是对API进行了更安全的封装,也只是Windows的一种扩展而已。但是它之所以独立于Windows之上成为一个运行平台,是因为.net编写的程序并没有直接编译成Windows能够理解的二进制文件。而是编译成了.net的中间语言。好比我们重新定义了一种国际语言。它既不是英语也不是汉语,不是现存的任何语言。但是它可以用来翻译现存的所有语言。正因为程序被编译成了中间语言,它们在这个层面上可以自由地交流。所以C#之类的C型语言可以跟VB型的B型语言等互相访问。也正因为它们被编译成了一种操作系统不认识的中间语言,它们才需要有一个解析平台(公共语言运行时,也是.net的一个部分)。.net相当于同时充当了程序与Windows之间的翻译官与字典的功能。

Winform

这个这个……当你学会了一种语言的时候,你可以用它来唱歌,也可以用它来写诗。

当你要唱歌或者要写诗的时候,你可以用任何一种语言。Winform说到底不就是编程

语言的一件艺术品么?

这里的vc++和vc指的是Visual C++和Visual C两种计算机语言

.net是开发平台.net在安装的时候会让你选择使用的语言(默认是全部选择)

vc和.net并没有太大的关系,他们都是微软的产品,vc是语言需要有开发平台让他施展,.net是平台可以用vc语言进行编程仅此而已

这是我自己的理解希望对你有些帮助