奇思妙想 / 编程语言 · 2023年 10月 15日 0

软件都用哪些编程语言写的?

148 次浏览

这个问题很大,现实世界包含很多软件组件,从操作系统内核到应用程序,从服务器端到嵌入式,软件分层多种,编程语言也包罗万象。如下列出一些常见编程语言应用范围。

  • 操作系统内核以C居多
    • C语言是内核首选,Windows/Mac/Linux内核均是C语言,IOS和Android内核分别是macOS内核和Linux,同样是C语言。另外,Rust正在逐渐被计划进入内核代码。
    • C++属于编译型语言,一样可用于写OS,事实上,用C++会加大复杂度。由于C++面向对象设计的优秀性,OS一般会用一套C语言机制”模拟”实现面向对象编程的接口。
    • Symbian OS用C++编写,很可惜,在智能手机时代,被Android和iOS打败。
  • 驱动程序以C居多,也有C++
    • 驱动程序一般跟随内核编程语言,比较例外的是macOS的驱动,默认用C++.
    • 和内核一样,Rust在逐步进入驱动代码。
  • Shell解释器以C为主
    • 最早的Shell解释器建立在内核之上,Unix为典型代表,用C语言最自然不过。
  • 游戏引擎采用C/C++居多
    • 为了实现高效,而且大部分OpenGL/DirectX接口均为C/C++相关,游戏底层引擎也不例外。
    • 游戏引擎还被细分为底层引擎、物理引擎和接口引擎, 现代游戏设计越上层使用更高级语言,比如C#/JS/Java/Python等等,底层可能会用C++引擎。
  • PC/移动端APP以Java/C#/ObjC/Swift/HTML(5)为主
    • Java和Kotlin一直是Android主流语言,ObjC/Swift在iOS系统不二选择,PC端使用的语言更多…不用提早期VB、C++(MFC、QT框架)、Pascal(Delphi) 当时流行成什么样。
  • 脚本类语言解释器
    • 大部分脚本类语言解释器早期会以C语言或C++编写,在性能满足要求后,后期逐渐用更高级语言替代。
    • Perl/PHP/Python解释器均用C语言。
  • 浏览器和服务器以C++/Java/Javascript…为主
    • 大部分浏览器引擎采用C++.
    • 服务器以Java语言为主,JS脚本为辅。