Skip to content

常见编程语言、领域语言与应用场景

适合人群:准备学习编程、选择技术栈,或希望快速了解不同语言用途的读者。

整理时间:2026-09-18 18:13:16 +08:00。

你将学会

读完这一章,你能:

  • 分清「语言」「运行时」「框架」不是一回事;
  • 按自己的学习目标(Web / 后端 / 移动 / 数据 / AI / 游戏…)选出一门起步语言;
  • 用「选择语言的 10 个问题」检查一次技术选型,避开「先学最强的」「同时学好多门」等常见误区;
  • 知道每种语言该去哪里开始学(官方学习入口)。

先看结论

不存在适合所有项目的“最好语言”。选语言时,优先考虑目标平台、现有生态、团队经验、库与工具、部署环境、性能要求和维护周期,而不是只看语法或排行榜。

如果你是初学者,可以先按目标选择:

学习目标建议先学随后补充
AI、机器学习、数据分析PythonSQL、R 或 C++
Web 前端HTML、CSS、JavaScriptTypeScript
全栈 WebJavaScript 或 TypeScriptSQL,再选 Node.js、Python、Java、C#、Go 中的一种后端路线
企业后端Java 或 C#SQL、JavaScript/TypeScript
云原生、微服务、基础设施GoSQL、Shell、Python;性能敏感时补 Rust
iOS/macOSSwiftObjective-C 只需用于维护旧项目
AndroidKotlinJava,用于理解旧项目和 JVM 生态
跨平台移动应用DartFlutter 框架;或 TypeScript 配合 React Native
游戏开发C#Unity;高性能或引擎开发再学 C++
系统、嵌入式CC++、Rust、汇编语言
自动化与运维PythonLinux 学 Bash,Windows 学 PowerShell
科学计算PythonJulia、MATLAB、R 或 Fortran,按行业选择
区块链智能合约SolidityRust、Move 或特定链使用的语言

GitHub 的 2025 年数据将 TypeScript、Python、JavaScript、Java、C#、PHP、Shell、C++、HCL 和 Go 列为平台上使用量领先的一组语言;同一报告显示 Python 在 AI 项目中尤其突出。GitHub Octoverse 2025

Stack Overflow 2025 开发者调查则将编程、脚本和标记语言放在同一调查类别中,并指出 Python 的使用增长与 AI、数据科学和后端开发密切相关。排行榜反映的是特定样本和平台,不应直接替代项目决策。Stack Overflow Developer Survey 2025

全部语言分类速查

本文覆盖的是当前主流、特定行业常见或维护现有系统时经常遇到的语言,不穷举计算机历史上的所有语言和方言。

类别本文覆盖的语言或领域语言
Web 基础HTML、CSS、JavaScript、TypeScript
Web 与通用后端Python、Java、C#、Go、PHP、Ruby、Kotlin、Scala、Elixir、Erlang、Clojure、Groovy
移动与客户端Swift、Objective-C、Kotlin、Java、Dart、QML(声明式 UI 领域语言)
系统与高性能C、C++、Rust、Zig、Assembly、Ada/SPARK、D、Nim
AI、数据与科学计算Python、R、Julia、MATLAB、GNU Octave、Fortran、SAS、Wolfram Language、CUDA C++
游戏、图形与多媒体C#、C++、GDScript、Lua、HLSL、GLSL、WGSL
脚本与运维Bash/POSIX Shell、PowerShell、Windows Batch、Perl、Tcl、AWK
函数式与逻辑式Haskell、OCaml、F#、Common Lisp、Scheme、Racket、Prolog
数据库与查询SQL、PL/SQL、T-SQL、GraphQL、SPARQL、Cypher
基础设施配置HCL、Nix Language
智能合约Solidity、Vyper、Rust、Move、Cairo
芯片与工业控制Verilog、SystemVerilog、VHDL、LabVIEW G、Structured Text、Ladder Diagram、Function Block Diagram、Sequential Function Chart
企业与遗留系统COBOL、ABAP、RPG、Visual Basic .NET、VBA、Delphi/Object Pascal、Apex
教学与语言设计Scratch、Logo、Python、Racket
新兴或需关注Mojo、Gleam、Crystal、Raku

快速导航:基础概念 · Web 与后端 · 移动端 · 系统与 AI · 游戏与脚本 · 领域语言 · 选型比较 · 学习入口

