软件工程:程序设计语言的分类

📌目录



⚖️ 程序设计语言的分类:从机器语言到现代语言

程序设计语言是人与计算机沟通的工具,随着计算机技术的发展,程序设计语言经历了从机器语言到高级语言的演变。本文将从多个维度对程序设计语言进行分类,帮助读者全面了解各类语言的特点和应用场景。

🎯 一、程序设计语言概述

(一)程序设计语言的定义

程序设计语言是用于编写计算机程序的形式语言,它提供了一组语法规则和语义定义,使程序员能够描述计算过程。

程序设计语言概念
#mermaid-svg-pwM1gIbPLjLl7VcW{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-pwM1gIbPLjLl7VcW .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-pwM1gIbPLjLl7VcW .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-pwM1gIbPLjLl7VcW .error-icon{fill:#552222;}#mermaid-svg-pwM1gIbPLjLl7VcW .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-pwM1gIbPLjLl7VcW .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-pwM1gIbPLjLl7VcW .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-pwM1gIbPLjLl7VcW .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-pwM1gIbPLjLl7VcW .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-pwM1gIbPLjLl7VcW .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-pwM1gIbPLjLl7VcW .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-pwM1gIbPLjLl7VcW .marker{fill:#333333;stroke:#333333;}#mermaid-svg-pwM1gIbPLjLl7VcW .marker.cross{stroke:#333333;}#mermaid-svg-pwM1gIbPLjLl7VcW svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-pwM1gIbPLjLl7VcW p{margin:0;}#mermaid-svg-pwM1gIbPLjLl7VcW .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-pwM1gIbPLjLl7VcW .cluster-label text{fill:#333;}#mermaid-svg-pwM1gIbPLjLl7VcW .cluster-label span{color:#333;}#mermaid-svg-pwM1gIbPLjLl7VcW .cluster-label span p{background-color:transparent;}#mermaid-svg-pwM1gIbPLjLl7VcW .label text,#mermaid-svg-pwM1gIbPLjLl7VcW span{fill:#333;color:#333;}#mermaid-svg-pwM1gIbPLjLl7VcW .node rect,#mermaid-svg-pwM1gIbPLjLl7VcW .node circle,#mermaid-svg-pwM1gIbPLjLl7VcW .node ellipse,#mermaid-svg-pwM1gIbPLjLl7VcW .node polygon,#mermaid-svg-pwM1gIbPLjLl7VcW .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-pwM1gIbPLjLl7VcW .rough-node .label text,#mermaid-svg-pwM1gIbPLjLl7VcW .node .label text,#mermaid-svg-pwM1gIbPLjLl7VcW .image-shape .label,#mermaid-svg-pwM1gIbPLjLl7VcW .icon-shape .label{text-anchor:middle;}#mermaid-svg-pwM1gIbPLjLl7VcW .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-pwM1gIbPLjLl7VcW .rough-node .label,#mermaid-svg-pwM1gIbPLjLl7VcW .node .label,#mermaid-svg-pwM1gIbPLjLl7VcW .image-shape .label,#mermaid-svg-pwM1gIbPLjLl7VcW .icon-shape .label{text-align:center;}#mermaid-svg-pwM1gIbPLjLl7VcW .node.clickable{cursor:pointer;}#mermaid-svg-pwM1gIbPLjLl7VcW .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-pwM1gIbPLjLl7VcW .arrowheadPath{fill:#333333;}#mermaid-svg-pwM1gIbPLjLl7VcW .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-pwM1gIbPLjLl7VcW .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-pwM1gIbPLjLl7VcW .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-pwM1gIbPLjLl7VcW .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-pwM1gIbPLjLl7VcW .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-pwM1gIbPLjLl7VcW .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-pwM1gIbPLjLl7VcW .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-pwM1gIbPLjLl7VcW .cluster text{fill:#333;}#mermaid-svg-pwM1gIbPLjLl7VcW .cluster span{color:#333;}#mermaid-svg-pwM1gIbPLjLl7VcW div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-pwM1gIbPLjLl7VcW .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-pwM1gIbPLjLl7VcW rect.text{fill:none;stroke-width:0;}#mermaid-svg-pwM1gIbPLjLl7VcW .icon-shape,#mermaid-svg-pwM1gIbPLjLl7VcW .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-pwM1gIbPLjLl7VcW .icon-shape p,#mermaid-svg-pwM1gIbPLjLl7VcW .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-pwM1gIbPLjLl7VcW .icon-shape .label rect,#mermaid-svg-pwM1gIbPLjLl7VcW .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-pwM1gIbPLjLl7VcW .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-pwM1gIbPLjLl7VcW .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-pwM1gIbPLjLl7VcW :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 程序设计语言
语法
语义
语用
形式规则
含义定义
使用方法

(二)程序设计语言的作用

程序设计语言作用

作用 说明
描述算法 描述计算过程
数据组织 组织数据结构
控制流程 控制程序执行
抽象表达 抽象问题域

📦 二、按发展历史分类

(一)分类概览

