网站的竞价怎么做,局政务网站建设管理工作总结,重庆市造价工程信息网官网,手机网站源码 phpC前言与发展 一.什么是C二.C的发展史三.C的重要性 一.什么是C C语言是结构化和模块化的语言#xff0c;适合处理较小规模的程序。对于复杂的问题#xff0c;规模较大的程序#xff0c;需要高度的抽象和建模时#xff0c;C语言则不合适。为了解决软件危机#xff0c; 20世纪… C前言与发展 一.什么是C二.C的发展史三.C的重要性 一.什么是C C语言是结构化和模块化的语言适合处理较小规模的程序。对于复杂的问题规模较大的程序需要高度的抽象和建模时C语言则不合适。为了解决软件危机 20世纪80年代 计算机界提出了OOP(objectoriented programming面向对象)思想支持面向对象的程序设计语言应运而生。 1982年Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念发明了一种新的程序语言。为了表达该语言与C语言的渊源关系命名为C。因此C是基于C语言而产生的它既可以进行C语言的过程化程序设计又可以进行以抽象数据类型为特点的基于对象的程序设计还可以进行面向对象的程序设计。
二.C的发展史 1979年贝尔实验室的本贾尼等人试图分析unix内核的时候试图将内核模块化于是在C语言的基础上进行扩展增加了类的机制完成了一个可以运行的预处理程序称之为C with classes。语言的发展就像是练功打怪升级一样也是逐步递进由浅入深的过程。我们先来看下C的历史版本。 C还在不断的向后发展。但是现在公司主流使用还是C98和C11所有大家不用追求最新重点将C98和C11掌握好等工作后随着对C理解不断加深有时间可以去琢磨下更新的特性。
三.C的重要性
先来了解各种语言使用的广泛性 我们可以发现在30多年的发展中C/C几乎一致稳居前5。所以C/C的发展前景依旧非常的好那么学好C就是我们的重中之重了。那么C我们可以用来做些什么工作呢接下来我们要介绍的就是它的工作领域。
A. 操作系统以及大型系统软件开发 所有操作系统几乎都是C/C写的许多大型软件背后几乎都是C写的比如Photoshop、Office、JVM(Java虚拟机)等究其原因还是性能高可以直接操控硬件。 B.服务器端开发 后台开发主要侧重于业务逻辑的处理即对于前端请求后端给出对应的响应现在主流采用java但内卷化比较严重大厂可能会有C后台开发主要做一些基础组件中间件、缓存、分布式存储等。服务器端开发比后台开发跟广泛包含后台开发一般对实时性要求比较高的比如游戏服务器、流媒体服务器、网络通讯等都采用C开发的。 C.游戏开发 PC平台几乎所有的游戏都是C写的比如魔兽世界、传奇、CS、跑跑卡丁车等市面上相当多的游戏引擎都是基于C开发的比如Cocos2d、虚幻4、DirectX等。三维游戏领域计算量非常庞大底层的数学全都是矩阵变换想要画面精美、内容丰富、游戏实时性搞这些高难度需求无疑只能选C语言。比较知名厂商腾讯、网易、完美世界、巨人网络等。 D.嵌入式和物联网领域 嵌入式就是把具有计算能力的主控板嵌入到机器装置或者电子装置的内部能够控制这些装置。比如智能手环、摄像头、扫地机器人、智能音响等。谈到嵌入式开发大家最能想到的就是单片机开发(即在8位、16位或者32位单片机产品或者裸机上进行的开发)嵌入式开发除了单片机开发以外还包含在soc上、系统层面、驱动层面以及应用、中间件层面的开发。常见的岗位有嵌入式开发工程师、驱动开发工程师、系统开发工程师、Linux开发工程师、固件开发工程师等。 E.数字图像处理 数字图像处理中涉及到大量数学矩阵方面的运算对CPU算力要求比较高主要的图像处理算法库和开源库等都是C/C写的比如OpenCV、OpenGL等大名鼎鼎的Photoshop就是C写的。 F.人工智能 一提到人工智能大家首先想到的就是python认为学习人工智能就要学习python这个是误区python中库比较丰富使用python可以快速搭建神经网络、填入参数导入数据就可以开始训练模型了。但人工智能背后深度学习算法等核心还是用C写的。 G. 分布式应用 近年来移动互联网的兴起各应用数据量业务量不断攀升后端架构要不断提高性能和并发能力才能应对大信息时代的来临。在分布式领域好些分布式框架、文件系统、中间组件等都是C开发的。对分布式计算影响极大的Hadoop生态的几个重量级组件HDFS、zookeeper、HBase等也都是基于Google用C实现的GFS、Chubby、BigTable。包括分布式计算框架MapReduce也是Google先用C实现了一套之后才有开源的java版本。 最后祝愿小伙伴们能够好好的去学习CC的生命力绝对是我们难以估量的C的能量也绝对是难以掌握的但是一旦掌握了我相信一定会获益无穷。