当前位置: 首页 > news >正文

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;
    }
    

分类维度

  1. 执行方式

    • 编译型(C/C++/Java):源代码→机器码
    • 解释型(JS/Python):源代码→字节码→执行
  2. 类型系统

    • 强类型(Java):int x = "hello"会报错
    • 弱类型(JS):let x = "hello"; x = 5合法
  3. 编程范式

    • 面向过程(C):void openDoor(Door d)
    • 面向对象(Java):d.open()

二、JavaScript深度解析

1. 起源与命名之谜

  • 1995年诞生于Netscape,原名Mocha→LiveScript→JavaScript
  • 命名策略:蹭Java热度(当时Java如日中天)
  • 实际关系:
http://www.xdnf.cn/news/683875.html

相关文章:

  • 数据结构期末模拟试卷
  • app获取相册权限是否意味着所有相片都可随时读取?
  • 智能防护实战:从攻击成本看企业安全降本增效
  • Jpa 删除之@Version注解的实体类无法删除的问题
  • 远程办公如何实现零监控?深度拆解“吱吱”不会被监控的通讯办公软件
  • 在RK3588上实现YOLOv8n高效推理:从模型优化到GPU加速后处理全解析
  • 电机控制杂谈(26)——电机驱动系统的编码器的测速噪声
  • RK3568DAYU开发板-驱动平台驱动案例--PWM
  • 【Linux】(1)—进程概念-①冯诺依曼体系结构
  • 想查看或修改 MinIO 桶的匿名访问权限(public/private/custom)
  • java基础学习(十八)
  • 大模型微调(面经总结)
  • 代码风格指南
  • 聚焦北京央美备考画室:探寻实力之巅
  • 码蹄集——圆周率II、三个非负整数
  • PCB设计自检表
  • 基于心理健康与数字行为数据的多维度分析
  • JAVA运算符详解
  • Oracle向PG转移建议以及注意点
  • 57页 @《人工智能生命体 新启点》中國龍 原创连载
  • IvorySQL 核心技术解读:双 Parser 架构如何定义数据库兼容性?
  • python训练营打卡第36天
  • 竞赛小算法总结(二):gcdlcm,拓展欧几里得线性同余,逆元(含代码详解)
  • AE的ai图层导到Ai
  • spring4第2课-ioc控制反转-依赖注入,是为了解决耦合问题
  • WIN10 安装dify ollama搭建工作流agent
  • 两种主流检索技术:BM25(基于关键词匹配)和向量相似度检索
  • LVGL(Flex布局)
  • Docker修改镜像存放位置
  • qiankun 子应用怎样通过 props拿到子应用【注册之后挂载之前】主应用中发生变更的数据