按发展历史分类
#mermaid-svg-M718w8Vyeb0UOBTX{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-M718w8Vyeb0UOBTX .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-M718w8Vyeb0UOBTX .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-M718w8Vyeb0UOBTX .error-icon{fill:#552222;}#mermaid-svg-M718w8Vyeb0UOBTX .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-M718w8Vyeb0UOBTX .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-M718w8Vyeb0UOBTX .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-M718w8Vyeb0UOBTX .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-M718w8Vyeb0UOBTX .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-M718w8Vyeb0UOBTX .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-M718w8Vyeb0UOBTX .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-M718w8Vyeb0UOBTX .marker{fill:#333333;stroke:#333333;}#mermaid-svg-M718w8Vyeb0UOBTX .marker.cross{stroke:#333333;}#mermaid-svg-M718w8Vyeb0UOBTX svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-M718w8Vyeb0UOBTX p{margin:0;}#mermaid-svg-M718w8Vyeb0UOBTX .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-M718w8Vyeb0UOBTX .cluster-label text{fill:#333;}#mermaid-svg-M718w8Vyeb0UOBTX .cluster-label span{color:#333;}#mermaid-svg-M718w8Vyeb0UOBTX .cluster-label span p{background-color:transparent;}#mermaid-svg-M718w8Vyeb0UOBTX .label text,#mermaid-svg-M718w8Vyeb0UOBTX span{fill:#333;color:#333;}#mermaid-svg-M718w8Vyeb0UOBTX .node rect,#mermaid-svg-M718w8Vyeb0UOBTX .node circle,#mermaid-svg-M718w8Vyeb0UOBTX .node ellipse,#mermaid-svg-M718w8Vyeb0UOBTX .node polygon,#mermaid-svg-M718w8Vyeb0UOBTX .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-M718w8Vyeb0UOBTX .rough-node .label text,#mermaid-svg-M718w8Vyeb0UOBTX .node .label text,#mermaid-svg-M718w8Vyeb0UOBTX .image-shape .label,#mermaid-svg-M718w8Vyeb0UOBTX .icon-shape .label{text-anchor:middle;}#mermaid-svg-M718w8Vyeb0UOBTX .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-M718w8Vyeb0UOBTX .rough-node .label,#mermaid-svg-M718w8Vyeb0UOBTX .node .label,#mermaid-svg-M718w8Vyeb0UOBTX .image-shape .label,#mermaid-svg-M718w8Vyeb0UOBTX .icon-shape .label{text-align:center;}#mermaid-svg-M718w8Vyeb0UOBTX .node.clickable{cursor:pointer;}#mermaid-svg-M718w8Vyeb0UOBTX .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-M718w8Vyeb0UOBTX .arrowheadPath{fill:#333333;}#mermaid-svg-M718w8Vyeb0UOBTX .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-M718w8Vyeb0UOBTX .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-M718w8Vyeb0UOBTX .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-M718w8Vyeb0UOBTX .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-M718w8Vyeb0UOBTX .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-M718w8Vyeb0UOBTX .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-M718w8Vyeb0UOBTX .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-M718w8Vyeb0UOBTX .cluster text{fill:#333;}#mermaid-svg-M718w8Vyeb0UOBTX .cluster span{color:#333;}#mermaid-svg-M718w8Vyeb0UOBTX div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-M718w8Vyeb0UOBTX .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-M718w8Vyeb0UOBTX rect.text{fill:none;stroke-width:0;}#mermaid-svg-M718w8Vyeb0UOBTX .icon-shape,#mermaid-svg-M718w8Vyeb0UOBTX .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-M718w8Vyeb0UOBTX .icon-shape p,#mermaid-svg-M718w8Vyeb0UOBTX .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-M718w8Vyeb0UOBTX .icon-shape .label rect,#mermaid-svg-M718w8Vyeb0UOBTX .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-M718w8Vyeb0UOBTX .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-M718w8Vyeb0UOBTX .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-M718w8Vyeb0UOBTX :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 按发展历史
机器语言
汇编语言
高级语言
第一代
第二代
第三代及以后

(二)机器语言

机器语言是计算机能够直接识别和执行的语言,由0和1组成的二进制代码。

机器语言特点

特点 说明
直接执行 计算机直接识别
效率高 执行效率最高
难理解 难以理解和记忆
难维护 难以维护和修改
机器相关 依赖具体机器

机器语言示例

复制代码
# 机器语言示例(二进制)
# 将两个数相加
10110000 01100001    # MOV AL, 61h
00000100 00010000    # ADD AL, 10h
10111000 00000000    # MOV AX, 0000h

机器语言代码示例

python 复制代码
# 机器语言模拟
class MachineLanguage:
    """机器语言"""
    
    def __init__(self):
        self.instructions = []
    
    def add_instruction(self, binary_code):
        """添加指令"""
        self.instructions.append(binary_code)
    
    def execute(self):
        """执行指令"""
        print("执行机器语言程序:")
        for i, inst in enumerate(self.instructions, 1):
            print(f"  {i}. {inst}")
        print("执行完成")

# 使用示例
machine = MachineLanguage()
machine.add_instruction("10110000 01100001")  # MOV AL, 61h
machine.add_instruction("00000100 00010000")  # ADD AL, 10h
machine.execute()

(三)汇编语言

汇编语言使用助记符代替二进制代码,是机器语言的符号化表示。

汇编语言特点

特点 说明
符号化 使用助记符
需翻译 需要汇编器翻译
机器相关 依赖具体机器
效率较高 接近机器语言

汇编语言示例

assembly 复制代码
; 汇编语言示例
; 将两个数相加
MOV AL, 61h      ; 将61h送入AL寄存器
ADD AL, 10h      ; AL = AL + 10h
MOV AX, 0        ; 将AX清零

汇编语言代码示例

python 复制代码
# 汇编语言模拟
class AssemblyLanguage:
    """汇编语言"""
    
    def __init__(self):
        self.instructions = []
        self.registers = {}
    
    def add_instruction(self, mnemonic, operands):
        """添加指令"""
        self.instructions.append({
            "mnemonic": mnemonic,
            "operands": operands
        })
    
    def assemble(self):
        """汇编"""
        print("汇编语言程序:")
        for i, inst in enumerate(self.instructions, 1):
            print(f"  {i}. {inst['mnemonic']} {inst['operands']}")
        print("\n汇编为机器语言:")
        for i, inst in enumerate(self.instructions, 1):
            machine_code = self._translate_to_machine(inst)
            print(f"  {i}. {machine_code}")
    
    def _translate_to_machine(self, instruction):
        """翻译为机器语言"""
        # 简化的翻译过程
        translations = {
            "MOV": "1011",
            "ADD": "0000",
            "SUB": "0001"
        }
        return translations.get(instruction["mnemonic"], "0000")

# 使用示例
assembly = AssemblyLanguage()
assembly.add_instruction("MOV", "AL, 61h")
assembly.add_instruction("ADD", "AL, 10h")
assembly.assemble()

(四)高级语言

高级语言接近自然语言,具有良好的可读性和可移植性。

高级语言特点

特点 说明
接近自然语言 易于理解和编写
可移植性好 不依赖具体机器
抽象程度高 支持高级抽象
需翻译 需要编译或解释

高级语言示例

python 复制代码
# Python高级语言示例
# 将两个数相加
a = 97      # 61h = 97
b = 16      # 10h = 16
result = a + b
print(f"结果:{result}")

高级语言发展

语言 时间 特点
第三代 FORTRAN、COBOL 1950s 科学计算、商业应用
第三代 C、Pascal 1970s 结构化编程
第四代 SQL、Prolog 1980s 非过程化
第五代 Java、C# 1990s 面向对象
现代 Python、Go 2000s+ 简洁高效

🌐 三、按编程范式分类

(一)分类概览

