C语言主要做哪些方面的开发---一个来自“IT技术学习”微信群的问题及答复

最近,在“IT技术学习”微信群中,有同学问了这样一个问题:C语言主要做哪些方面的开发?在这篇文章中,我想结合自身的经验,对这个问题进行下解答。
C语言是计算机及其相关专业(如通信、电子、数学等)学生大一时的必修课程,也是很多人所学的第一门编程语言。要想了解C语言主要做的开发工作有哪些,我们先来简单回顾下C语言的产生历程。
美国的贝尔实验室在IT领域占有非常重要的地位,从这里面走出来的发明创造不计其数,C语言就是其中之一。话说在1970年,贝尔实验室的一个名叫 Ken Thompson的研究员设计出了一种很接近硬件的编程语言,取名B语言,并用该语言写出了世界上第一个UNIX操作系统。注意,B语言的特点是接近硬件。一年之后,另一位叫做Dennis M.Ritchie的研究员看到UNIX这玩意儿很有前途,便加入了Thompson的开发项目。然而,Ritchie并不是一位只会用B语言编程的“码农”,他对B语言进行了改进,并于1972年设计出了C语言,他也因此被誉为“C语言之父”。
C语言被发明出来之后,Ritchie和Thompson用之对UNIX进行了重写。直到现在,虽然C语言经过了多次标准的制定和修改,但基础都是Ritchie所设计的最初的那版C语言。而C语言是对B语言的改进,那么自然而然地继承了B语言的“基因”:接近硬件。
那么,这种“接近硬件”的编程语言可以做哪些方面的开发呢?由于任何软件都要运行在特定的硬件之上,我倾向于将当前的系统表示为如下图所示的四个层次。
这里写图片描述
对于软件开发工程师来说,关注更多的是上面的三个层次:操作系统层、中间层和用户层。
(1)操作系统层:包括Windows、Linux、iOS、Android等。它们的主要实现语言都是C语言,这和C语言“接近硬件”的特性是有关的。
(2)中间层:该层在操作系统层和用户层之间充当了一个桥梁的作用,它将很多对于操作系统的操作封装成了API,供上层(用户层)调用。既然操作系统几乎都是用C语言实现的,那么如果要使用其中的某些功能,C语言就是最佳的实现语言。因此,在中间层的开发中,C语言也是主流的语言。
(3)用户层:该层是直接与用户进行消息交互的层次,也是用户能够直接感受到的层次,如WEB界面、客户端软件操作界面等。目前看来,该层的主流编程语言是Java,这也与Java自身的特点有关。
现在来总结一下,C语言可以用于操作系统的开发或与操作系统很靠近的中间层的开发。具体到的软件种类就相当的多了,如本人之前开发过的支付业务接口和现在正在开发的通信接口机。
任何一门语言的产生,都有其特定的背景,也有其具体适用的场合,因此,并没有孰优孰劣之分,最主要看学习这门语言的人掌握到了什么程度。在大家学习的过程中,我的建议是可以学习不同的几门编程语言,但一定要有一到两门比较熟练或精通。
最后,欢迎更多的对IT技术比较感兴趣的朋友加入我们这个“IT技术学习”微信群,也请大家关注本人即将要出版的新书《C程序员:从校园到职场》。


本人微信公众号:zhouzxi,请扫描以下二维码:
这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周兆熊-IT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值