c语言、c 和c#的区别在哪?
十年老程序猿!碰巧,3门语言都比较熟悉!来说说我的看法!
C语言
C语言,是我入门的编程语言,因为我是计算机专业。
C语言,贴近硬件底层,面相过程,语法特性相对较少,语法相对简单。
但是因为贴近底层,比较难入门,难精通,尤其是指针(二级指针,函数指针,指针函数。。。),让无数人折腰!
C++
正好也是我大学的课程!工作之后,也一直是主力语言在用。
C++是C语言的超集,支持C语言全部特性。然后加入面向对象的特性,功能比C语言更强大。
但是由于新特性的加入,导致复杂度变高,入门更难,执行效率相比C语言有所下降(相对于其他编程语言,还是最快的梯队)。
C++还有一个让人诟病的地方,就是编译速度慢!一个大型模块,编译几分钟是常事!
C#
C#(读作C Sharp)则属于后起之秀,属于非常现代的编程语言,集很多编程语言的优点于一身,除了C和C++,还吸纳了Java等语言的很多优点。
同时C#又比较适合入门,虽然他博采众长,但是复杂度并不高,对语法做了简化,引入众多语法糖,程序看起来很优雅简洁;C#对内存管理进行简化,取消了指针,自动管理大部分内存。这些对新手入门,很友好。
此外,C#的编译速度非常快,比C++快几个数量级,基本上是秒编译!
当然,C#的短板就是执行效率相对较低,因为他采用了类似Java的解释执行的机制。同时代码安全性很低,很容易进行反编译。所以在很多应用当中,会和C或者C++进行结合,底层对效率或安全性要求较高的,使用C或者C++实现,然后供C#调用。而上层业务,则采用C#快速实现。
总结来说,如果你刚入门,选C#会比较容易。如果你对代码效率和安全性要求很高,则选C或者C++。当然,如果是嵌入式等底层开发,C是首选。
赞 (0)