一、先分清语言、运行时和框架

  • 编程语言:用于表达计算和行为,例如 Python、Java、C、JavaScript。
  • 运行时:执行程序的环境,例如 JVM、.NET、Node.js、浏览器 JavaScript 引擎。
  • 框架:提供应用结构和常用能力,例如 Spring Boot、ASP.NET Core、Django、Next.js。
  • :由程序按需调用的能力集合,例如 React、NumPy、pandas、PyTorch。
  • SDK 或工具包:面向特定平台的 API、工具和文档集合,例如 Flutter SDK、Android SDK。
  • 引擎或平台:提供运行、编辑和领域能力的完整环境,例如 Unity、Unreal Engine。
  • 查询语言或领域语言:针对一个领域表达操作,例如 SQL、GraphQL、HCL。
  • 标记与样式语言:描述结构或表现,例如 HTML、CSS;它们通常不被视为通用编程语言。
  • 数据与配置格式:JSON、YAML、XML、TOML 用于传输或配置数据,不是通用编程语言。

“编译型”和“解释型”也不是绝对分类。同一语言可能通过解释器、JIT 或 AOT 编译运行。例如 Java 通常编译为 JVM 字节码,JavaScript 引擎普遍包含 JIT,Python 也会先生成字节码。选择语言时,运行时、部署模型和工具链比简单标签更重要。

二、Web 前端与全栈语言

1. JavaScript

  • 主要场景:浏览器交互、Web 前端、Node.js 后端、桌面应用、跨平台移动开发、脚本和自动化。
  • 常见生态:React、Vue、Angular、Svelte、Node.js、Express、Next.js、Electron、React Native。
  • 优势:浏览器原生支持;前后端可以共用语言;生态庞大。
  • 注意:动态类型和依赖生态会增加大型项目维护难度,团队通常会配合 TypeScript、lint、测试和锁文件。

2. TypeScript

  • 主要场景:中大型 Web 前端、Node.js 后端、跨平台应用、SDK 和工具链。
  • 常见生态:JavaScript 的大部分生态,常用于 React、Angular、Vue、NestJS、Next.js。
  • 优势:在 JavaScript 上增加静态类型、接口和更强的编辑器支持,适合多人和长期维护项目。
  • 注意:最终通常仍需转译为 JavaScript;类型正确不等于运行时输入安全,外部数据仍要校验。

3. PHP

  • 主要场景:服务端 Web、内容管理系统、电商网站、传统网站维护。
  • 常见生态:Laravel、Symfony、WordPress、Drupal。
  • 优势:Web 部署门槛低,托管环境普遍,成熟项目和人才储备多。
  • 注意:现代 PHP 已与早期版本差异很大;新项目应使用当前版本、Composer、类型声明和成熟框架规范。

4. Ruby

  • 主要场景:Web 应用、快速产品开发、自动化、内部工具。
  • 常见生态:Ruby on Rails、Sinatra、Jekyll。
  • 优势:表达力强,Rails 对常见 Web 业务提供完整约定。
  • 注意:在极高吞吐或资源严格场景中需要认真评估性能与部署成本。

5. Web 基础语言:HTML 与 CSS

  • HTML:标记语言,负责网页内容的语义和结构。
  • CSS:样式表语言,负责布局、颜色、字体、响应式设计和动画。
  • JavaScript:为网页添加行为和交互的编程语言。

MDN 将 HTML 定义为 Web 内容的结构与语义基础,将 CSS 定义为描述文档呈现方式的样式表语言,将 JavaScript 定义为 Web 的原生编程语言。MDN Web 标准模型

学习前端时,这三者都要学,但不要把 React、Vue 等框架名称误认为新的编程语言。

三、后端、企业应用与云服务语言

1. Python

  • 主要场景:AI/机器学习、数据分析、Web API、自动化、测试、科学计算、教育。
  • 常见生态:FastAPI、Django、Flask、NumPy、pandas、PyTorch、TensorFlow、scikit-learn。
  • 优势:语法易读、资料丰富、AI 与数据生态强,适合快速验证想法。
  • 注意:CPU 密集、超低延迟和严格内存控制场景通常需要 C/C++、Rust、Java、Go 等语言协作或替代。

2. Java

  • 主要场景:大型企业后端、金融系统、电商平台、Android 旧项目、大数据平台和中间件。
  • 常见生态:JVM、Spring Boot、Quarkus、Micronaut、Maven、Gradle、Hadoop、Flink。
  • 优势:跨平台、工具成熟、长期兼容性和企业生态强,适合大型团队。
  • 注意:项目结构和框架配置可能较重;新项目应使用现代 Java 版本和语言特性。

3. C#

  • 主要场景:企业后端、Windows 应用、云服务、游戏、跨平台桌面和移动应用。
  • 常见生态:.NET、ASP.NET Core、Entity Framework Core、Unity、MAUI、Blazor。
  • 优势:类型系统和开发工具成熟,.NET 已是跨平台运行时,在微软技术栈和 Unity 生态中尤其强。
  • 注意:具体框架和部署方式差异较大,学习时要区分现代 .NET 与旧版 .NET Framework。