按编程范式分类
#mermaid-svg-TZJGAr7e9uGEVHF7{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-TZJGAr7e9uGEVHF7 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-TZJGAr7e9uGEVHF7 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-TZJGAr7e9uGEVHF7 .error-icon{fill:#552222;}#mermaid-svg-TZJGAr7e9uGEVHF7 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-TZJGAr7e9uGEVHF7 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-TZJGAr7e9uGEVHF7 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-TZJGAr7e9uGEVHF7 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-TZJGAr7e9uGEVHF7 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-TZJGAr7e9uGEVHF7 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-TZJGAr7e9uGEVHF7 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-TZJGAr7e9uGEVHF7 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-TZJGAr7e9uGEVHF7 .marker.cross{stroke:#333333;}#mermaid-svg-TZJGAr7e9uGEVHF7 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-TZJGAr7e9uGEVHF7 p{margin:0;}#mermaid-svg-TZJGAr7e9uGEVHF7 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-TZJGAr7e9uGEVHF7 .cluster-label text{fill:#333;}#mermaid-svg-TZJGAr7e9uGEVHF7 .cluster-label span{color:#333;}#mermaid-svg-TZJGAr7e9uGEVHF7 .cluster-label span p{background-color:transparent;}#mermaid-svg-TZJGAr7e9uGEVHF7 .label text,#mermaid-svg-TZJGAr7e9uGEVHF7 span{fill:#333;color:#333;}#mermaid-svg-TZJGAr7e9uGEVHF7 .node rect,#mermaid-svg-TZJGAr7e9uGEVHF7 .node circle,#mermaid-svg-TZJGAr7e9uGEVHF7 .node ellipse,#mermaid-svg-TZJGAr7e9uGEVHF7 .node polygon,#mermaid-svg-TZJGAr7e9uGEVHF7 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-TZJGAr7e9uGEVHF7 .rough-node .label text,#mermaid-svg-TZJGAr7e9uGEVHF7 .node .label text,#mermaid-svg-TZJGAr7e9uGEVHF7 .image-shape .label,#mermaid-svg-TZJGAr7e9uGEVHF7 .icon-shape .label{text-anchor:middle;}#mermaid-svg-TZJGAr7e9uGEVHF7 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-TZJGAr7e9uGEVHF7 .rough-node .label,#mermaid-svg-TZJGAr7e9uGEVHF7 .node .label,#mermaid-svg-TZJGAr7e9uGEVHF7 .image-shape .label,#mermaid-svg-TZJGAr7e9uGEVHF7 .icon-shape .label{text-align:center;}#mermaid-svg-TZJGAr7e9uGEVHF7 .node.clickable{cursor:pointer;}#mermaid-svg-TZJGAr7e9uGEVHF7 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-TZJGAr7e9uGEVHF7 .arrowheadPath{fill:#333333;}#mermaid-svg-TZJGAr7e9uGEVHF7 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-TZJGAr7e9uGEVHF7 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-TZJGAr7e9uGEVHF7 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-TZJGAr7e9uGEVHF7 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-TZJGAr7e9uGEVHF7 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-TZJGAr7e9uGEVHF7 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-TZJGAr7e9uGEVHF7 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-TZJGAr7e9uGEVHF7 .cluster text{fill:#333;}#mermaid-svg-TZJGAr7e9uGEVHF7 .cluster span{color:#333;}#mermaid-svg-TZJGAr7e9uGEVHF7 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-TZJGAr7e9uGEVHF7 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-TZJGAr7e9uGEVHF7 rect.text{fill:none;stroke-width:0;}#mermaid-svg-TZJGAr7e9uGEVHF7 .icon-shape,#mermaid-svg-TZJGAr7e9uGEVHF7 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-TZJGAr7e9uGEVHF7 .icon-shape p,#mermaid-svg-TZJGAr7e9uGEVHF7 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-TZJGAr7e9uGEVHF7 .icon-shape .label rect,#mermaid-svg-TZJGAr7e9uGEVHF7 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-TZJGAr7e9uGEVHF7 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-TZJGAr7e9uGEVHF7 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-TZJGAr7e9uGEVHF7 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 按编程范式
过程式
面向对象
函数式
逻辑式
脚本式
C, Pascal
Java, C++
Haskell, Lisp
Prolog
Python, JavaScript

(二)过程式编程语言

过程式编程以过程(函数)为中心,按照执行顺序组织代码。

过程式编程特点

特点 说明
过程为中心 以函数为基本单位
顺序执行 按顺序执行
数据与操作分离 数据和操作分离
自顶向下 自顶向下设计

过程式语言示例

c 复制代码
/* C语言 - 过程式编程 */
#include <stdio.h>

/* 函数定义 */
int add(int a, int b) {
    return a + b;
}

int multiply(int a, int b) {
    return a * b;
}

/* 主函数 */
int main() {
    int x = 5;
    int y = 3;
    
    /* 顺序执行 */
    int sum = add(x, y);
    int product = multiply(x, y);
    
    printf("和:%d\n", sum);
    printf("积:%d\n", product);
    
    return 0;
}

过程式编程代码示例

python 复制代码
# Python过程式编程示例
def add(a, b):
    """加法函数"""
    return a + b

def multiply(a, b):
    """乘法函数"""
    return a * b

def calculate(x, y):
    """计算函数"""
    # 顺序执行
    sum_result = add(x, y)
    product_result = multiply(x, y)
    return sum_result, product_result

# 主程序
x = 5
y = 3
sum_result, product_result = calculate(x, y)
print(f"和:{sum_result}")
print(f"积:{product_result}")

(三)面向对象编程语言

面向对象编程以对象为中心,将数据和操作封装在一起。

面向对象编程特点

特点 说明
对象为中心 以对象为基本单位
封装 数据和操作封装
继承 支持继承机制
多态 支持多态性

面向对象语言示例

java 复制代码
// Java - 面向对象编程
public class Calculator {
    // 属性
    private int x;
    private int y;
    
    // 构造方法
    public Calculator(int x, int y) {
        this.x = x;
        this.y = y;
    }
    
    // 方法
    public int add() {
        return x + y;
    }
    
    public int multiply() {
        return x * y;
    }
    
    // 主方法
    public static void main(String[] args) {
        Calculator calc = new Calculator(5, 3);
        System.out.println("和:" + calc.add());
        System.out.println("积:" + calc.multiply());
    }
}

面向对象编程代码示例

