C语言为什么能够恒久不衰,来看看吧!

1、从C到c++

随着第一代计算机诞生初期,针对计算机的编程就开始了,最一开始用机器语言或汇编语言编写程序;

为了满足更多的需求:第一种高级语言FORTRAN诞生于1954年;

再然后由于门槛过高为了简化:BAsic语言孕育而生(1964)是由FORTRAN语言的简化而成的是为初学者设计的小型高级语言;

C语言是1972年由美国贝尔实验室的 D.M.Ritchie 研制成功的。它是为计算机专业人员设计的;

大多数系统软件和许多应用软件都是用C语言编写的。随着软件规模的增大,用C语言编写程序渐渐吃力了,于是便创造出了C++语言。

每一次的变革都是相当于一种巨大的进步,相当了一个更加细致的方向得到了发展。
其实做为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C语言C++交流群583650410,不管你是小白还是大牛欢迎入驻,大家一起交流成长,每天晚上有免费的公开课学习。

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语言程序设计》第一版刚出来的时候,系统还是Win98,16位的,所以相关一些类型占用的字节数等等,跟我们现在使用的x86或者x64根本不一样,所以才出现了网友口中的错误。不过《C语言程序设计》、《C++程序设计》 等谭浩强老师的书籍后续都有新版本,所以大家也不要总拿第一版或者老版本来说事儿。
其实做为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C语言C++交流群583650410,不管你是小白还是大牛欢迎入驻,大家一起交流成长,每天晚上有免费的公开课学习。

4、用途: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开发而生的。

C语言为什么能够恒久不衰,来看看吧!相关推荐

  1. 开始学习c语言喽!!!

    学习目标: 希望每天都可以坚持学习c语言. 从一个小白到一个大佬!!! 干就完事了!! 最想进的一家公司是米忽悠公司哈哈哈哈!! 因为我特别喜欢玩他旗下的游戏了! (三月三十一号是我正式开始学习c语言 ...

  2. [分际]如何使用EVENTLOG类操作日志

    其实这个话题也是恒久不衰的了 其中<ASP.NET PRO>杂志上就收录了一篇老外不错的教程 当然,他已经讲得很好了,我就不需要再啰嗦了 不过,我要讲的是EVENTLOG操作的权限问题,因 ...

  3. 计算机教室社团课总结怎么写,学校社团及活动总结范文6篇

    学校社团及活动总结范文6篇 总结是指社会团体.企业单位和个人在自身的某一时期.某一项目或某些工作告一段落或者全部完成后进行回顾检查.分析评价,从而肯定成绩,得到经验,找出差距,得出教训和一些规律性认识 ...

  4. 抵挡不住的黑色诱惑,华为P10 Plus亮黑版真机图赏

    今年的手机产品在配色方面可以说有了很大的突破,不过也一样一些恒久不衰的经典色系依然非常受到消费者的欢迎,比如说华为在前不久推出了亮黑版的华为P10 Plus,这款手机就具备非常高的颜值,而且亮黑色的机 ...

  5. 语言 重量计算_大师之光:有种跨越国界的语言叫C++

    语言太重要了,因为他的重要性,每个人都花很多时间来学习语言,幼儿时先学习母语,略长大了开始学习外语,成年了可能再进一步巩固母语,或者学习更多的外语. 对于越来越多的现代人来说,除了学习人类的语言外,还 ...

  6. 语言软件生成outsid_常用的C语言开发工具有哪些

    编程语言有很多种,主要分为三大类,分别是机器语言.汇编语言.高级语言.计算机只能理解识别二进制代码,也就是0和1.我们用机器语言开发我们得记住计算机所有的指令代码和代码涵义.这样的编程枯燥而繁琐费力, ...

  7. c++学习书籍推荐《C++程序设计语言(特别版)》下载

    百度云及其他网盘下载地址:点我 编辑推荐 <C++程序设计语言(特别版•十周年中文纪念版)>编辑推荐:十周年纪念版,体味C++语言的精妙与魅力,享受与大师的心灵对话.1979年,Biarn ...

  8. c 是高级程序设计语言吗,C语言是一种高级程序设计语言。

    语言种语而形不同土地地租地租成的远近距离是指市场. 高级管理地价的主要作用在于(. 程序.卑的特别向的陷入者自这种人或人更容易境地是内,比较许多陷入的缺人都容易交流失,通过现来体宗教这种的吸方式引力也 ...

  9. C语言/C++初学 问题

    编程及C/C++初学者 FAQ  本文原为本人在论坛所发若干帖,意在集中解决新手学习C/C++语言时将遭遇到的各类问题,网友反馈情况良好,集合修订后作为个人作品贴于此处. 本贴主要分析概念原理和解决方 ...

最新文章

  1. 计算机组成原理第4章-指令系统
  2. 用python读取文档_python读取word文档
  3. 基于Nexys4DDR的UART实验
  4. 防止缓存爆炸的快速提示
  5. 函数类型:有参函数、无参函数、匿名函数、回调函数、立即执行函数、闭包函数、递归函数...
  6. qt5.8连接mysql代码_qt5.8如何连接mysql
  7. 上传文件块client实现
  8. 第五周课程总结与报告
  9. 简洁/易用/灵活/高效-RecyclerView适配器封装
  10. 六神不安,生死命悬一线
  11. 《视觉SLAM十四讲》学习笔记
  12. sklearn 中的 Iris 数据集
  13. html中怎么设置背景图片固定,css如何实现固定的背景图像
  14. Win7 32 不能安装STM32 虚拟串口驱动解决方法
  15. sql练习-基础练习
  16. mac OS 下的开源工具 macports
  17. d3dcompiler_43.dll的错误怎么解决?
  18. air英语怎么读_考研英语词汇记忆:air-conditioning怎么翻译及发音
  19. 迭代规划会怎么开才能更高效?
  20. Android:相对布局RelativeLayout常用属性

热门文章

  1. 《玛丽莲·梦露》我不止性感,还有从底层溯流而上的努力
  2. 在Elasticsearch中实现统计异常检测器——第二部分
  3. 经常戴耳机有什么危害呢?如何做到在戴耳机听歌时保护耳朵听力
  4. HH SaaS电商系统的店铺系统设计
  5. 最新电影(个人汇总第一期)
  6. android手机与苹果手机,苹果手机和安卓手机,速度大比拼,速度快有原因
  7. leetcode_111. 二叉树的最小深度 python
  8. 打开Nexus 6的LED,并添加双击亮屏
  9. The Forbidden Permutation
  10. spring 多线程事务的问题