C,C++,VC,VC++的区别和联系,如何学?
有人曾问我,我是学C++好呢,还是学VC++好呢?
:o5\'N-[5j ?
%k*Z"@L&q 包括很多开发人员都有这个问题,因为他们用着其他语言,或是做网站的. -A1]5Gh$aO
"i"U+^YeXs trv 现在我就试着解释一下这几个名词:
F7in6\#gS ckXk @
首先要知道,C和C++是编程语言;而VC和VC++是开发环境(在这个环境里用C++做开发),而VC和VC++其实是一回事.
'g$G1j6YPBa9n$rD ;_ W'[]#PR
C是一门高级语言,它是一种很通用的结构化语言(相对于面向对象).什么时候该用它呢?事实上如果你为了找工作,大多数的开发是不直接使用C的.如果你是初学者,以前没有搞过编程,那么建议你先学C语言. 编程有一门课是必须要学的,那就是<数据结构>,而学习<数据结构>的最合适的语言我认为就是C. 在中国大多数的开发还在在WINDOWS下开发,要知道WINDOWS本身就主要是用C编写的,所以若有机会做底层的开发,C几乎是唯一的选择. C语言看起来比VB或C#或JAVA要麻烦,其实它是更接近于计算机的本来面目,那些"不麻烦"的语言,对开发人员来说并不是好事,首先在功能上会有损失,另外,如果简单,大家都会,那么你就不要指望有高的工资. 所以我觉得想进入软件开发 行业的人,学习语言时第一个该学的就是C语言和数据结构,学数据结构时要好好领悟思想,会对以后帮助特别大. l,mC[)Up
1C5r9R!c9V0d `c^%V %wil;]p B,s-[DxD
C++其实包含C,换句话说,你用C++开发软件时,可以在程序里直接用C代码.但是C++是面向对象的开发语言(相对于C的面向过程). 面向过程好理解,简单地说就是一条语句一条语句地执行. 面向对象经常能把初学者搞的一头雾水,或是让他们感到害怕,觉得是多么高深的技术! 其实,面象对象只是一种思想,所谓思想,一般就是个简单道理,它跟具体事物无关的.换句话说,面向对象与具体的编程语言(如C++)是无关的. 我们说C++是面向对象的语言,其实就是C++实现了面向对象的思想,C#和JAVA其实也实现了面向对象的思想.暂时只要知道这些就够了:C++就是个实现了面向对象的编程语言.它和C语言一样,在国际上有通用的标准,比如语法定义什么的.
t2@2yz$c/q G_4R
0T |e\^z X#r
%B%I+\.m6l:M U`!s VC和VC++其实是微软公司的一个开发环境,用来编写C++程序的.目前来看,可能是编写C++程序的最好的开发环境.功能很强大,但是复杂性和使用难度也是出了名的.有人说VC++入门就得一年,我想对于没有开发经验的人来说,差不多吧.我有个同事,毕业于清华大学,有多年JAVA开发经验和讲课经验,但他自学了半年VC++,跟我说仍是云里雾里的.可能他有些谦虚,但是可以肯定的 是VC++不那么好学. 所以,并不是每个人都适合学VC++的.大家可以量力而行,不学VC++,可以去学C#或JAVA,这是目前用的最多的两门语言,难度比VC++要小的多. .MI6f%|*nO&D
zQ Q}C2t
o2GV0C\^p
下面我再说说该如何学VC++.(我正在列我们教程的提纲,会把大致的知识点和步骤都列出来,等完成后会发布.) ]$~S"USni8[ ?7`y
I,Rs w b`n
第一步是要学C,C++语法.关于语法,说简单也简单,说难也难.看你学到什么程度.一般来说,一个月能学会任何一门编程语言的语法,但是,会了语法不代表你就能开发软件了! 语法是基础,一定要学好.以后遇到问题,很多时候都是靠语法和数据结构的功底来解决.
$R3TuYJ {w 4rU-K OiG
第二步,就是学习开发环境,完成一些比较分散的知识点,比如怎样调试,怎样做界面,怎样写简单的代码.做个对话框程序什么的. 在这个过程中,会遇到很多你不懂的问题和知识点,还可能会报出让你恐惧的错误(VC++一条语句会报几百个错误,很多初学者就被吓到了!),如果你够胆大,就不要被吓倒.我可以说,这正好是考验你的时候,不明白不要紧,花时间能解决掉就行! 所以我有一些建议,这些建议看上去比较虚但我觉得很重要:学VC++需要你胆子要大点,要准备花更多的时间(回报你的,是更高的工资),准备更快地接受更多的知识,丢掉,再接受新的.敢去尝试没做过的程序,敢去解决没遇到过的问题.在这些过程中,你会慢慢的提高. 当你做出成功的项目的时候,回过头一看,你会发现其他的编程语言简直就是小儿科,跟玩具一样!举个不恰当的比喻,如果是练功夫,那么你的"内力"已经大增了. Ox a&o[mxMn$v
rs&eh7}T YJ 第三步,开始独立地完成一个真实的项目.我想提醒你们,千万不要以为等你把所有东西都学会了再去动手!有很多东西是要你边干边学的!这样有挑战性,但是成功了也会更有成就感,想想,如果你做的事,每个人都会,那你凭什么能拿到高收入呢?软件开发本来就是一种创新性的行业. 就是要不断挑战不断突破!适应了以后你会发现,你已经是高手了!
不要被vc、bcb、bc、mc、tc等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;
[解说]:
vc:
microsoft
visual
c++
bcb:
borland
c++
builder
bc:
borland
c++
mc:
microsoft
c++
tc:
turbo
c(有时也指turbo
c++)
wc:
watcom
c++
各种简化了的、混杂了的口头称谓容易使初学者感到迷惑,这很正常。不过,其实只要稍加留意,这些迷惑完全可以被消除。
大家可以注意以下几点:
(1)
由于c++语言(其它语言也是一样)几乎总是要以某个集成开发环境为载体、平台,才能被真正的“使用”,因此人们在口头上容易用一个集成开发环境的名字来意指一门语言(比如vc,bc,tc等);
(2)
程序设计语言需要一种载体来被运用,这就好像汉语、英语一定要被人用嘴说出来、用笔写出来才能发挥作用一样;
(3)
编译器(或解释器)有时也被集成开发环境的名称所指代(比如“你用vc编译过吗?”实际上应该是“你用vc的c++编译器编译过吗?”);
(4)
只要多了解各种词汇的详细信息(一般是其英文全称),就可以很容易的发现一些你本来就该弄清楚的事情;
(5)
在口头上,也请你在不影响正常表达的情况下,尽量说得准确些,不要迷惑更多更新的初学者。
一样的`
vc和vc++
是微软
c
编译器的简称,它支持
c,c++,
带支持视窗的mfc程序库,带支持三维可视化程序库。v是visual,visual就是“可视”.
只能用于视窗系统。
c语言是面向过程的
二c++是面向对象
比如说我们要盖一个房子
c考虑的是都要用什么材料 怎么组合 怎么盖
而c++则考虑的是 都那个工程队可以完成哪几个部分
然后把他们叫来就可以了,
至于VC++好像就是一种能运行c++的软件吧!!!!
1
c与c++
区别
首先两种语法想通,c基于结构化的语言,c++时面向对象的。
2
vc
与
c
vc有可视化的集成开发环境,对开发视窗程序有优势。
c是基于dos的编译环境。
v即
visual
可视化的