python 复制代码
# Python面向对象编程示例
class Calculator:
    """计算器类"""
    
    # 构造方法
    def __init__(self, x, y):
        self.x = x
        self.y = y
    
    # 方法
    def add(self):
        """加法"""
        return self.x + self.y
    
    def multiply(self):
        """乘法"""
        return self.x * self.y

# 继承示例
class ScientificCalculator(Calculator):
    """科学计算器 - 继承"""
    
    def power(self):
        """幂运算"""
        return self.x ** self.y
    
    def square_root(self):
        """平方根"""
        import math
        return math.sqrt(self.x)

# 使用示例
calc = Calculator(5, 3)
print(f"和:{calc.add()}")
print(f"积:{calc.multiply()}")

sci_calc = ScientificCalculator(4, 2)
print(f"幂:{sci_calc.power()}")
print(f"平方根:{sci_calc.square_root()}")

(四)函数式编程语言

函数式编程以函数为核心,强调无副作用的纯函数。

函数式编程特点

特点 说明
函数为核心 以函数为基本单位
无副作用 纯函数,无副作用
不可变数据 数据不可变
高阶函数 支持高阶函数

函数式语言示例

haskell 复制代码
-- Haskell - 函数式编程

-- 纯函数
add :: Int -> Int -> Int
add x y = x + y

multiply :: Int -> Int -> Int
multiply x y = x * y

-- 高阶函数
applyTwice :: (a -> a) -> a -> a
applyTwice f x = f (f x)

-- 主函数
main :: IO ()
main = do
    let x = 5
    let y = 3
    putStrLn $ "和:" ++ show (add x y)
    putStrLn $ "积:" ++ show (multiply x y)
    putStrLn $ "加倍:" ++ show (applyTwice (*2) 3)

函数式编程代码示例

python 复制代码
# Python函数式编程示例
from functools import reduce

# 纯函数
def add(x, y):
    """加法 - 纯函数"""
    return x + y

def multiply(x, y):
    """乘法 - 纯函数"""
    return x * y

# 高阶函数
def apply_twice(f, x):
    """应用两次"""
    return f(f(x))

# Lambda表达式
square = lambda x: x * x
cube = lambda x: x ** 3

# Map、Filter、Reduce
numbers = [1, 2, 3, 4, 5]

# Map
squared = list(map(lambda x: x**2, numbers))
print(f"平方:{squared}")

# Filter
evens = list(filter(lambda x: x % 2 == 0, numbers))
print(f"偶数:{evens}")

# Reduce
total = reduce(lambda x, y: x + y, numbers)
print(f"总和:{total}")

# 使用示例
print(f"和:{add(5, 3)}")
print(f"积:{multiply(5, 3)}")
print(f"加倍:{apply_twice(lambda x: x * 2, 3)}")

(五)逻辑式编程语言

逻辑式编程基于形式逻辑,通过逻辑推理解决问题。

逻辑式编程特点

特点 说明
基于逻辑 基于形式逻辑
声明式 声明事实和规则
推理 自动推理
非过程化 不描述过程

逻辑式语言示例

prolog 复制代码
% Prolog - 逻辑式编程

% 事实
parent(tom, bob).
parent(tom, liz).
parent(bob, ann).
parent(bob, pat).

% 规则
grandparent(X, Y) :- parent(X, Z), parent(Z, Y).

% 查询
% ?- grandparent(tom, ann).  % 返回 true
% ?- grandparent(tom, X).    % 返回 X = ann; X = pat

逻辑式编程代码示例

python 复制代码
# Python逻辑式编程模拟
class LogicProgram:
    """逻辑式编程"""
    
    def __init__(self):
        self.facts = []
        self.rules = []
    
    def add_fact(self, predicate, *args):
        """添加事实"""
        self.facts.append({
            "predicate": predicate,
            "args": args
        })
    
    def add_rule(self, head, *body):
        """添加规则"""
        self.rules.append({
            "head": head,
            "body": body
        })
    
    def query(self, predicate, *args):
        """查询"""
        # 检查事实
        for fact in self.facts:
            if fact["predicate"] == predicate and fact["args"] == args:
                return True
        
        # 检查规则(简化)
        for rule in self.rules:
            if rule["head"]["predicate"] == predicate:
                # 简化处理
                return True
        
        return False
    
    def display(self):
        """显示程序"""
        print("事实:")
        for fact in self.facts:
            print(f"  {fact['predicate']}({', '.join(fact['args'])})")
        
        print("\n规则:")
        for rule in self.rules:
            print(f"  {rule['head']['predicate']} :- {', '.join([b['predicate'] for b in rule['body']])}")

# 使用示例
program = LogicProgram()

# 添加事实
program.add_fact("parent", "tom", "bob")
program.add_fact("parent", "tom", "liz")
program.add_fact("parent", "bob", "ann")
program.add_fact("parent", "bob", "pat")

# 添加规则
program.add_rule(
    {"predicate": "grandparent"},
    {"predicate": "parent"},
    {"predicate": "parent"}
)

# 显示程序
program.display()

# 查询
print(f"\n查询 grandparent(tom, ann):{program.query('grandparent', 'tom', 'ann')}")

(六)脚本式编程语言

脚本式编程用于编写脚本,通常解释执行。

脚本式编程特点

特点 说明
解释执行 通常解释执行
动态类型 动态类型
简洁语法 语法简洁
快速开发 快速开发

脚本式语言示例

python 复制代码
# Python - 脚本式编程

# 简洁的语法
numbers = [1, 2, 3, 4, 5]

# 列表推导式
squared = [x**2 for x in numbers]
print(f"平方:{squared}")

# 字典推导式
square_dict = {x: x**2 for x in numbers}
print(f"平方字典:{square_dict}")

# 动态类型
x = 5          # 整数
x = "hello"    # 字符串
x = [1, 2, 3]  # 列表

# 快速开发
import os
for file in os.listdir('.'):
    if file.endswith('.py'):
        print(file)

💡 四、按执行方式分类

(一)分类概览