4. Go

  • 主要场景:云原生服务、微服务、网络服务、CLI、DevOps 工具、容器与基础设施软件。
  • 常见生态:标准库、Gin、Echo、Cobra;Docker、Kubernetes 等基础设施项目大量使用 Go。
  • 优势:部署简单、编译快、并发模型易用、生成单个原生可执行文件。
  • 注意:语言刻意保持简洁,复杂领域建模的表达能力不如一些类型系统更丰富的语言。

5. Kotlin

  • 主要场景:Android、JVM 后端、多平台共享代码。
  • 常见生态:Android、Ktor、Spring、Kotlin Multiplatform、Gradle Kotlin DSL。
  • 优势:与 Java 互操作,空值安全和协程改善开发体验。
  • 注意:JVM 项目仍需理解 Java 生态;多平台能力应按目标平台成熟度评估。

6. Scala

  • 主要场景:大数据、分布式系统、JVM 后端、函数式和面向对象混合开发。
  • 常见生态:Apache Spark、Akka/Pekko、Cats、ZIO。
  • 优势:类型系统强,适合复杂数据处理和函数式设计。
  • 注意:学习曲线、编译时间和不同编程风格之间的差异可能增加团队成本。

7. Elixir

  • 主要场景:高并发 Web、实时通信、消息系统、容错服务。
  • 常见生态:BEAM、Phoenix、LiveView、Ecto。
  • 优势:继承 Erlang 虚拟机的并发、监督树和容错能力。
  • 注意:生态和招聘市场小于 Java、C#、Python、JavaScript;数值计算通常不是它的主场。

8. Erlang

  • 主要场景:电信、消息队列、实时系统、高可用分布式服务。
  • 常见生态:BEAM/OTP、RabbitMQ、部分电信和通信基础设施。
  • 优势:轻量进程、容错和热更新思想成熟。
  • 注意:语法和生态相对小众;新 Web 项目更常通过 Elixir 使用 BEAM。

9. Clojure

  • 主要场景:JVM 后端、数据处理、规则系统、交互式开发。
  • 常见生态:JVM、Leiningen、deps.edn、ClojureScript。
  • 优势:Lisp 风格、不可变数据和并发模型,能调用 Java 生态。
  • 注意:团队学习门槛和人才供给是重要决策因素。

10. Groovy

  • 主要场景:JVM 脚本、构建脚本、测试、旧式 Web 应用和 CI 流程。
  • 常见生态:Gradle、Spock、Jenkins Pipeline、Grails。
  • 优势:与 Java 互操作,写脚本和 DSL 方便。
  • 注意:新业务服务通常会优先比较 Java 或 Kotlin;动态特性需要测试保护。

四、移动端与客户端语言

1. Swift

  • 主要场景:iOS、iPadOS、macOS、watchOS、tvOS 应用和服务端 Swift。
  • 常见生态:SwiftUI、UIKit、Foundation、Swift Package Manager。
  • 优势:Apple 平台的现代主力语言,类型安全,能与 Objective-C 互操作。
  • 注意:主要价值集中在 Apple 生态;维护旧应用仍可能需要 Objective-C。

2. Objective-C

  • 主要场景:旧版 iOS/macOS 应用、Apple 平台底层库和遗留代码维护。
  • 常见生态:UIKit、AppKit、Cocoa、Cocoa Touch。
  • 优势:与 C 和 Apple 旧生态深度结合。
  • 注意:新 Apple 应用通常优先 Swift;初学者以“能读和维护”为目标即可。

3. Kotlin

  • 主要场景:现代 Android 原生应用,也是 Google 推荐的 Android 开发主力语言之一。
  • 常见生态:Jetpack Compose、Android SDK、Coroutines、Kotlin Multiplatform。
  • 说明:Kotlin 也常用于 JVM 后端,因此不是只服务于 Android 的语言。

4. Java

  • 主要场景:大量 Android 现有项目、SDK 和底层库。
  • 说明:新 Android 项目多优先 Kotlin,但 Java 仍是理解 Android 历史代码和 JVM 生态的重要语言。

5. Dart

  • 主要场景:使用 Flutter 构建 Android、iOS、Web、桌面和嵌入式界面。
  • 常见生态:Flutter、Dart SDK、pub.dev。
  • 优势:一套 UI 代码覆盖多个平台,热重载改善界面开发体验。
  • 注意:职业和生态价值很大程度绑定 Flutter;复杂平台能力仍可能需要原生代码。

6. QML/JavaScript

  • 主要场景:Qt 图形界面、车载系统、嵌入式触控界面和跨平台桌面应用。
  • 常见生态:Qt Quick、C++ 后端、QML 声明式 UI。
  • 说明:QML 是声明式语言,通常与 JavaScript 和 C++ 配合,而不是单独承担整个应用。

五、系统、基础设施与高性能语言

