最早的汇编语言编译器用什么语言编写,二进制,随便自举编译(简单自身语言子集编写编译器,编译复杂的自身语言)以及编译器历史
关于最早的汇编语言编译器是用什么语言编写的根据现有资料可以得出以下结论最早的汇编语言编译器通常称为汇编器是‌用机器语言‌编写的。在计算机发展的早期程序员直接使用二进制的机器语言编写程序。为了提高效率人们发明了汇编语言它使用助记符如ADD、MOV来代替难以记忆的二进制指令。然而计算机只能直接执行机器语言因此需要一个程序将汇编语言翻译成机器语言——这就是汇编器。由于当时还没有高级语言或现成的汇编器开发者只能直接用机器语言即由0和1组成的指令来编写第一个汇编器。这个过程极其繁琐但它是实现自动化编程的第一步。一旦这个用机器语言编写的初始汇编器被创建出来后续的汇编器就可以用汇编语言本身来编写了。这个过程被称为“自举”Bootstrapping用一个简单的、基础的工具来构建更强大的工具。例如一个功能有限的汇编器可以用机器语言编写然后用这个汇编器来编译一个功能更完整的、用汇编语言编写的汇编器。因此最早的汇编语言编译器的“起点”是机器语言随后很快过渡到用汇编语言自身来开发和迭代。‌12编译器历史我发现有关编译器历史的资料并不是特别多可以说是比较稀少所以就写了这篇文章记录一下整理的资料。编译器的历史说长也不长说短也不短七八十年左右的历史。wikipediawikipedia-编译器维基百科的编译器历史是比较简短的。早期的计算机软件都是用汇编语言直接编写的这种状况持续了数年。当人们发现为不同类型的中央处理器CPU编写可重用软件的开销要明显高于编写编译器时人们发明了高级编程语言。由于早期的计算机的内存很少当大家实现编译器时遇到了许多技术难题。大约在20世纪50年代末期与机器无关的编程语言被首次提出。随后人们开发了几种实验性质的编译器。第一个编译器是由美国女性计算机科学家葛丽丝·霍普Grace Murray Hopper于1952年为A-0 系统编写的。但是1957年由任职于IBM的美国计算机科学家约翰·巴科斯John Warner Backus领导的FORTRAN则是第一个被实现出具备完整功能的编译器。1960年COBOL成为一种较早的能在多种架构下被编译的语言。高级语言在许多领域流行起来。由于新的编程语言支持的功能越来越多计算机的架构越来越复杂这使得编译器也越来越复杂。早期的编译器是用汇编语言编写的。首个能编译自己源程序的编译器是在1962年由麻省理工学院的Hart和Levin制作的。从20世纪70年代起实现能编译自己源程序的编译器变得越来越可行不过还是用Pascal和C语言来实现编译器更加流行。制作某种语言的第一个能编译器要么需要用其它语言来编写要么就像Hart和Levin制作Lisp编译器那样用解释器来运行编译器。geeksforgeeksgeeksforgeeks.org/history-of-compilergeeksforgeeks的编译器历史要稍微详细一点。为了方便作笔记我也把这个网址搞成了pdf来阅读。梳理一下全文大概有这样的脉络不完全是时间顺序1950s 第一个编译器的诞生——Fortran编译器属于批处理编译器(batch-oriented compiler)↓1960s~1970s 优化编译器(optimizing compiler)和交互式编译器(interactive compiler)。↓1980s~1990s 面向对象编程(object-oriented programming,OOP)兴起促进了编译器的更新换代↓自举编译器(Self-hosting compiler,bootstrapping compiler)编译器和编程语言创造技术发展↓现代编译器可分为即时编译器(just-in-time compiler,JIT compiler)和预先编译器(ahead-of-time compiler, AOT compiler).JIT和AOT可以看作是两种相对的编译策略。在这篇文章中几乎每一小节都提到了编译器升级的意义write more complex and efficient programsmediummedium.com:history-of-compiler-designmedium的这篇文章列出了更多具体的历史事实同时也有清晰的框架结构。First CompilerSelf Hosting CompilersHigh Level Languages for System ProgrammingCompiler ConstructionOptimizing CompilersConclusion在First Compiler中按照时间顺序列出了早期四个compiler第一个编译器1951年Grace Hopper的A-0 system现代意义上的第一个自动代码和编译器1952年Alick Glennie为Mark 1 电脑编写的编译器。第一个完整的编译器1957年由John Backus领导的FORTRAN团队编写的FORTRAN编译器可在多体系结构运行的编译器1960 年COBOL语言编译器在自举编译器Self Hosting Compilers中作者举出了三个代表的作品1951年Corrado Böhm 的博士论文第一次定义了基于它自身语言的编译器1958年Harry Huskey发明世界上第一个自举编译器NELIAC(Navy Electronics Laboratory International ALGOL Compiler)用汇编语言作为bootstrap1962年Tim Hart和Mike Levin为Lisp编写的自举编译器用Lisp解释器作为bootstrap在High Level Languages for SystemProgramming中作者举了一些用于系统编程的高级语言和项目它们推动了编译器真正普及1966年由Martin Richards创造的BCPL (Basic Combined Programming Language) 。它最初是一个编译器的编写工具。1970年CMU团队编写的BLISS (Basic Language for Implementation of System Software)编译器IBM和多方合作的Multics (Multiplexed Information and Computing Service)分时操作系统项目在Compiler Construction编译器构造中作者举出了两个方面的编译器结构单遍与多遍编译器One-pass versus multi-pass compilers这里有一个查到的资料:Single Pass vs Two-Pass (Multi-Pass) Compilers - GeeksforGeeks三阶段编译器结构(Three-stage compiler structure)在Optimizing Compilers中作者列举两种了两种优化器Peephole optimizationCapex COBOL optimizer其他资料编译器的发展历史错综复杂geeksforgeeks和medium的两篇文章大概都是编译器的类别或者说组成方面来组织的而没有以明确的时间线来(这确实有可能办不到因为事物总是循环式上升和波浪式前进的)。还有一些其他的资料编译器的「五个十年」发展史 | 机器之心 (jiqizhixin.com)https://link.springer.com/chapter/10.1007/978-1-4302-0698-9_1https://en.wikipedia.org/wiki/History_of_compiler_construction————————————————版权声明本文为CSDN博主「thinkerhui」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。原文链接https://blog.csdn.net/weixin_43469174/article/details/134231650

