android go android-ios


纵观现今软件行业的发展态势与现状,个人认为软件语言可大致分为以下三个层次,以更好地理解其发展脉络与特点:

一、基础语言层次

此层次主要包括汇编语言与C语言。它们的主要功能是操作硬件,具有极高的执行效率。通常用于开发操作系统、各类应用程序接口(API)与软件开发包(SDK),同时亦可用于高级语言自举、数据库、浏览器、微控制器(MCU)驱动、单片机、CAD工业软件以及智能化硬件驱动等方面,如OpenGL和DirectX等图形驱动。

二、中级语言层次

中级语言是编译型语言,可细分为两大类。

1. 原生代码编译型语言。以Delphi、各类C++编译器、C、Rust和Go等为代表。这类语言生成原生代码,具有面向对象的特性。随着语言功能的不断发展,它们能够支持跨软件平台开发,即能够在Android、Windows、iOS和Linux等多个平台上进行开发,但多数尚不能实现硬件跨平台开发,即只能为特定架构如x86、Arm或Risc V5开发程序。

2. 字节码编译型语言。这类语言包括运行在.net平台上的Visual Studio系列(如C++、C、VB++等)、Java及其衍生语言Dart、Flutter以及Objective-C等。它们同样具有面向对象的特性,但编译为字节码中间码而非直接生成CPU二进制代码。由于部分大型企业的技术生态掌控力强大,如JVM具有软硬件跨平台能力,因此这类语言的执行效率相对较高。

中级语言在开发效率和执行效率之间取得了平衡,广泛应用于构建各类应用软件、企业ERP系统、工业互联网、大数据处理以及Windows和Linux桌面和服务器后端开发等领域,是工业和商业生产的主要工具。

三、高级语言层次

高级语言通常是解释型语言,数据类型较为灵活。包括VB、Python、PHP、TypeScript、JavaScript以及各种前端框架如Vue.js、React和Angular等。这些语言主要用于Web和移动应用的前端开发,是商务和各类管理型云平台的主要开发工具。高级语言依赖于解释器进行运行时的解释执行,其功能强弱取决于解释器的性能。

虽然高级语言在编程灵活性和效率上具有优势,但其目标程序通常体积庞大且执行效率相对较低。通过强大的解释器和配套库的支持,它们能够实现跨操作系统和硬件平台的开发。

四、结语

三种层次的语言各有其适用领域和优势,并无绝对优劣之分。中级与高级语言的界线也逐渐变得模糊,相互渗透的趋势日益明显。我国软件工程师的分布状况尚需均衡发展,当前约70%的开发者集中在高级语言层次,多从事外包商务开发。这导致我们在操作系统、中间件和数据库系统级软件等方面的自主研发能力较弱,缺乏自身生态话语权。我们的软件工程师应发扬工匠精神,不仅限于高级语言的开发,还应加强对低级和中级语言的研究,以创建我们自己的软件生态。