1. 编程语言进化史与JavaScript
引言
作为一名开发者,理解编程语言的演进历史和核心特性是至关重要的。接下来将从编程语言的三个历史阶段入手,重点解析JavaScript的起源、特性及其与相关技术的关系,同时补充进制转换的基础知识,为初学者构建完整的知识体系。
一、编程语言的三大历史阶段
1. 机器语言(第一代)
核心特性:
- 直接使用二进制指令(0/1)与硬件交互
- 每个CPU型号有独特指令集
- 示例:
00001000
(加载指令) +00000001
(内存地址)
痛点:
- 开发效率极低(一个简单循环可能需要数百位二进制)
- 完全依赖硬件,无跨平台性
- 调试困难(修改一个指令可能导致整个程序崩溃)
2. 汇编语言(第二代)
核心改进:
- 使用助记符替代二进制(如
MOV AX, 1
) - 引入符号地址(标签)
- 示例:
MOV AX, 5 ; 加载数值5到寄存器AX ADD AX, 3 ; AX = AX + 3
局限性:
- 仍需汇编器转换为机器码
- 指令集与硬件强绑定
- 开发效率较机器语言提升有限
3. 高级语言(第三代)
革命性突破:
- 抽象硬件细节(如C的
for
循环替代汇编的跳转指令) - 引入数据类型(int, float等)
- 示例(C语言):
int sum = 0; for(int i=1; i<=10; i++) {sum += i; }
分类维度:
-
执行方式:
- 编译型(C/C++/Java):源代码→机器码
- 解释型(JS/Python):源代码→字节码→执行
-
类型系统:
- 强类型(Java):
int x = "hello"
会报错 - 弱类型(JS):
let x = "hello"; x = 5
合法
- 强类型(Java):
-
编程范式:
- 面向过程(C):
void openDoor(Door d)
- 面向对象(Java):
d.open()
- 面向过程(C):
二、JavaScript深度解析
1. 起源与命名之谜
- 1995年诞生于Netscape,原名Mocha→LiveScript→JavaScript
- 命名策略:蹭Java热度(当时Java如日中天)
- 实际关系: