C语言历史
1969年,AT&T贝尔实验室的开发人员肯·汤普森和他的好基友丹尼斯·里奇开发了一款极简版的操作系统,也就是后面大名鼎鼎的UNIX操作系统。
当时他们采用的是汇编语言进行编写,但汇编语言工作效率实在太差,于是肯·汤普森将当时一款叫BCPL的编程语言进行简化,并为简化后的BCPL写了一个可以将其代码翻译成汇编代码的编译器。
肯·汤普森将这个新语言取名为B语言。后面丹尼斯·里奇又将B语言进行改造,改造出来的语言就是早期的C语言。
1978年,布莱恩·柯宁汉和丹尼斯·里奇写了一本C语言的教材,叫做《C程序设计语言》,也就是著名的K&R。
至此,C语言的历史就基本讲完了。
C语言现状
相较于过去,目前招聘市场上C语言相关的就业岗位相对较少,这是因为C语言主要用于底层开发,例如系统级编程、操作系统开发和通信领域。这些领域已经相对成熟,因此需要招聘新的岗位的机会较少。同时,对于需要修改底层框架的工作,通常需要对C语言有深入的理解和经验,这可能需要多年的工作经验。
而当下的趋势是,人们更倾向于开发一些上线快、开发周期短的软件,例如应用程序和小程序。这些领域通常更容易进入,同时能够更快地获得回报。这也是为什么C语言的就业岗位相对较少的一个原因。
虽然目前C语言在市场上的就业情况不景气,但它在TIOBE编程语言排行榜上仍牢牢占据前列。
C语言应用场景
1操作系统开发,如Linux、UNIX等。
利用C语言的指针等特性,可以充分利用计算机的硬件资源,提高程序性能。
2游戏开发,例如Unity3D游戏引擎就是用C语言编写的。
游戏通常需要高精度计算、物理模拟、图形渲染等功能,C语言可以利用指针、结构体等特性方便地实现这些功能。
3嵌入式系统开发,如应用于智能家居、智能穿戴设备等领域。
嵌入式开发通常需要占用尽可能少的资源,而C语言可以控制内存分配和动态内存使用,增强了对硬件的控制。
4数据库开发,例如MySQL数据库。
数据库需要高效的数据操作能力,而C语言可以用它的指针和数据结构来提高数据访问性能,提高系统的效率。
5编译器开发,如GCC编译器。
编译器需要高效的代码生成和优化能力,而C语言可以方便地操作内存和指针。因此,C语言成为了编译器开发中最流行的语言之一。
6图形用户界面(GUI)开发,如GTK+,QT,MFC等。
GUI需要高度交互和良好的视觉效果,C语言可以通过函数库和API来操作窗口和控件。
7网络编程。
C语言提供了底层的网络编程接口,例如Socket API等。因此,在网络编程和服务器开发中得到广泛应用。
除这些之外,C语言还在科学计算、大数据处理、实时操作系统等领域有广泛应用。
C语言标准
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制 定了一套完整的美国国家标准语法,称为ANSIC,作为C语言最初的标准。
目前2011年12月8日,国际标准化组织(ISO)和 国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。