1. C

  • 主要场景:操作系统、嵌入式、驱动、数据库、编译器、网络库和高性能基础库。
  • 常见生态:POSIX、Linux 内核、微控制器 SDK、大量跨语言原生库。
  • 优势:接近硬件、运行时开销低、可移植性强,几乎所有主流语言都能调用 C ABI。
  • 注意:内存安全、边界检查和资源生命周期主要由开发者负责。

2. C++

  • 主要场景:游戏引擎、浏览器、数据库、高频交易、音视频、图形、机器人、桌面软件和高性能计算。
  • 常见生态:STL、Boost、CMake、Qt、Unreal Engine、CUDA。
  • 优势:高性能、泛型与抽象能力强,能精细控制资源。
  • 注意:语言和构建系统复杂;现代项目应统一标准版本、所有权规范和静态分析工具。

3. Rust

  • 主要场景:系统工具、网络服务、WebAssembly、嵌入式、区块链、性能敏感服务和安全关键组件。
  • 常见生态:Cargo、Tokio、Axum、Serde、wasm-bindgen。
  • 优势:通过所有权和借用系统提供内存安全与线程安全,同时保持原生性能。
  • 注意:学习曲线较陡;开发效率是否优于 C++ 取决于团队、领域和库成熟度。

4. Zig

  • 主要场景:系统工具、嵌入式、跨平台原生程序、C/C++ 构建与互操作。
  • 常见生态:Zig 编译器和构建系统。
  • 优势:强调显式控制、跨编译和 C 互操作。
  • 注意:相较 C、C++、Rust,生态和长期兼容经验仍较少;适合评估后使用。

5. Assembly / 汇编语言

  • 主要场景:启动代码、内核、驱动、固件、逆向工程、性能关键指令和特定硬件控制。
  • 常见方言:x86/x86-64、ARM/AArch64、RISC-V 汇编。
  • 优势:直接控制指令、寄存器和硬件行为。
  • 注意:可移植性和维护性低,通常只写很小的关键部分,而不是整个应用。

6. Ada/SPARK

  • 主要场景:航空航天、国防、铁路、工业控制等高可靠和安全关键系统。
  • 优势:强类型、契约和可验证性;SPARK 子集支持形式化验证。
  • 注意:生态和人才市场较窄,通常由行业合规和既有系统驱动选择。

7. D

  • 主要场景:原生工具、高性能应用、系统与应用层混合开发。
  • 优势:尝试在 C++ 级性能与现代语言便利性之间取得平衡。
  • 注意:生态和行业采用规模小于 C++、Rust、Go。

8. Nim

  • 主要场景:原生 CLI、系统工具、服务端程序和需要小型二进制的应用。
  • 优势:Python 风格语法、编译为 C/C++/JavaScript、元编程能力强。
  • 注意:第三方库、团队经验和长期维护资源相对有限。

六、AI、数据分析与科学计算语言

1. Python

  • 核心用途:数据清洗、Notebook、机器学习、深度学习、LLM 应用、计算机视觉、自动化实验。
  • 代表生态:Jupyter、NumPy、pandas、SciPy、PyTorch、TensorFlow、Transformers。
  • 定位:AI 应用和研究的默认入口;性能核心经常由 C、C++、CUDA 或 Rust 实现。

2. R

  • 主要场景:统计分析、数据可视化、生物信息、流行病学、学术研究和报告。
  • 常见生态:tidyverse、ggplot2、Shiny、R Markdown、Bioconductor。
  • 优势:统计方法和可视化生态深,适合探索性分析和可复现研究。
  • 注意:通用应用开发和大型服务工程通常不是其首选场景。

3. Julia

  • 主要场景:数值计算、优化、科学模拟、机器学习研究和高性能数据计算。
  • 常见生态:DifferentialEquations.jl、JuMP、Flux、Makie。
  • 优势:面向科学计算,强调高层语法与高性能结合。
  • 注意:生态规模和企业采用度仍小于 Python;包预编译和部署体验需按项目验证。

4. MATLAB

  • 主要场景:工程计算、控制系统、信号处理、通信、图像处理、算法原型和教学。
  • 常见生态:Simulink、各类专业 Toolbox。
  • 优势:矩阵计算和工程工具箱成熟,与仿真工作流结合紧密。
  • 注意:商业许可证成本较高,通用生产部署需考虑授权和运行环境。

5. GNU Octave

  • 主要场景:数值计算、教学、兼容部分 MATLAB 工作流。
  • 优势:自由开源,MATLAB 风格语法。
  • 注意:工具箱、界面和工业集成能力与 MATLAB 有差异。

6. Fortran

  • 主要场景:气象、流体、物理模拟、超级计算、数值库和长期科学代码库。
  • 优势:数组与数值计算性能强,积累了大量经过验证的科学代码。
  • 注意:新项目的人才、工具和软件工程生态需评估;常与 Python、C/C++ 混合使用。