按执行方式分类
#mermaid-svg-fazkooRvCsQ1RxaJ{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-fazkooRvCsQ1RxaJ .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-fazkooRvCsQ1RxaJ .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-fazkooRvCsQ1RxaJ .error-icon{fill:#552222;}#mermaid-svg-fazkooRvCsQ1RxaJ .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-fazkooRvCsQ1RxaJ .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-fazkooRvCsQ1RxaJ .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-fazkooRvCsQ1RxaJ .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-fazkooRvCsQ1RxaJ .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-fazkooRvCsQ1RxaJ .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-fazkooRvCsQ1RxaJ .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-fazkooRvCsQ1RxaJ .marker{fill:#333333;stroke:#333333;}#mermaid-svg-fazkooRvCsQ1RxaJ .marker.cross{stroke:#333333;}#mermaid-svg-fazkooRvCsQ1RxaJ svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-fazkooRvCsQ1RxaJ p{margin:0;}#mermaid-svg-fazkooRvCsQ1RxaJ .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-fazkooRvCsQ1RxaJ .cluster-label text{fill:#333;}#mermaid-svg-fazkooRvCsQ1RxaJ .cluster-label span{color:#333;}#mermaid-svg-fazkooRvCsQ1RxaJ .cluster-label span p{background-color:transparent;}#mermaid-svg-fazkooRvCsQ1RxaJ .label text,#mermaid-svg-fazkooRvCsQ1RxaJ span{fill:#333;color:#333;}#mermaid-svg-fazkooRvCsQ1RxaJ .node rect,#mermaid-svg-fazkooRvCsQ1RxaJ .node circle,#mermaid-svg-fazkooRvCsQ1RxaJ .node ellipse,#mermaid-svg-fazkooRvCsQ1RxaJ .node polygon,#mermaid-svg-fazkooRvCsQ1RxaJ .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-fazkooRvCsQ1RxaJ .rough-node .label text,#mermaid-svg-fazkooRvCsQ1RxaJ .node .label text,#mermaid-svg-fazkooRvCsQ1RxaJ .image-shape .label,#mermaid-svg-fazkooRvCsQ1RxaJ .icon-shape .label{text-anchor:middle;}#mermaid-svg-fazkooRvCsQ1RxaJ .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-fazkooRvCsQ1RxaJ .rough-node .label,#mermaid-svg-fazkooRvCsQ1RxaJ .node .label,#mermaid-svg-fazkooRvCsQ1RxaJ .image-shape .label,#mermaid-svg-fazkooRvCsQ1RxaJ .icon-shape .label{text-align:center;}#mermaid-svg-fazkooRvCsQ1RxaJ .node.clickable{cursor:pointer;}#mermaid-svg-fazkooRvCsQ1RxaJ .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-fazkooRvCsQ1RxaJ .arrowheadPath{fill:#333333;}#mermaid-svg-fazkooRvCsQ1RxaJ .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-fazkooRvCsQ1RxaJ .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-fazkooRvCsQ1RxaJ .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-fazkooRvCsQ1RxaJ .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-fazkooRvCsQ1RxaJ .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-fazkooRvCsQ1RxaJ .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-fazkooRvCsQ1RxaJ .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-fazkooRvCsQ1RxaJ .cluster text{fill:#333;}#mermaid-svg-fazkooRvCsQ1RxaJ .cluster span{color:#333;}#mermaid-svg-fazkooRvCsQ1RxaJ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-fazkooRvCsQ1RxaJ .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-fazkooRvCsQ1RxaJ rect.text{fill:none;stroke-width:0;}#mermaid-svg-fazkooRvCsQ1RxaJ .icon-shape,#mermaid-svg-fazkooRvCsQ1RxaJ .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-fazkooRvCsQ1RxaJ .icon-shape p,#mermaid-svg-fazkooRvCsQ1RxaJ .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-fazkooRvCsQ1RxaJ .icon-shape .label rect,#mermaid-svg-fazkooRvCsQ1RxaJ .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-fazkooRvCsQ1RxaJ .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-fazkooRvCsQ1RxaJ .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-fazkooRvCsQ1RxaJ :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 按执行方式
编译型
解释型
混合型
C, C++
Python, JavaScript
Java, C#

(二)编译型语言

编译型语言通过编译器将源代码一次性编译为机器码。

编译型语言特点

特点 说明
编译执行 一次性编译
执行效率高 执行速度快
跨平台差 依赖具体平台
开发周期长 需要编译

编译过程
#mermaid-svg-plU0FKkB9IViG8nf{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-plU0FKkB9IViG8nf .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-plU0FKkB9IViG8nf .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-plU0FKkB9IViG8nf .error-icon{fill:#552222;}#mermaid-svg-plU0FKkB9IViG8nf .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-plU0FKkB9IViG8nf .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-plU0FKkB9IViG8nf .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-plU0FKkB9IViG8nf .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-plU0FKkB9IViG8nf .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-plU0FKkB9IViG8nf .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-plU0FKkB9IViG8nf .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-plU0FKkB9IViG8nf .marker{fill:#333333;stroke:#333333;}#mermaid-svg-plU0FKkB9IViG8nf .marker.cross{stroke:#333333;}#mermaid-svg-plU0FKkB9IViG8nf svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-plU0FKkB9IViG8nf p{margin:0;}#mermaid-svg-plU0FKkB9IViG8nf .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-plU0FKkB9IViG8nf .cluster-label text{fill:#333;}#mermaid-svg-plU0FKkB9IViG8nf .cluster-label span{color:#333;}#mermaid-svg-plU0FKkB9IViG8nf .cluster-label span p{background-color:transparent;}#mermaid-svg-plU0FKkB9IViG8nf .label text,#mermaid-svg-plU0FKkB9IViG8nf span{fill:#333;color:#333;}#mermaid-svg-plU0FKkB9IViG8nf .node rect,#mermaid-svg-plU0FKkB9IViG8nf .node circle,#mermaid-svg-plU0FKkB9IViG8nf .node ellipse,#mermaid-svg-plU0FKkB9IViG8nf .node polygon,#mermaid-svg-plU0FKkB9IViG8nf .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-plU0FKkB9IViG8nf .rough-node .label text,#mermaid-svg-plU0FKkB9IViG8nf .node .label text,#mermaid-svg-plU0FKkB9IViG8nf .image-shape .label,#mermaid-svg-plU0FKkB9IViG8nf .icon-shape .label{text-anchor:middle;}#mermaid-svg-plU0FKkB9IViG8nf .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-plU0FKkB9IViG8nf .rough-node .label,#mermaid-svg-plU0FKkB9IViG8nf .node .label,#mermaid-svg-plU0FKkB9IViG8nf .image-shape .label,#mermaid-svg-plU0FKkB9IViG8nf .icon-shape .label{text-align:center;}#mermaid-svg-plU0FKkB9IViG8nf .node.clickable{cursor:pointer;}#mermaid-svg-plU0FKkB9IViG8nf .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-plU0FKkB9IViG8nf .arrowheadPath{fill:#333333;}#mermaid-svg-plU0FKkB9IViG8nf .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-plU0FKkB9IViG8nf .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-plU0FKkB9IViG8nf .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-plU0FKkB9IViG8nf .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-plU0FKkB9IViG8nf .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-plU0FKkB9IViG8nf .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-plU0FKkB9IViG8nf .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-plU0FKkB9IViG8nf .cluster text{fill:#333;}#mermaid-svg-plU0FKkB9IViG8nf .cluster span{color:#333;}#mermaid-svg-plU0FKkB9IViG8nf div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-plU0FKkB9IViG8nf .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-plU0FKkB9IViG8nf rect.text{fill:none;stroke-width:0;}#mermaid-svg-plU0FKkB9IViG8nf .icon-shape,#mermaid-svg-plU0FKkB9IViG8nf .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-plU0FKkB9IViG8nf .icon-shape p,#mermaid-svg-plU0FKkB9IViG8nf .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-plU0FKkB9IViG8nf .icon-shape .label rect,#mermaid-svg-plU0FKkB9IViG8nf .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-plU0FKkB9IViG8nf .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-plU0FKkB9IViG8nf .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-plU0FKkB9IViG8nf :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 源代码
编译器
目标代码
链接器
可执行文件
执行