相关新闻

最早的C语言编译器,先是B语言以及‌PDP-11汇编语言编写,后来通过自举,也就是简单的C语言子集作为编译器逐步通过其有限子集实现自我构建C语言编译自身C语言

最早的C语言编译器,先是B语言以及‌PDP-11汇编语言编写,后来通过自举,也就是简单的C语言子集作为编译器逐步通过其有限子集实现自我构建C语言编译自身C语言

关于最早的C语言编译器,其诞生与C语言本身的发展紧密相关,并经历了一个从低级语言到“自举”的关键过程。 ‌最初的实现语言‌:世界上第一个C语言编译器并非用C语言本身编写,而是由C语言的前身——‌B语言‌,以及‌PDP…

2026/5/17 4:35:58 阅读更多 →
大模型实习模拟面试:多智能体(Multi-Agent)协作机制深度解析——从角色分工到通信协议的全链路实战

大模型实习模拟面试:多智能体(Multi-Agent)协作机制深度解析——从角色分工到通信协议的全链路实战

大模型实习模拟面试:多智能体(Multi-Agent)协作机制深度解析——从角色分工到通信协议的全链路实战摘要:本文以一场高度仿真的大模型实习生岗位模拟面试为蓝本,聚焦“多智能体(Multi-Agent)系统…

2026/5/17 4:35:58 阅读更多 →
大模型实习模拟面试:长上下文能力崛起,RAG真的会被淘汰吗?——一场关于信息检索与上下文处理的深度思辨

大模型实习模拟面试:长上下文能力崛起,RAG真的会被淘汰吗?——一场关于信息检索与上下文处理的深度思辨

大模型实习模拟面试:长上下文能力崛起,RAG真的会被淘汰吗?——一场关于信息检索与上下文处理的深度思辨导语:随着大语言模型(LLM)上下文窗口不断突破32K、128K甚至百万Token,业界开始热议一个尖…

2026/5/17 4:35:58 阅读更多 →

最新新闻

终极指南:3分钟学会使用ncmdump解锁网易云音乐NCM格式

终极指南:3分钟学会使用ncmdump解锁网易云音乐NCM格式

终极指南:3分钟学会使用ncmdump解锁网易云音乐NCM格式 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否遇到过这种情况:从网易云音乐下载了喜欢的歌曲,却只能在特定应用中播放?NC…

2026/7/5 7:40:12 阅读更多 →
STM32F410RB与MC6470 IMU的高精度姿态控制实现

STM32F410RB与MC6470 IMU的高精度姿态控制实现

1. 项目背景与硬件选型解析在嵌入式系统开发中,精确的运动感知和控制能力是许多应用的核心需求。MC6470作为mCube推出的6自由度惯性测量单元(6DOF IMU),集成了三轴加速度计和三轴磁力计,能够提供完整的空间姿态数据。而STM32F410RB则是STMicr…

2026/7/5 7:34:11 阅读更多 →
MAX9744与PIC18F2455构建高效D类音频放大器方案

MAX9744与PIC18F2455构建高效D类音频放大器方案

1. 项目背景与核心组件解析在DIY音频设备改造和嵌入式音频系统开发中,功率放大器的选型直接影响最终音质表现。MAX9744作为一款高效D类音频功率放大器,搭配PIC18F2455微控制器的灵活控制能力,可以构建出性能优异且可编程的音频放大解决方案。…

2026/7/5 7:34:11 阅读更多 →
STM32与DS28EC20 1-Wire EEPROM嵌入式存储方案实战

STM32与DS28EC20 1-Wire EEPROM嵌入式存储方案实战

1. 项目背景与核心需求 在嵌入式系统开发中,持久化存储用户配置和偏好设置是一个经典需求。无论是工业控制设备、消费电子产品还是物联网终端,都需要在断电后仍能保留关键参数。传统方案如EEPROM或Flash存储各有局限——前者容量小、成本高,后…

2026/7/5 7:34:11 阅读更多 →
AppScan 10.0.1 安装部署全攻略:从证书导入到环境修复的避坑指南

AppScan 10.0.1 安装部署全攻略:从证书导入到环境修复的避坑指南

1. 项目概述:为什么AppScan的安装值得你认真对待如果你是一名安全工程师、渗透测试人员,或者正在负责公司应用系统的安全评估,那么IBM Security AppScan这个名字你一定不陌生。作为一款老牌且功能强大的Web应用动态安全测试(DAST&…

2026/7/5 7:32:10 阅读更多 →
STM32L152RE与25CSM04 EEPROM的高速数据检索优化方案

STM32L152RE与25CSM04 EEPROM的高速数据检索优化方案

1. 项目背景与核心需求在嵌入式系统开发中,数据检索的速度和精度往往成为系统性能的瓶颈。传统方案通常面临两个矛盾:要么使用低速但容量大的存储介质(如SD卡),要么选择高速但容量受限的片上Flash。25CSM04这款4Mb SPI…

2026/7/5 7:30:10 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