7. SAS

  • 主要场景:金融、医药、临床试验、监管报表、企业统计分析。
  • 优势:行业流程、审计和商业支持成熟。
  • 注意:专有授权和供应商绑定明显;许多新数据项目会同时评估 Python 或 R。

8. Wolfram Language

  • 主要场景:符号计算、数学研究、可视化、教育和 Mathematica Notebook。
  • 优势:符号数学和知识计算能力强。
  • 注意:专有生态,通用软件工程岗位和部署路径相对有限。

9. CUDA C++

  • 主要场景:NVIDIA GPU 通用计算、深度学习算子、科学模拟、图像与视频处理。
  • 说明:它是建立在 C++ 上的并行计算平台和语言扩展,而不是与 C++ 完全无关的独立通用语言。
  • 注意:与 NVIDIA 硬件和工具链绑定;上层 AI 开发通常先使用 PyTorch 等框架。

七、游戏、图形与多媒体语言

1. C#

  • 主要场景:Unity 游戏、工具、编辑器扩展和部分自研引擎。
  • 优势:入门相对友好,Unity 教程和资源丰富。

2. C++

  • 主要场景:Unreal Engine、AAA 游戏、游戏引擎、渲染器、物理和实时音视频。
  • 优势:性能和底层控制能力强。
  • 注意:大型游戏还涉及资产管线、图形 API、脚本系统和平台 SDK,不是只学 C++ 即可。

3. GDScript

  • 主要场景:Godot 游戏和交互应用。
  • 优势:语法接近 Python,与 Godot 场景和节点系统结合紧密,适合独立游戏和原型。
  • 注意:价值主要绑定 Godot;高性能模块可使用 C#、C++ 或其他扩展方式。

4. Lua

  • 主要场景:游戏脚本、嵌入式脚本、插件、网络设备和可配置应用。
  • 常见生态:LuaJIT、OpenResty、Roblox 的 Luau、各类游戏引擎脚本层。
  • 优势:解释器小、易嵌入、与 C/C++ 集成方便。
  • 注意:大型项目需要额外的模块、类型和工程规范。

5. HLSL、GLSL 与 WGSL

  • 主要场景:GPU 着色器、实时渲染、图像处理和计算管线。
  • 平台关系:HLSL 常见于 DirectX;GLSL 常见于 OpenGL/Vulkan 生态;WGSL 用于 WebGPU。
  • 说明:它们是面向 GPU 管线的专用语言,不是通用应用开发语言。

八、脚本、自动化与运维语言

1. Bash / POSIX Shell

  • 主要场景:Linux/macOS 命令行、CI/CD、系统初始化、文件和进程编排。
  • 优势:与 Unix 工具组合自然,几行即可完成常见自动化。
  • 注意:复杂数据结构、跨平台和大型程序不适合继续堆 Shell;需要严格处理引号、退出码和管道错误。

2. PowerShell

  • 主要场景:Windows 管理、Microsoft 365/Azure 自动化、跨平台运维和结构化对象管道。
  • 优势:管道传递对象而非纯文本,与 .NET 和微软管理接口结合紧密。
  • 注意:不同模块和平台版本的可用性需要核对。

3. Windows Batch

  • 主要场景:旧式 Windows 启动脚本、简单命令包装和遗留自动化。
  • 优势:Windows 默认可用。
  • 注意:语法和错误处理能力有限;新自动化通常优先 PowerShell 或 Python。

4. Perl

  • 主要场景:文本处理、正则处理、系统管理、报表和遗留 Web/生物信息脚本。
  • 优势:文本处理能力强,CPAN 积累深。
  • 注意:新通用项目使用量下降,但大量现有系统仍需维护。

5. Tcl

  • 主要场景:EDA/芯片工具、测试自动化、嵌入式解释器、网络设备和 Tk GUI。
  • 优势:容易嵌入,命令与 DSL 扩展灵活。
  • 注意:通用新项目较少,主要由行业工具链驱动。

6. AWK

  • 主要场景:按行处理文本、日志和表格数据,常用于 Unix 管道。
  • 优势:对简单字段提取、聚合和转换非常高效。
  • 注意:逻辑复杂后应转向 Python、Perl 或专门的数据工具。

九、函数式、逻辑式与语言设计常见语言

1. Haskell

  • 主要场景:函数式编程、编译器、金融、形式化建模、研究和高可靠服务。
  • 特点:纯函数、惰性求值、强类型和类型类。
  • 适合学习:类型系统、副作用管理和函数式抽象。

2. OCaml

  • 主要场景:编译器、静态分析、金融系统、形式化工具和高可靠软件。
  • 特点:代数数据类型、模式匹配、类型推断,兼顾函数式和命令式。

3. F#

  • 主要场景:.NET 数据处理、金融、领域建模、Web 后端和科学计算。
  • 特点:函数式优先,同时能使用 .NET 生态并与 C# 互操作。