编译型语言示例

c 复制代码
/* C语言 - 编译型 */
#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}

/* 编译过程:
 * gcc hello.c -o hello
 * ./hello
 */

(三)解释型语言

解释型语言通过解释器逐行解释执行。

解释型语言特点

特点 说明
解释执行 逐行解释
跨平台好 不依赖平台
执行效率低 执行速度慢
开发周期短 无需编译

解释过程
#mermaid-svg-DFFFB2ns7gzh7s22{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-DFFFB2ns7gzh7s22 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-DFFFB2ns7gzh7s22 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-DFFFB2ns7gzh7s22 .error-icon{fill:#552222;}#mermaid-svg-DFFFB2ns7gzh7s22 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-DFFFB2ns7gzh7s22 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-DFFFB2ns7gzh7s22 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-DFFFB2ns7gzh7s22 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-DFFFB2ns7gzh7s22 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-DFFFB2ns7gzh7s22 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-DFFFB2ns7gzh7s22 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-DFFFB2ns7gzh7s22 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-DFFFB2ns7gzh7s22 .marker.cross{stroke:#333333;}#mermaid-svg-DFFFB2ns7gzh7s22 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-DFFFB2ns7gzh7s22 p{margin:0;}#mermaid-svg-DFFFB2ns7gzh7s22 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-DFFFB2ns7gzh7s22 .cluster-label text{fill:#333;}#mermaid-svg-DFFFB2ns7gzh7s22 .cluster-label span{color:#333;}#mermaid-svg-DFFFB2ns7gzh7s22 .cluster-label span p{background-color:transparent;}#mermaid-svg-DFFFB2ns7gzh7s22 .label text,#mermaid-svg-DFFFB2ns7gzh7s22 span{fill:#333;color:#333;}#mermaid-svg-DFFFB2ns7gzh7s22 .node rect,#mermaid-svg-DFFFB2ns7gzh7s22 .node circle,#mermaid-svg-DFFFB2ns7gzh7s22 .node ellipse,#mermaid-svg-DFFFB2ns7gzh7s22 .node polygon,#mermaid-svg-DFFFB2ns7gzh7s22 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-DFFFB2ns7gzh7s22 .rough-node .label text,#mermaid-svg-DFFFB2ns7gzh7s22 .node .label text,#mermaid-svg-DFFFB2ns7gzh7s22 .image-shape .label,#mermaid-svg-DFFFB2ns7gzh7s22 .icon-shape .label{text-anchor:middle;}#mermaid-svg-DFFFB2ns7gzh7s22 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-DFFFB2ns7gzh7s22 .rough-node .label,#mermaid-svg-DFFFB2ns7gzh7s22 .node .label,#mermaid-svg-DFFFB2ns7gzh7s22 .image-shape .label,#mermaid-svg-DFFFB2ns7gzh7s22 .icon-shape .label{text-align:center;}#mermaid-svg-DFFFB2ns7gzh7s22 .node.clickable{cursor:pointer;}#mermaid-svg-DFFFB2ns7gzh7s22 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-DFFFB2ns7gzh7s22 .arrowheadPath{fill:#333333;}#mermaid-svg-DFFFB2ns7gzh7s22 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-DFFFB2ns7gzh7s22 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-DFFFB2ns7gzh7s22 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-DFFFB2ns7gzh7s22 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-DFFFB2ns7gzh7s22 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-DFFFB2ns7gzh7s22 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-DFFFB2ns7gzh7s22 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-DFFFB2ns7gzh7s22 .cluster text{fill:#333;}#mermaid-svg-DFFFB2ns7gzh7s22 .cluster span{color:#333;}#mermaid-svg-DFFFB2ns7gzh7s22 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-DFFFB2ns7gzh7s22 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-DFFFB2ns7gzh7s22 rect.text{fill:none;stroke-width:0;}#mermaid-svg-DFFFB2ns7gzh7s22 .icon-shape,#mermaid-svg-DFFFB2ns7gzh7s22 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-DFFFB2ns7gzh7s22 .icon-shape p,#mermaid-svg-DFFFB2ns7gzh7s22 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-DFFFB2ns7gzh7s22 .icon-shape .label rect,#mermaid-svg-DFFFB2ns7gzh7s22 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-DFFFB2ns7gzh7s22 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-DFFFB2ns7gzh7s22 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-DFFFB2ns7gzh7s22 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 源代码
解释器
逐行执行

解释型语言示例

python 复制代码
# Python - 解释型
print("Hello, World!")

# 执行过程:
# python hello.py

(四)混合型语言

混合型语言结合编译和解释的特点。

混合型语言特点

特点 说明
先编译后解释 编译为中间码
跨平台好 虚拟机执行
效率较高 接近编译型

