共计 2273 个字符,预计需要花费 6 分钟才能阅读完成。
1、从 C 到 C ++
计算机诞生初期,用机器语言或汇编语言编写程序;
第一种高级语言 FORTRAN 诞生于 1954 年;
BASIC 语言 (1964) 是由 FORTRAN 语言的简化而成的是为初学者设计的小型高级语言;
C 语言是 1972 年由美国贝尔实验室的 D.M.Ritchie 研制成功的。它是为计算机专业人员设计的;
大多数系统软件和许多应用软件都是用 C 语言编写的。随着软件规模的增大,用 C 语言编写程序渐渐吃力了,于是便创造出了 C ++ 语言。
最后,如果大家如果在自学遇到困难,想找一个 C ++ 的学习环境,可以加入我们的 C ++ 学习圈,点击我加入吧,会节约很多时间,减少很多在学习中遇到的难题。
2、C++ 的特点
C++ 是由 AT&T Bell 实验室 于 20 世纪 80 年代初在 C 语言的基础上成功开发出来的。C++ 保留了 C 语言原有的所有优点,并增加了面向对象的机制。
C++ 是由 C 语言发展而来的,与 C 兼容。用 C 语言写的程序基本上可以不加修改地用于 C ++。从 C ++ 的名字可以看出它是 C 的超集。C++ 既可用于面向过程的程序设计,又可用于面向对象的程序设计,是一种功能强大的混合型程序设计语言。
备注:C++ 不是纯面向对象语言。
3、C++ 是对 C 语言的“增强”
(1) 在原来面向过程机制的基础上,对 C 语言的功能做了很多扩充。
(2) 增加了面向对象的机制。
面向对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率。不要把面向对象和面向过程对立起来,面向对象和面向过程不是矛盾的,而是各有用途互为补充的。小编推荐一个学 C /C++ 的学习裙【六二七,零一二,四六四】, 无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有很多干货和技术分享!
所以,通俗来讲,大家在学习的过程中不要把 C 语言和 C ++ 做为两门独立或者对立的语言来学习,本身他们就可以看成是一门语言,任何一款支持 C ++ 的编译工具都支持 C 语言。C++ 就是 C 语言的超集,包括了所有 C 语言的特性,所以你把 C ++ 学会了,C 语言自然也就会了。如果你之前学过 C 语言,那么再学习下 C ++ 的面向对象思想,那么两者你也就都会了。
给大家举个例子:
学习编程的人针对谭浩强这个名字应该几乎都听过。谭浩强老师的 C 语言 /C++ 语言的编程书籍可以说是国内很多大学的标杆教材了。我读大学时候的 C 语言教材就是谭浩强老师的。
他有一本《C 语言程序设计》专门讲解 C 语言的,还有一本《C++ 程序设计》专门讲解 C ++ 的,书挺厚的,包括了 C 语言的部分。还有一本是《C++ 面向对象程序设计》是专门讲解 C ++ 的,所以可以这么说:《C 语言程序设计》+《C++ 面向对象程序设计》=《C++ 程序设计》,这也充分体现了 C 语言和 C ++ 的关系。
说到谭浩强老师我这里要说一说了。国内很多读者对谭浩强老师褒贬不一。但我个人确实是比较推崇谭浩强老师的书,大学时候就是用他的书籍入门的。有很多人说他的书籍有错误,讲解的不好。我要说这个错误不怪他,《C 语言程序设计》第一版刚出来的时候,系统还是 Win98,16 位的,所以相关一些类型占用的字节数等等,跟我们现在使用的 x86 或者 x64 根本不一样,所以才出现了网友口中的错误。不过《C 语言程序设计》、《C++ 程序设计》等谭浩强老师的书籍后续都有新版本,所以大家也不要总拿第一版或者老版本来说事儿。
4、用途:C 语言和 C ++ 都能做什么呢?
C 语言:操作系统底层、系统驱动、单片机、嵌入式方面 等等;
如今的 C ++ 渗透了哪些应用领域?
C++:网络游戏开发、音视频技术、Socket 网络通信,另外,苹果 / 谷歌 / 微软 等大型软硬件公司的系统或者软件上面都支持 C /C++ 语言的集成开发。
你常用的软件大多数都是 C ++ 写的,例如:Office 软件:MS Office,WPS Office,OpenOffice/LibreOffice,你所用的 Windows 也用了大量的 C ++,你说你在用 C# 和 SQL,那我告诉你你用的 VS IDE 核心部分是 C ++ 写的,你用的 C#,C# 的.Net 执行框架也是 C ++ 写的,你用的 Sql 数据库,是 Sql Server 吧? 很不幸,Sql Server 也是 cpp 写的、你上网页在用浏览器吗? 很不幸,浏览器内核都是 C ++ 写的,界面大多数浏览器界面也是 C ++ 写的,你聊天用的 QQ、YY、Skype 等也是 C ++ 写的。这些都是你绝对有在用的,至于其他,还有很多,杀毒软件、PhotoShop、Maya,N 多行业软件,几乎所有的端游 等等,都是 C ++ 写的。你问我 C ++ 能做什么实际的东西,我告诉你什么也做不了,你信吗? 哈哈
C++ 的几个常见的发展方向:客户端,游戏,服务端,嵌入式,移动端(移动只要是跨平台的移动端用 C ++ 写通用部分,GUI 可以用平台特性,也可以用 C ++ 的跨平台框架)
针对界面 UI 方面 C ++ 的选择也是很多的,其实 C ++ 还是擅长“内功”的方面。如果你想带个 GUI 界面的话,也有很多类似 Qt 之类的框架和界面库可以使用,网上有很多,而且很多都跨平台,还开源,不管是 Windows,还是 Mac,还是 Linux,还是移动端平台,通吃的。本身 C /C++ 就是跨平台的。
另外,说点大家感兴趣的,什么远程控制软件,什么木马,什么外挂等等,可以说 95% 以上都是用 C /C++ 来写的。
难道这么多的用途还不值得大家来好好学学 C /C++ 吗?
另外,闻道有先后、术业有专攻,C++ 虽然功能很强大,几乎什么都能做,但有的地方也是不适合,不是不能做而是不适合。比如网页开发,C++ 也能做,但是还是建议使用 Java-Web 或者 PHP 之类的语言来做,毕竟他们就是为了 Web 开发而生的。