4. Common Lisp

  • 主要场景:符号计算、AI 历史系统、语言工具、交互式开发和长期遗留系统。
  • 特点:宏系统强、运行时可塑性高。

5. Scheme / Racket

  • 主要场景:编程语言教学、语言研究、DSL 和宏系统实验。
  • 特点:核心小、适合学习递归、解释器和语言构造。

6. Prolog

  • 主要场景:规则系统、逻辑推理、约束求解、自然语言研究和教学。
  • 特点:以事实、规则和查询描述问题,而不是给出传统命令式步骤。

十、数据库、查询与配置领域语言

这些语言通常只负责一个领域,不能替代通用编程语言。

1. SQL

  • 主要场景:关系数据库查询、聚合、数据更新、schema 和权限管理。
  • 常见数据库:PostgreSQL、MySQL、SQL Server、Oracle、SQLite。
  • 优势:声明“要什么”,由数据库优化器决定执行方式。
  • 注意:各数据库方言不同;应用仍需事务、参数化查询、迁移和权限设计。

2. PL/SQL

  • 主要场景:Oracle 数据库中的存储过程、函数、触发器和批处理。
  • 注意:与 Oracle 绑定,适合数据附近的逻辑,但不应把所有业务规则都塞进数据库。

3. T-SQL

  • 主要场景:Microsoft SQL Server/Azure SQL 的查询、存储过程、管理脚本和报表。
  • 注意:与 SQL Server 生态深度绑定。

4. GraphQL

  • 主要场景:客户端描述所需 API 数据结构;服务端通过 schema 和 resolver 提供数据。
  • 说明:GraphQL 是 API 查询语言与运行规范,不是数据库,也不是通用后端语言。

5. SPARQL

  • 主要场景:RDF、知识图谱和语义 Web 数据查询。

6. Cypher

  • 主要场景:属性图查询,常见于 Neo4j 和兼容图数据库。

7. HCL

  • 主要场景:基础设施配置,尤其是 Terraform 生态。
  • 说明:HashiCorp Configuration Language 是声明式配置语言;它用于描述期望基础设施,而不是通用应用逻辑。

8. Nix Language

  • 主要场景:Nix/NixOS 的可复现软件构建、开发环境和系统配置。
  • 特点:纯函数式、声明式,强调依赖和构建的可复现性。
  • 注意:概念和生态独特,通常在确定采用 Nix 后再深入学习。

十一、区块链与智能合约语言

1. Solidity

  • 主要场景:Ethereum 与 EVM 兼容链的智能合约、代币、DeFi 和 DAO。
  • 常见生态:Foundry、Hardhat、OpenZeppelin。
  • 注意:合约公开、不可随意修改且直接控制资产,必须特别重视重入、权限、精度、升级和审计。

2. Vyper

  • 主要场景:EVM 智能合约。
  • 特点:强调可读性和较小语言表面,语法接近 Python。
  • 注意:生态小于 Solidity,应先确认工具、审计和库支持。

3. Rust

  • 主要场景:部分非 EVM 区块链的链上程序、节点、密码学和高性能基础设施。
  • 说明:具体开发模型取决于目标链,不是“学会 Rust 就通用所有链”。

4. Move

  • 主要场景:采用 Move 虚拟机或其变体的区块链资产与智能合约。
  • 特点:资源类型用于表达数字资产所有权和移动语义。

5. Cairo

  • 主要场景:Starknet 智能合约和零知识证明相关程序。
  • 注意:语言、工具链和运行模型与 EVM 差异明显。

十二、硬件描述与工业控制语言

1. Verilog

  • 主要场景:数字电路、FPGA、ASIC 设计和仿真。

2. SystemVerilog

  • 主要场景:在 Verilog 基础上进行芯片设计、验证、断言和测试平台开发。
  • 常见生态:UVM、EDA 仿真与综合工具。

3. VHDL

  • 主要场景:FPGA、ASIC、航空航天和工业数字电路设计。
  • 特点:类型和语法较严格,在部分行业和地区积累深。

4. LabVIEW G

  • 主要场景:仪器控制、数据采集、测试测量、实验室自动化和工业系统。
  • 特点:数据流式图形化编程,常与 National Instruments 硬件结合。

5. IEC 61131-3 PLC 语言

  • 主要场景:工业自动化、PLC 和控制系统。
  • 常见语言:Structured Text、Ladder Diagram、Function Block Diagram、Sequential Function Chart。
  • 说明:这些是工业控制领域的专用语言或图形表示,选择通常由 PLC 平台和工厂标准决定。

十三、传统企业与遗留系统语言

“旧”不等于“已经消失”。银行、保险、政府、制造和大型企业中仍有大量长期运行系统。

1. COBOL

  • 主要场景:大型机、银行核心、保险、批处理、政府和账务系统。
  • 优势:适合记录和批量业务处理,遗留系统稳定且业务价值高。
  • 注意:现代化通常采用渐进迁移、API 封装或与 Java/.NET 集成,而不是一次性重写。