执行过程
#mermaid-svg-l1efOFEgmLV9rcgE{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-l1efOFEgmLV9rcgE .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-l1efOFEgmLV9rcgE .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-l1efOFEgmLV9rcgE .error-icon{fill:#552222;}#mermaid-svg-l1efOFEgmLV9rcgE .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-l1efOFEgmLV9rcgE .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-l1efOFEgmLV9rcgE .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-l1efOFEgmLV9rcgE .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-l1efOFEgmLV9rcgE .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-l1efOFEgmLV9rcgE .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-l1efOFEgmLV9rcgE .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-l1efOFEgmLV9rcgE .marker{fill:#333333;stroke:#333333;}#mermaid-svg-l1efOFEgmLV9rcgE .marker.cross{stroke:#333333;}#mermaid-svg-l1efOFEgmLV9rcgE svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-l1efOFEgmLV9rcgE p{margin:0;}#mermaid-svg-l1efOFEgmLV9rcgE .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-l1efOFEgmLV9rcgE .cluster-label text{fill:#333;}#mermaid-svg-l1efOFEgmLV9rcgE .cluster-label span{color:#333;}#mermaid-svg-l1efOFEgmLV9rcgE .cluster-label span p{background-color:transparent;}#mermaid-svg-l1efOFEgmLV9rcgE .label text,#mermaid-svg-l1efOFEgmLV9rcgE span{fill:#333;color:#333;}#mermaid-svg-l1efOFEgmLV9rcgE .node rect,#mermaid-svg-l1efOFEgmLV9rcgE .node circle,#mermaid-svg-l1efOFEgmLV9rcgE .node ellipse,#mermaid-svg-l1efOFEgmLV9rcgE .node polygon,#mermaid-svg-l1efOFEgmLV9rcgE .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-l1efOFEgmLV9rcgE .rough-node .label text,#mermaid-svg-l1efOFEgmLV9rcgE .node .label text,#mermaid-svg-l1efOFEgmLV9rcgE .image-shape .label,#mermaid-svg-l1efOFEgmLV9rcgE .icon-shape .label{text-anchor:middle;}#mermaid-svg-l1efOFEgmLV9rcgE .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-l1efOFEgmLV9rcgE .rough-node .label,#mermaid-svg-l1efOFEgmLV9rcgE .node .label,#mermaid-svg-l1efOFEgmLV9rcgE .image-shape .label,#mermaid-svg-l1efOFEgmLV9rcgE .icon-shape .label{text-align:center;}#mermaid-svg-l1efOFEgmLV9rcgE .node.clickable{cursor:pointer;}#mermaid-svg-l1efOFEgmLV9rcgE .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-l1efOFEgmLV9rcgE .arrowheadPath{fill:#333333;}#mermaid-svg-l1efOFEgmLV9rcgE .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-l1efOFEgmLV9rcgE .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-l1efOFEgmLV9rcgE .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-l1efOFEgmLV9rcgE .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-l1efOFEgmLV9rcgE .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-l1efOFEgmLV9rcgE .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-l1efOFEgmLV9rcgE .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-l1efOFEgmLV9rcgE .cluster text{fill:#333;}#mermaid-svg-l1efOFEgmLV9rcgE .cluster span{color:#333;}#mermaid-svg-l1efOFEgmLV9rcgE div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-l1efOFEgmLV9rcgE .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-l1efOFEgmLV9rcgE rect.text{fill:none;stroke-width:0;}#mermaid-svg-l1efOFEgmLV9rcgE .icon-shape,#mermaid-svg-l1efOFEgmLV9rcgE .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-l1efOFEgmLV9rcgE .icon-shape p,#mermaid-svg-l1efOFEgmLV9rcgE .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-l1efOFEgmLV9rcgE .icon-shape .label rect,#mermaid-svg-l1efOFEgmLV9rcgE .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-l1efOFEgmLV9rcgE .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-l1efOFEgmLV9rcgE .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-l1efOFEgmLV9rcgE :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 源代码
编译器
字节码
虚拟机
执行

混合型语言示例

java 复制代码
// Java - 混合型
public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

// 执行过程:
// javac Hello.java    // 编译为字节码
// java Hello          // JVM解释执行

📊 五、按应用领域分类

(一)分类概览

按应用领域分类
#mermaid-svg-kcxaarxoIWyNHdve{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-kcxaarxoIWyNHdve .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-kcxaarxoIWyNHdve .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-kcxaarxoIWyNHdve .error-icon{fill:#552222;}#mermaid-svg-kcxaarxoIWyNHdve .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-kcxaarxoIWyNHdve .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-kcxaarxoIWyNHdve .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-kcxaarxoIWyNHdve .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-kcxaarxoIWyNHdve .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-kcxaarxoIWyNHdve .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-kcxaarxoIWyNHdve .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-kcxaarxoIWyNHdve .marker{fill:#333333;stroke:#333333;}#mermaid-svg-kcxaarxoIWyNHdve .marker.cross{stroke:#333333;}#mermaid-svg-kcxaarxoIWyNHdve svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-kcxaarxoIWyNHdve p{margin:0;}#mermaid-svg-kcxaarxoIWyNHdve .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-kcxaarxoIWyNHdve .cluster-label text{fill:#333;}#mermaid-svg-kcxaarxoIWyNHdve .cluster-label span{color:#333;}#mermaid-svg-kcxaarxoIWyNHdve .cluster-label span p{background-color:transparent;}#mermaid-svg-kcxaarxoIWyNHdve .label text,#mermaid-svg-kcxaarxoIWyNHdve span{fill:#333;color:#333;}#mermaid-svg-kcxaarxoIWyNHdve .node rect,#mermaid-svg-kcxaarxoIWyNHdve .node circle,#mermaid-svg-kcxaarxoIWyNHdve .node ellipse,#mermaid-svg-kcxaarxoIWyNHdve .node polygon,#mermaid-svg-kcxaarxoIWyNHdve .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-kcxaarxoIWyNHdve .rough-node .label text,#mermaid-svg-kcxaarxoIWyNHdve .node .label text,#mermaid-svg-kcxaarxoIWyNHdve .image-shape .label,#mermaid-svg-kcxaarxoIWyNHdve .icon-shape .label{text-anchor:middle;}#mermaid-svg-kcxaarxoIWyNHdve .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-kcxaarxoIWyNHdve .rough-node .label,#mermaid-svg-kcxaarxoIWyNHdve .node .label,#mermaid-svg-kcxaarxoIWyNHdve .image-shape .label,#mermaid-svg-kcxaarxoIWyNHdve .icon-shape .label{text-align:center;}#mermaid-svg-kcxaarxoIWyNHdve .node.clickable{cursor:pointer;}#mermaid-svg-kcxaarxoIWyNHdve .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-kcxaarxoIWyNHdve .arrowheadPath{fill:#333333;}#mermaid-svg-kcxaarxoIWyNHdve .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-kcxaarxoIWyNHdve .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-kcxaarxoIWyNHdve .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-kcxaarxoIWyNHdve .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-kcxaarxoIWyNHdve .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-kcxaarxoIWyNHdve .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-kcxaarxoIWyNHdve .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-kcxaarxoIWyNHdve .cluster text{fill:#333;}#mermaid-svg-kcxaarxoIWyNHdve .cluster span{color:#333;}#mermaid-svg-kcxaarxoIWyNHdve div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-kcxaarxoIWyNHdve .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-kcxaarxoIWyNHdve rect.text{fill:none;stroke-width:0;}#mermaid-svg-kcxaarxoIWyNHdve .icon-shape,#mermaid-svg-kcxaarxoIWyNHdve .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-kcxaarxoIWyNHdve .icon-shape p,#mermaid-svg-kcxaarxoIWyNHdve .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-kcxaarxoIWyNHdve .icon-shape .label rect,#mermaid-svg-kcxaarxoIWyNHdve .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-kcxaarxoIWyNHdve .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-kcxaarxoIWyNHdve .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-kcxaarxoIWyNHdve :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 按应用领域
系统级语言
应用级语言
科学计算语言
Web开发语言
数据库语言
C, Assembly
Java, C#
FORTRAN, MATLAB
JavaScript, PHP
SQL

