|
|
★ ★ 小木虫(金币+0.5):给个红包,谢谢回帖 xzhdty(金币+1): 欢迎常来程序语言看看 2011-12-18 19:00:04 jjdg:编辑内容 2011-12-19 01:44
大致地吐槽一下,我对C++和C#都不甚了解~那两个语言比较的吐槽还得有劳板上各位专家
继承关系是C->C++->C# C++完全向C兼容,C程序几乎不用修改即可在C++的编译器上运行.C++也称为带类的C,在C的基础上增加了许多面向对象的概念.虽然是C的扩展,但并不意味着C功能不如C++,最牛的操作系统是用C写的(不是C++哦).
1. C程序能在C++编译器上“编译”,而不是“运行”。
2. 一种语言牛与不牛,不是看它能做什么事情,而是适合做什么事情。举证*nix主要是C的成就,不能表明C的功能就怎样,只能说明C适合做一些底层的东西。
C#是微软弄的一个东东,继承了C和C++的许多东西,但和两者基本上 已完全不一样了.你可以把它当作一种全新的语言来学.
认同。
C语言是一种结构化编程语言。 它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。
“多种版本的C语言”不知道是什么意思~~
C++ 是在C的基础上改进后的一种编程语言,主要是增添了许多新的功能,难度也比C大,和C一样侧重于计算机底层操作,也就是系统软件的开发。C#是在C++的基础上再一次改进后的编程语言,相比C++而言难度有所减小(微软是这么说的),侧重于网络和数据库编程。这3种都是编程语言,语法基本 上是一样的,不过具体的内容差别还是挺大的。
说来,C#更像JAVA一点。
VC++是一种编程软件,就相当于一个作业本,你学习了C++语言以后,就需要把这种编程语言写在一 个作业本上,也就是写在VC这种编程软件上,来实现你需要的效果。
这个比喻感觉不大恰当=,=
IDE集成了文本编辑、编译、链接、调试、图形用户界面等功能,作业本的比喻之于文本编辑可能比较恰当
C 语言与 C++ 的区别有很多:
1,全新的程序 程序思维,C 语言是面向过程的,而 C++ 是面向对象的。
认同
2,C 语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而 C++ 对于大多数的函数都是有集成的很紧密,特别是 C 语言中没有的 C++ 中的 API 是对 Window 系统的大多数 API 有机的组合,是一个集体。但你也可能单独调用 API。
1. 对于C,头文件里面的东西只是“声明”,其“定义”(也就是起作用的代码)已经编译好以二进制的形态放在了标准库里面
2. Windows的API全部都有C语言的接口
3,特别是 C++ 中的图形处理,它和语言的图形有很大的区别。C 语言中的图形处理函数基本上是不能用在中 C++ 中的。C 语言标准中不包括图形处理。
C语言标准确实不包括图形处理,但是“C语言中的图形处理函数基本上是不能用在中 C++中”这句话是错的。像TC自带的简陋图形库不能在VC下用的主要原因在于库的不兼容,而不是语言的不兼容
4,C 和 C++ 中都有结构的概念,但是在 C 语言中结构只有成员变量,而没成员方法,而在 C++ 中结构中,它可以有自己的成员变量和成员函数。但是在 C语言中结构的成员是公共的,什么想访问它的都可以访问;而在 VC++ 中它没有加限定符的为私有的。
对于C++,struct和class还是有区别的。如果不写限定符,在struct里面的成员缺省是public,class里面缺省才是private。
4,C语言可以写很多方面的程序,但是 C++ 可以写得更多更好,C++ 可以写基于DOSr程序,写 DLL,写控件,写系统。
不认同。在应用程序层面,如果说C和C++能做到的事情,谁更多的话,答案应该是差不多一样多。C照样可以写DLL,控件(比如有GTK的界面库),系统~
5,C 语言对程序的文件的组织是松散的,几乎是全要程序处理;而 C++ 对文件的组织是以工程,各文件分类明确。
不认同。组织文件是IDE的事情(嗯,姑且不提makefile这种东西),和语言无关。C和C++都可以做到组织结构明确。
6,C++ 中的 IDE 很智能,和 VB 一样,有的功能可能比VB还强。
IDE的事情和语言没什么关系...
其实,像Visual Assist这种东西楼主打算怎么讨论?算在IDE里面么?
7,C++ 对可以自动生成你想要的程序结构使你可以省了很多时间。有很多可用的工具如加入 MFC 中的类的时候,加入变量的时候等等。
这是IDE做的事情。不是C++语言的功劳。
8,C++ 中的附加工具也有很多,可以进行系统的分析,可以查看 API;可以查看控件。
=,=这还是IDE的事情~~
9,调试功能强大,并且方法多样。
=,=这依然是IDE的事情....
C# 与 C++ 比较的话,最重要的特性就是 C# 是一种完全面向对象的语言,而 C++ 不是,另外 C# 是基于 IL 中间语言和 .NET Framework CLR 的,在可移植性,可维护性 和强壮性都比 C++ 有很大的改进
就像JAVA一样,失去的东西是运行效率~不过对于现在的CPU而言,这些东西很多情况下都浮云了
C# 的设计目标是用来开发快速稳定可扩展的应用程序,当然也可以通过 Interop 和 Pinvoke 完成一些底层操作,但是对于一些和底层系统相关很紧密的程序(譬如说驱动程序),还是建议用 C++ 来写
认同,不过驱动的话我见到的还是用C写的多。
[ Last edited by sudo on 2011-12-19 at 13:52 ] |
|