2. ABAP

  • 主要场景:SAP ERP 的报表、业务扩展、接口和企业流程。
  • 注意:职业价值与 SAP 生态强绑定。

3. RPG

  • 主要场景:IBM i 平台的企业业务、制造、物流和金融遗留系统。

4. Visual Basic .NET

  • 主要场景:既有 .NET 企业工具、Windows 应用和 Office 自动化相关系统。
  • 注意:新 .NET 项目一般优先 C#;VB.NET 主要用于维护和特定团队环境。

5. VBA

  • 主要场景:Excel、Access、Word 和其他 Office 应用自动化。
  • 优势:贴近业务人员现有 Office 工作流,能快速自动化表格和报表。
  • 注意:安全、版本控制、测试和协作能力有限;复杂或多人维护的流程应评估 Python、Office Scripts、Power Automate 或正式应用。

6. Delphi / Object Pascal

  • 主要场景:Windows 桌面、工业软件、数据库客户端和长期商业系统。
  • 优势:原生桌面开发和可视化工具成熟。
  • 注意:新项目应评估人才、授权、跨平台和长期生态。

7. Apex

  • 主要场景:Salesforce 平台的后端业务逻辑、触发器和集成。
  • 说明:语法类似 Java,但受 Salesforce 多租户、治理限制和部署模型约束。

十四、教学与入门语言

1. Scratch

  • 主要场景:少儿编程、事件、循环、条件、变量和动画游戏入门。
  • 特点:积木式图形编程,减少语法障碍,适合建立计算思维。
  • 主要场景:教学、递归、几何和海龟绘图。
  • 特点:历史悠久,适合通过可视反馈学习过程和函数。

3. Python

  • 主要场景:从青少年到大学的通用编程教学。
  • 特点:语法清晰,同时能平滑进入自动化、数据、Web 和 AI 实际项目。

4. Racket

  • 主要场景:计算机科学教学、函数式编程、解释器和语言设计。

十五、正在增长或需关注的语言

这些语言值得认识,但“增长快”不代表适合替换成熟生产栈。

1. Mojo

  • 目标场景:AI 基础设施、高性能数值计算和 Python 生态互操作。
  • 现状判断:属于新兴语言和工具链;适合实验与关注,生产采用前需核对稳定性、授权、平台和库支持。

2. Gleam

  • 主要场景:运行在 BEAM 或 JavaScript 目标上的类型安全应用。
  • 特点:静态类型、友好语法,利用 Erlang/Elixir 生态。
  • 注意:生态仍年轻,适合有 BEAM 需求的团队评估。

3. Crystal

  • 主要场景:原生 CLI、Web 服务和希望获得 Ruby 风格语法的编译型应用。
  • 注意:生态和人才规模较小。

4. Raku

  • 主要场景:文本处理、脚本、解析和多范式编程。
  • 说明:与 Perl 有历史关系,但现在是独立语言和生态。

十六、按场景快速比较

场景首选候选选择依据
浏览器前端JavaScript、TypeScript浏览器原生生态;大型项目通常优先 TypeScript
快速 Web APIPython、TypeScript、Go、C#团队经验、延迟、生态与部署方式
大型企业后端Java、C#、Kotlin长期维护、类型系统、框架、监控与组织积累
高并发实时服务Go、Erlang/Elixir、Java、Rust并发模型、延迟、容错和团队能力
AI/LLM 应用Python、TypeScriptPython 模型生态;TypeScript 产品和 Web 集成生态
训练与自定义算子Python + C++/CUDAPython 编排实验,底层语言承担高性能计算
数据分析Python、R、SQL通用数据栈、统计深度和数据库能力
高性能系统C++、Rust、C控制、生态、内存安全和已有代码库
云原生工具Go、Rust、Python二进制部署、性能、开发效率与 SDK
AndroidKotlin、Java新项目与既有项目比例
iOS/macOSSwift、Objective-C新开发与遗留维护
跨平台移动Dart、TypeScript、C#Flutter、React Native、.NET MAUI 等框架选择
Unity 游戏C#引擎官方脚本生态
Unreal/引擎开发C++引擎与原生性能生态
独立游戏原型GDScript、C#、LuaGodot、Unity 或具体引擎生态
嵌入式 MCUC、C++、Rust芯片 SDK、实时约束、认证和团队经验
科学计算Python、Julia、Fortran、MATLAB库、性能、行业代码和许可证
自动化Python、Bash、PowerShell目标操作系统和脚本复杂度
数据库逻辑SQL、PL/SQL、T-SQL数据库平台与逻辑边界
基础设施即代码HCL、Nix、通用语言 IaC SDK云平台、可复现性和团队工具链
智能合约Solidity、Rust、Move、Cairo目标链的虚拟机、安全模型和工具生态
芯片与 FPGASystemVerilog、Verilog、VHDLEDA 工具、验证流程和组织标准