(二)系统级语言

系统级语言用于开发系统软件。

系统级语言特点

特点 说明
接近硬件 可以直接操作硬件
效率高 执行效率高
功能强大 功能全面

系统级语言

语言 用途
C 操作系统、编译器
C++ 系统软件、游戏
Assembly 底层开发
Rust 系统编程

(三)应用级语言

应用级语言用于开发应用软件。

应用级语言特点

特点 说明
抽象程度高 高级抽象
开发效率高 快速开发
可移植性好 跨平台

应用级语言

语言 用途
Java 企业应用、Android
C# Windows应用
Python 通用应用
Swift iOS应用

(四)科学计算语言

科学计算语言用于科学计算和数据分析。

科学计算语言特点

特点 说明
数值计算 强大的数值计算
数据处理 数据处理能力
可视化 数据可视化

科学计算语言

语言 用途
FORTRAN 科学计算
MATLAB 工程计算
R 统计分析
Python 数据科学

(五)Web开发语言

Web开发语言用于Web应用开发。

Web开发语言特点

特点 说明
网络通信 支持网络通信
动态内容 生成动态内容
跨平台 跨平台运行

Web开发语言

语言 用途
JavaScript 前端开发
PHP 后端开发
Python Web后端
Ruby Web后端

(六)数据库语言

数据库语言用于数据库操作。

数据库语言特点

特点 说明
数据操作 操作数据库
声明式 声明式查询
标准化 标准统一

数据库语言

语言 用途
SQL 关系数据库
PL/SQL Oracle扩展
T-SQL SQL Server扩展
MongoDB Query 文档数据库

📝 六、各类语言比较

(一)语言比较表

语言比较

语言 范式 执行方式 类型系统 应用领域
C 过程式 编译 静态 系统编程
C++ 多范式 编译 静态 通用编程
Java 面向对象 混合 静态 企业应用
Python 多范式 解释 动态 通用编程
JavaScript 多范式 解释 动态 Web开发
Haskell 函数式 编译 静态 学术研究
Prolog 逻辑式 解释 动态 人工智能
SQL 声明式 解释 - 数据库

(二)语言选择原则

语言选择原则

原则 说明
项目需求 根据项目需求选择
团队技能 考虑团队技能
性能要求 考虑性能要求
开发效率 考虑开发效率
生态系统 考虑生态系统

📝 总结

程序设计语言可以从多个维度进行分类。

🎯 按发展历史分类

  • 机器语言:二进制代码,直接执行
  • 汇编语言:助记符,需汇编
  • 高级语言:接近自然语言,需编译或解释

💡 按编程范式分类

  • 过程式:以过程为中心(C、Pascal)
  • 面向对象:以对象为中心(Java、C++)
  • 函数式:以函数为中心(Haskell、Lisp)
  • 逻辑式:基于逻辑(Prolog)
  • 脚本式:解释执行(Python、JavaScript)

📦 按执行方式分类

  • 编译型:一次性编译(C、C++)
  • 解释型:逐行解释(Python、JavaScript)
  • 混合型:先编译后解释(Java、C#)

🌐 按应用领域分类

  • 系统级:系统软件(C、Assembly)
  • 应用级:应用软件(Java、C#)
  • 科学计算:科学计算(FORTRAN、MATLAB)
  • Web开发:Web应用(JavaScript、PHP)
  • 数据库:数据库操作(SQL)

核心启示:程序设计语言的分类帮助我们理解不同语言的特点和适用场景。没有最好的语言,只有最适合的语言。在实际工作中,我们需要注意:第一,根据项目需求选择合适的语言;第二,了解不同语言的特点和优势;第三,掌握多种语言,提高编程能力;第四,关注语言的发展趋势;第五,注重编程思想,而非具体语言。记住:语言只是工具,思想才是核心。


相关推荐
老郑聊AI业财智造2 小时前
数据不搬家,也能做检索:Milvus的“湖原生”架构革命
人工智能·ai·架构·软件工程·软件构建·milvus
梁辰兴6 小时前
软件工程:系统设计
软件工程·设计原则·系统设计·设计工具·设计方法·梁辰兴·设计阶段
深念Y21 小时前
约束工程:如何让 AI 没法跑偏
人工智能·ai·软件工程·codex·opencode·ccsiwtch
老郑聊AI业财智造1 天前
给大模型装上“金融之眼”:Kronos-Report的量化预测架构与技术全景剖析
人工智能·python·深度学习·语言模型·金融·架构·软件工程
梁辰兴2 天前
软件工程:UML 的表示法
软件工程·uml·梁辰兴·uml的表示法·类图表示法·对象图表示法·用例图表示法
电子科技圈2 天前
IAR与东软睿驰达成战略合作,强化软件开发效率与生态协作
设计模式·开源·软件工程·软件构建·代码规范·设计规范·代码复审
皮卡丘不断更2 天前
Vibe Coding 有了接口原型后:用智能体做一份联调差异单
软件工程·智能体·vibe coding·接口联调
Dola_Zou2 天前
深入拆解 CmActLicense: 工业级“软授权”的架构设计与安全实践
安全·软件工程·软件加密
帅次3 天前
Git 常用命令汇总
git·软件工程·开发工具·版本控制·git教程·代码管理·git命令