切换导航
简历
工具
演示
查询
导航菜单
服务端
30
前端
114
数据库
82
进阶开发
8
桌面程序
2
QA
15
软件使用
36
规范协议
5
操作系统
11
AI
0
复用资源
6
硬件
0
标签
面试题
笔试题
解决方法
术语和定义
计算机基础知识
C# 面试题
异常错误
待学习
外部链接
.NET Core SDK和运行时安装包
淘宝 NPM 镜像
查询网
Tables Generator线上表格转换工具
引用cdn在线脚本和样式
首页
QA
各类开发语言概述
[TOC] ## 1. 各类开发语言概述 以下是按照编译型、解释型、汇编型等分类方式整理的计算机语言表格,包含各类语言的关键信息: | 语言 | 所属公司/组织 | 创始人/主要推动者 | 语言类型(执行方式) | 出现时间 | 发展过程 | |--------------|-----------------------------|--------------------------------------|----------------------|----------|--------------------------------------------------------------------------| | 机器语言 | 无(硬件相关) | 无(随计算机硬件发展形成) | 机器语言(直接执行) | 1940s | 计算机能直接识别的二进制指令,与硬件架构一一对应,是所有语言的底层基础。 | | x86汇编 | 无(基于x86架构) | 多种语法由不同厂商规范 | 汇编语言(汇编执行) | 1978年 | 机器语言的符号化表示,需通过汇编器转换为机器码,仍用于系统底层和性能优化。 | | ARM汇编 | ARM公司规范 | ARM架构团队 | 汇编语言(汇编执行) | 1985年 | 针对ARM架构设计的汇编语言,广泛应用于移动设备、嵌入式系统,语法与x86差异较大。 | | C | 贝尔实验室(AT&T) | 丹尼斯·里奇(Dennis Ritchie) | 编译型语言 | 1972年 | 需通过编译器(如GCC、Clang)转换为机器码,兼顾开发效率和执行性能,成为系统开发主流。 | | C++ | 无(开源标准) | 比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup) | 编译型语言 | 1983年 | C语言的扩展,增加面向对象特性,保持编译型语言的高性能,广泛用于游戏引擎、大型软件。 | | Go | 谷歌(Google) | 罗伯特·格瑞史莫等 | 编译型语言 | 2009年 | 编译速度快,直接生成机器码,内置并发支持,适合云原生和系统级开发。 | | Rust | 原Mozilla(现Rust基金会) | 格雷格·亨尼西(Graydon Hoare) | 编译型语言 | 2010年 | 通过编译器保证内存安全,无垃圾回收机制,兼顾安全性和性能,用于系统编程。 | | Java | 原Sun(现Oracle) | 詹姆斯·高斯林等 | 混合型(先编译后解释) | 1995年 | 源码编译为字节码,再由JVM解释执行,实现跨平台,企业级应用主流语言。 | | C# | 微软 | 安德斯·海尔斯伯格 | 混合型(.NET环境) | 2000年 | 编译为中间语言(IL),由CLR即时编译(JIT)为机器码,早期仅限Windows,现支持跨平台。 | | Python | Python软件基金会 | 吉多·范罗苏姆 | 解释型语言 | 1991年 | 由解释器逐行执行,无需编译步骤,语法简洁,广泛用于数据分析、AI等领域。 | | JavaScript | 原Netscape(ECMA标准化) | 布兰登·艾奇 | 解释型语言 | 1995年 | 浏览器内置解释器执行,ES标准持续更新,通过Node.js扩展到后端开发。 | | PHP | 无(开源) | 拉斯姆斯·勒多夫 | 解释型语言 | 1994年 | 主要用于Web开发,由服务器端解释器(如PHP-FPM)执行,与HTML混编便捷。 | | Ruby | 无(开源) | 松本行弘 | 解释型语言 | 1995年 | 强调开发效率,语法优雅,Ruby on Rails框架使其在Web开发中广泛应用。 | | Perl | 无(开源) | 拉里·沃尔(Larry Wall) | 解释型语言 | 1987年 | 擅长文本处理和系统管理,语法灵活,曾是Web开发主流,现逐渐被其他语言替代。 | | Lisp | 无(开源) | 约翰·麦卡锡 | 解释型(早期)/混合型 | 1958年 | 最早的函数式语言,早期为解释执行,后期衍生出编译实现版本,影响深远。 | ### 1.1. 分类说明: 1. **机器语言**:直接由0和1组成的指令,计算机可直接执行,与硬件强相关。 2. **汇编语言**:用符号代替机器码,需通过汇编器转换为机器码,仍依赖硬件架构。 3. **编译型语言**:源码通过编译器一次性转换为机器码,执行速度快,跨平台性差(需针对不同平台编译)。 4. **解释型语言**:源码由解释器逐行解析执行,无需编译步骤,跨平台性好,但执行效率较低。 5. **混合型语言**:结合编译和解释特性(如先编译为中间代码,再由虚拟机解释执行),平衡跨平台性和执行效率。 这种分类主要基于语言的执行机制,实际中部分语言可能兼具多种特性(如Java的JIT编译会将热点代码转为机器码,提升效率)。 > 解释型语言**不会直接转换为机器码**,也并非完全跳过“编译”过程,而是采用了与编译型语言不同的执行机制。 > **具体来说**: - **编译型语言**(如C、C++)的流程是:源码 → 编译器 → 直接生成机器码(可执行文件),之后运行时无需重新处理源码,直接执行机器码。 - **解释型语言**(如Python、JavaScript)的流程是:源码 → 解释器 → **逐行解析并执行**(不会生成独立的机器码文件)。 > **但需注意**: 1. 现代解释型语言通常包含“即时编译”(JIT)优化(如JavaScript的V8引擎),会将频繁执行的代码临时编译为机器码以提升效率,但这是运行时的动态行为,并非提前生成完整机器码。 2. 部分解释型语言需要先转换为中间代码(如Python的字节码),再由解释器执行中间代码,这一步可视为“轻量编译”,但仍与编译型语言的全量预编译不同。 > 简言之,解释型语言的核心特征是**边解析边执行**,而非提前将整个源码转换为可独立运行的机器码。
扫一扫手机看
点击排行
windows 文件资源管理器使用
Layui 弹窗open使用说明
SQL Server 中字符串函数使用
C# 使用QQ邮箱代理做邮件接收功能
SQL Server关于apply的两种形式cross apply 和 outer apply
ASP.NET MVC 模型的自定义验证
nvm安装及常用命令
SQL Server 中数据类型转换
SQL Server 中WITH AS短语的使用
IE浏览器下AJAX缓存问题导致数据不更新的解决办法
订阅号