一、操作系统:
Microsoft Windows :汇编 -> C -> C++
备注:曾经在智能手机的操作系统(Windows Mobile)考虑掺点C#写的程序,比如软键盘,结果因为写出来的程序太慢,实在无法和别的模块合并,最终又回到C++重写。
相信很多朋友都知道Windows Vista,这个系统开发早期比尔盖茨想全部用C#写,但是最终因为执行慢而放弃,结果之前无数软件工程师日夜劳作成果一夜之间被宣告作废。
Linux :C
Apple MacOS : 主要为C,部分为C++。 备注: 之前用的语言比较杂,最早是汇编和Pascal。
我们来分门别类地介绍一下,当前最为注明的软件都是用什么语言开发的。这对大家理解语言的用途和场景会有所帮助。
超级软件-操作系统
说到计算机的软件,最不能绕过去的就是操作系统了。目前最为流行的四大操作系统,Windows、Linux、MacOS和Android。操作系统核心的内容都是通过C或者C++开发的。
以Windows为例,其前身是DOS操作系统,它是用汇编开发。后来逐渐用C语言代替了汇编。到上个世纪90年代左右,Windows完全抛弃了DOS操作系统,其核心也是采用C语言开发的。如果大家学习过操作系统API就会发现,当时的操作系统API都是C语言接口。
另外一个受欢迎的操作系统是Linux。Linux操作系统的核心主体是C语言,有非常少量的汇编语言。但是Linux发行版包含很多配套的软件,比如桌面软件,则是用C++写的。
Windows。用汇编/C/C++。
Microsoft Office。用C/C++/C#。
Firefox browser 火狐浏览器。用C++/Rust。
谷歌的Chrome浏览器。用C++。
QQ。用C++。
综述
著名的软件一般是系统软件,软件一般都分为系统软件和应用软件。开发软件分为一次开发和二次开发,比如开发操作系统(系统软件),就是一次开发;在操作基础上进行应用软件的开发,比如开发游戏,就是二次开发。
一次开发的系统软件,要直接调用硬件资源,必须使用简单、直接的底层语言和中层语言,比如汇编和C语言;二次开发应用软件等,因为应用软件的类别比较多的,针对的情况比较复杂和具体,因此可以选择的语言很多,比如,大数据人工智能方面的有Python;安卓手机APP就是Java等等。
这里还有一个误区,其实语言不重要,每种语言都差不多,重要的是开发环境和编程思想。要学习编程开发,学的不是语言,而是对于开发环境工具的使用和编程思维的锤炼。很多著名的软件都是用C等底层语言编写的,但是也可以用其他语言编写,不过很少学C了,其中有商业的原因。(后面会解释)
大部分是C和C++。
其实去了解那些软件用什么语言开发的,与其不如去了解它们的架构设计和逻辑算法,语言只是一个工具。