十七、选择语言时检查这 10 个问题

  1. 程序要运行在哪里:浏览器、服务器、手机、桌面、芯片、GPU,还是特定平台?
  2. 目标平台官方支持或主流 SDK 使用什么语言?
  3. 团队已经会什么,未来由谁维护?
  4. 关键库、驱动、协议和第三方 SDK 是否成熟?
  5. 是更重视开发速度、运行性能、内存安全、低延迟,还是可验证性?
  6. 部署环境是否允许相应运行时、容器、原生二进制或商业许可证?
  7. 项目是否需要与现有 Java、.NET、C/C++、Python 或 JavaScript 系统互操作?
  8. 招聘、培训、调试、测试、监控和安全工具是否可获得?
  9. 语言和核心框架的版本策略、兼容承诺与维护状态如何?
  10. 如果选错,迁移成本和退出方案是什么?

十八、初学者常见误区

误区 1:先学“最强”的语言

语言能力依赖场景。C++ 对游戏引擎很强,但不代表它比 JavaScript 更适合浏览器页面,也不代表它比 Python 更适合第一份数据分析练习。

误区 2:同时学很多门语言

先用一门语言掌握变量、控制流、函数、数据结构、错误处理、文件、网络、测试和调试。完成两个小项目后,再学第二门语言比较差异。

误区 3:把框架当语言

React 是 UI 库,Vue、Django 和 Spring Boot 是框架,Flutter 是 UI SDK,Unity 是游戏引擎与平台;它们都不是编程语言。先理解它们依赖的 JavaScript/TypeScript、Python、Java/Kotlin、Dart、C#。

误区 4:只学语法,不学工具链

真实开发还包括包管理、构建、Git、测试、调试、日志、数据库、HTTP、安全和部署。会写循环不等于能交付应用。

误区 5:根据一个排行榜决定技术栈

GitHub、Stack Overflow、招聘网站和行业报告的样本不同。排名可以帮助发现生态趋势,但最终选择必须回到目标平台与项目约束。

十九、推荐的学习组合

组合 A:AI 应用开发

  1. Python:模型 API、数据处理、Agent 和机器学习。
  2. SQL:数据查询和存储。
  3. JavaScript/TypeScript:把 AI 能力做成 Web 产品。
  4. Shell:运行、部署和自动化。

组合 B:现代全栈 Web

  1. HTML + CSS:结构与界面。
  2. TypeScript:前端和 Node.js 后端。
  3. SQL:数据库。
  4. Python、Java、C# 或 Go:在需要时增加独立后端能力。

组合 C:企业后端

  1. Java 或 C#:主力后端。
  2. SQL:数据建模和查询。
  3. TypeScript:管理后台和前端协作。
  4. Python 或 Shell:自动化和运维辅助。

组合 D:系统与高性能

  1. C:理解内存、ABI、操作系统与硬件接口。
  2. C++ 或 Rust:构建大型高性能程序。
  3. Python:测试、脚本、数据分析和上层接口。
  4. 汇编:按需阅读和优化少量关键代码。

组合 E:移动应用

  1. Kotlin:Android;Swift:Apple 平台。
  2. 或者使用 Dart + Flutter 走跨平台路线。
  3. TypeScript + React Native 适合已有 React/TypeScript 团队。
  4. SQL/SQLite 和 HTTP/API 知识无论选择哪条路线都需要。

二十、学习入口

最后建议

如果你的目标是 AI、AI Agent 或 Vibe Coding,不要把学习顺序固定成唯一路线,可以按产品形态分流:

  • AI、模型与数据优先:先学 Python;需要读写业务数据时补 SQL,需要做网页产品时再补 JavaScript/TypeScript。
  • Web 产品与 Vibe Coding 优先:先学 HTML/CSS 和 JavaScript,再学 TypeScript;需要持久化数据时补 SQL,后端可选 Node.js、Python、Java、C# 或 Go。
  • AI Agent 应用优先:Python 和 TypeScript 都可以作为第一门主力语言;偏模型、数据和自动化选 Python,偏 Web 产品、Node.js 与前后端合作选 TypeScript。

Shell 适合作为并行学习的工程工具:Linux/macOS 主要学 Bash,Windows 主要学 PowerShell。无论选哪条路线,都要同步掌握 Git、HTTP/API、包管理、测试、调试和基本安全知识。Vibe Coding 能加快生成代码,但不会替你验证正确性、处理边界情况或负责部署。

先用一条主路线做出两个可运行项目,再按 Android、iOS、游戏、嵌入式或高性能系统的需要,补 Kotlin、Swift、C#、C++、C 或 Rust。

陶渊明的小院 · 基于 VitePress 构建