【2.C语言的特点和应用】

前言

上一篇文章讲了我对于学习C语言的一些总的看法,这篇博客我想来讲讲C语言的应用、特点并以此来引出我们为什么要学习C语言,换一个角度来说,就是我认为通过学习C语言能学到的东西

C语言的应用和特点

在编程语言中,工科生基本都要学的C语言,就曾经在1973年用来重写过第四版Unix系统。而大家熟知的1991年开发的Linux操作系统也主要是用C语言编写的。

特点

C语言是一种高效、灵活且广泛使用的编程语言,非常适合编写操作系统这类需要直接与硬件交互的底层软件。Linux内核的设计者林纳斯·托瓦兹(Linus Torvalds)选择了C语言作为开发语言,因为:

  • 性能:C语言提供了接近硬件级别的控制,可以编写出高效的代码。
  • 可移植性:C语言编写的代码可以在多种不同的硬件架构上编译运行。
  • 简洁性:C语言语法简单,易于理解和编写。
  • 广泛支持:C语言有广泛的编译器和开发工具支持

应用
结构决定功能,特点决定应用,C语言因为其可以提供硬件级别的控制以及高效性能,有以下典型应用:

  • 开发操作系统:C语言因其接近硬件的特性和高效性能,被广泛用于开发操作系统内核和底层系统软件。例如Linux、windows内核,操作系统内核是操作系统的核心,负责管理系统资源和控制硬件
  • 开发嵌入式系统:由于C语言对资源的控制能力强,它常用于嵌入式系统编程,如微控制器、传感器和自动化设备。
  • 设备驱动:C语言作为一门接近底层的语言,可以直接用来编写硬件驱动程序。
  • 性能关键型应用:对性能要求极高的应用,如游戏引擎、实时系统和高性能计算,常常选择C语言来实现。
  • 编译器和解释器:许多编程语言的编译器和解释器,如Python和Java的早期版本,是用C语言编写的。(了解一下编译器和解释器的实现过程更有助于让我们了解代码是怎么运行的)
  • 系统工具和实用程序:许多系统工具和命令行实用程序,如文本编辑器和文件管理器,是用C语言编写的。
  • 跨平台软件开发:C语言编写的代码可以编译到多种平台上,适用于需要跨平台运行的软件。
  • 硬件抽象层:提供对硬件设备的访问,如CPU、内存、磁盘等,操作系统提供了抽象层(C语言实现),允许不同语言编写的代码通过这些抽象层与硬件或其他系统组件交互,从而隐藏了底层实现的细节。那么就可以使用多种语言来开发项目了。

总结

由于C语言很接近硬件,和底层的适配性很好,可以跨平台使用,所以在学习C语言的过程中可以了解到硬件和软件的交互,这方面我还是很好奇的。

编译型语言和解释型语言

参考资料
高级语言是大多数编程者的选择。高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为解释型和编译型。

  • 编译型

编译性语言写的程序在被执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高,一次性翻译完成后可以多次使用.

常用编译型语言:C、C++、Golang

  • 解释型语言
    解释型语言的程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就需要逐行翻译一次,效率比较低。类似于同声传译 说一句翻译一句

常用解释型语言:python、perl、php、ruby

在这里插入图片描述

后言

下一篇文章将会

  • 收集一些我看到的别人推荐的开源项目(我还不知道好不好,需要研究一段时间)
  • 我自己想要实现的项目或者功能
  • 记录一些自己找到的数据结构和算法的资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值