第一个编译器
❶ 请问,编译软件最早是由谁发明出来的
Grave of Grace
后记
Grace Hopper是个非常amazing的人 (常被称为Amazing Grace),崇拜她的人相当多。虽然她的事迹很多,但是还有很多有类似事迹的人并没有像她这样受到众人的崇拜。由其中一点我们可以看出来:从1947年开始 (二战结束后第二年),她获得了第一个荣誉博士学位 (宾州大学),从那以后,她先后被40多所大学授予荣誉博士学位,其中包括芝加哥大学、华盛顿大学、马里兰大学等知名学府。各种妇女社会团体和学术组织都曾授予Grace各种称号和奖励。1991年,布什总统在白宫授予她的“美国国家技术奖” (National Medal of Technology) 是其中的最高奖项,她也是至今惟一获此殊荣的美国女性。她的名言有很多,她自己最喜欢的,也是她最喜欢对所谓的“年轻人”说的 (在她年老时,她所谓的年轻人就是“年龄不到我的一半的人就叫做年轻人”),这句话是:
“A ship in port is safe, but that is not what ships are built for.”
语录
下面Grace的语录中有几句比较有意思的话。
From then on, when anything went wrong with a computer, we said it had bugs in it.
The most dangerous phrase in the language is, “We’ve always done it this way.”
Humans are allergic to change. They love to say, “We’ve always done it this way.” I try to fight that. That’s why I have a clock on my wall that runs counter-clockwise.
Leadership is a two-way street, loyalty up and loyalty down. Respect for one’s superiors; care for one’s crew.
One accurate measurement is worth a thousand expert opinions.
Someday, on the corporate balance sheet, there will be an entry which reads, “Information”; For in most cases, the information is more valuable than the hardware which processes it.
We’re flooding people with information. We need to feed it through a processor. A human must turn information into intelligence or knowledge. We’ve tended to forget that no computer will ever ask a new question.
To me programming is more than an important practical art. It is also a gigantic undertaking in the foundations of knowledge.
They told me computers could only do arithmetic.
In pioneer days they used oxen for heavy pulling, and when one ox couldn’t budge a log, they didn’t try to grow a larger ox. We shouldn’t be trying for bigger computers, but for more systems of computers.
Life was simple before World War II. After that, we had systems.
We went overboard on management and forgot about leadership. It might help if we ran the MBAs out of Washington.
At any given moment, there is always a line representing what your boss will believe. If you step over it, you will not get your budget. Go as close to that line as you can.
I seem to do a lot of retiring.
I handed my passport to the immigration officer, and he looked at it and looked at me and said, “What are you?”
参考
维基网络:
http://en.wikipedia.org/wiki/Grace_Hopper
国立中央大学数学系:
http://li.math.ncu.e.tw/bcc16/pool/3.06.shtml
耶鲁大学计算机系:
http://cs-www.cs.yale.e/homes/tap/Files/hopper-story.html
计算机先驱:
http://202.207.0.245:9001/jisuanjifazhanshi/xianqu/18.htm
This entry was posted in网络3Cand taggedcompiler,debug,Grace Murray Hopper,传记,发明,编译器,起源. Bookmark thepermalink.Post a commentor leave a trackback:Trackback URL.
❷ 是谁发明电脑软件
格雷斯�6�1霍波是杰出的女数学家和计算机语言领域的带头人 1949年,霍波离开哈佛,加盟由第一台电子计算机ENIAC发明人埃克特和莫齐利开办的电脑公司,为第一台储存程序的商业电子计算机UNIVAC编写软件。这期间,她开发出了世界上第一个将高级符号语言转变为机器语言的编译器A—0(1952年),第一个处理数学计算的编译器A—2(1953年),第一个自动翻译英语的数据处理语言的编译器B—0(也叫Flow-Matic.1957年)。这是第一个用于商业数据处理的类似英语的语言。后来以Flow-Matic为基础开发COBOL语言,于1959年问世,它是第一批高级程序设计语言之一,广泛用于大型机和小型机电脑的高级商业程序设计。COBOL文本诞生后,霍波又率先实现了COBOL的第一个编译器,因此,有人把霍波叫做“COBOL之母”。据20世纪80年代初的统计,全美国在运行中的程序有80%是用COBOL语言编写的,由此可见这个语言对计算机应用发展所起的作用。在电脑软件的进展中,格雷斯?霍波女士做出了很大的贡献。她的努力使电脑在商用化和产业化方面取得长足的进步。
❸ 最早的编程软件是怎么来的
最早的没有现在意义上的编译器,是靠打孔器打纸带编程。大型机靠读纸带执行程序。
由于机器语言由0、1组成,难以阅读。所以在机器语言的基础上开发了汇编语言。最早的汇编语言编译器应该是机器语言编写的。一旦第一个汇编语言编译器开发出来以后,以后的版本都可以用汇编语言来编写了。
由于汇编语言还是很难使用,所以开发出高级语言。也可以预见,第一个高级语言编译器是由汇编语言编写的。有了第一个高级语言编译器,以后的高级语言编译器便可以用这个高级语言编译器生成。
也就是说,现在我们使用的C++语言编译器,可以用C++语言来编写。
❹ 第一个编译器是靠什么编出来的
linux自带了gcc编译器,直接使用gcc
test.c命令编译生成a.out可执行文件,或者使用命令gcc
-
o
test
test.c编译生成test可执行文件,这样避免了覆盖前面的a.out,新手就先用自带的练手了,很方便的,我也是刚学的,共勉哈
❺ 电脑发明编程或程序是哪一位
电脑发明编程或程序是哪一位?
英国着名诗人拜伦的女儿Ada Lovelace曾设计了巴贝奇分析机上解伯努利方程的一个程序.她甚至还建立了循环和子程序的概念.由于她在程序设计上的开创性工作,Ada Lovelace被称为世界上第一位程序员.美国国防部开发的ADA语言就是为纪念这位世界上的第一位程序员而命名的.还有一个女的,美国的,也是第一程序员,还是美国海军少将军衔呢.计算机软件的第一夫人--格雷斯?霍波 格雷斯?霍波是杰出的女数学家和计算机语言领域的带头人 1949年,霍波离开哈佛,加盟由第一台电子计算机ENIAC发明人埃克特和莫齐利开办的电脑公司,为第一台储存程序的商业电子计算机UNIVAC编写软件.这期间,她开发出了世界上第一个将高级符号语言转变为机器语言的编译器ADA(1952年),第一个处理数学计算的编译器A?2(1953年),第一个自动翻译英语的数据处理语言的编译器B?O(也叫Flow-Matic.1957年).这是第一个用于商业数据处理的类似英语的语言.后来以Flow-Matic为基础开发COBOL语言,于1959年问世,它是第一批高级程序设计语言之一,广泛用于大型机和小型机电脑的高级商业程序设计.COBOL文本诞生后,霍波又率先实现了COBOL的第一个编译器,因此,有人把霍波叫做“COBOL之母”.据20世纪80年代初的统计,全美国在运行中的程序有80%是用COBOL语言编写的,由此可见这个语言对计算机应用发展所起的作用.在电脑软件的进展中,格雷斯?霍波女士做出了很大的贡献.她的努力使电脑在商用化和产业化方面取得长足的进步.
❻ 电脑软件是谁发明的
格雷斯??霍波是杰出的女数学家和计算机语言领域的带头人
1949年,霍波离开哈佛,加盟由第一台电子计算机eniac发明人埃克特和莫齐利开办的电脑公司,为第一台储存程序的商业电子计算机univac编写软件。这期间,她开发出了世界上第一个将高级符号语言转变为机器语言的编译器a—0(1952年),第一个处理数学计算的编译器a—2(1953年),第一个自动翻译英语的数据处理语言的编译器b—0(也叫flow-matic.1957年)。这是第一个用于商业数据处理的类似英语的语言。后来以flow-matic为基础开发cobol语言,于1959年问世,它是第一批高级程序设计语言之一,广泛用于大型机和小型机电脑的高级商业程序设计。cobol文本诞生后,霍波又率先实现了cobol的第一个编译器,因此,有人把霍波叫做“cobol之母”。据20世纪80年代初的统计,全美国在运行中的程序有80%是用cobol语言编写的,由此可见这个语言对计算机应用发展所起的作用。在电脑软件的进展中,格雷斯?霍波女士做出了很大的贡献。她的努力使电脑在商用化和产业化方面取得长足的进步。
❼ 编译原理的发展历程
在20世纪40年代,由于冯·诺伊曼在存储-程序计算机方面的先锋作用,编写一串代码或程序已成必要,这样计算机就可以执行所需的计算。开始时,这些程序都是用机器语言 (machine language )编写的。机器语言就是表示机器实际操作的数字代码,例如:
C7 06 0000 0002 表示在IBM PC 上使用的Intel 8x86处理器将数字2移至地址0 0 0 0 (16进制)的指令。
但编写这样的代码是十分费时和乏味的,这种代码形式很快就被汇编语言(assembly language )代替了。在汇编语言中,都是以符号形式给出指令和存储地址的。例如,汇编语言指令 MOV X,2 就与前面的机器指令等价(假设符号存储地址X是0 0 0 0 )。汇编程序(assembler )将汇编语言的符号代码和存储地址翻译成与机器语言相对应的数字代码。
汇编语言大大提高了编程的速度和准确度,人们至今仍在使用着它,在编码需要极快的速度和极高的简洁程度时尤为如此。但是,汇编语言也有许多缺点:编写起来也不容易,阅读和理解很难;而且汇编语言的编写严格依赖于特定的机器,所以为一台计算机编写的代码在应用于另一台计算机时必须完全重写。
发展编程技术的下一个重要步骤就是以一个更类似于数学定义或自然语言的简洁形式来编写程序的操作,它应与任何机器都无关,而且也可由一个程序翻译为可执行的代码。例如,前面的汇编语言代码可以写成一个简洁的与机器无关的形式 x = 2。
在1954年至1957年期间,IBM的John Backus带领的一个研究小组对FORTRAN语言及其编译器的开发,使得上面的担忧不必要了。但是,由于当时处理中所涉及到的大多数程序设计语言的翻译并不为人所掌握,所以这个项目的成功也伴随着巨大的辛劳。几乎与此同时,人们也在开发着第一个编译器, Noam Chomsky开始了他的自然语言结构的研究。他的发现最终使得编译器结构异常简单,甚至还带有了一些自动化。Chomsky的研究导致了根据语言文法(grammar ,指定其结构的规则)的难易程度以及识别它们所需的算法来为语言分类。正如现在所称的-与乔姆斯基分类结构(Chomsky hierarchy )一样-包括了文法的4个层次:0型、1型、2型和3型文法,且其中的每一个都是其前者的专门化。2型(或上下文无关文法(context-free grammar ))被证明是程序设计语言中最有用的,而且今天它已代表着程序设计语言结构的标准方式。
分析问题( parsing problem ,用于限定上下文无关语言的识别的有效算法)的研究是在20世纪60年代和70年代,它相当完善地解决了这一问题, 现在它已是编译理论的一个标准部分。它们与乔姆斯基的3型文法相对应。对它们的研究与乔姆斯基的研究几乎同时开始,并且引出了表示程序设计语言的单词(或称为记号)的符号方式。
人们接着又深化了生成有效的目标代码的方法,这就是最初的编译器,它们被一直使用至今。人们通常将其误称为优化技术(optimization technique ),但因其从未真正地得到过被优化了的目标代码而仅仅改进了它的有效性,因此实际上应称作代码改进技术(code improvement technique )。
这些程序最初被称为编译程序-编译器,但更确切地应称为分析程序生成器 (parser generator ),这是因为它们仅仅能够自动处理编译的一部分。这些程序中最着名的是 Yacc (yet another compiler- compiler),它是由Steve Johnson在1975年为Unix系统编写的。
类似地,有穷自动机的研究也发展了另一种称为扫描程序生成器 (scanner generator )的工具,Lex (与Yacc同时,由Mike Lesk为Unix系统开发的)是这其中的佼佼者。在20世纪70年代后期和80年代早期,大量的项目都关注于编译器其他部分的生成自动化,这其中就包括代码生成。这些尝试并未取得多少成功,这大概是因为操作太复杂而人们又对其不甚了解。
编译器设计最近的发展包括:首先,编译器包括了更为复杂的算法的应用程序,它用于推断或简化程序中的信息;这又与更为复杂的程序设计语言(可允许此类分析)的发展结合在一起。其中典型的有用于函数语言编译的Hindle y - Milner类型检查的统一算法。
其次,编译器已越来越成为基于窗口的交互开发环境(interactive development environment,IDE )的一部 分,它包括了编辑器、链接程序、调试程序以及项目管理程序。这样的IDE的标准并没有多少, 但是已沿着这一方向对标准的窗口环境进行开发了。
❽ 编译技术的发展历程
1954年至1957年间,IBM的John Backus带领一个小组开发FORTRAN语言及其编译器,使得上面的担忧不必要了。
但由于当时处理中所涉及到的大多数程序设计语言的翻译并不为人所掌握,所以这个项目的成功也伴随着巨大的辛劳。
几乎与此同时,人们也在开发着第一个编译器,Noam Chomsky开始自然语言结构的研究。使得编译器结构异常简单,甚至还带有了一些自动化。
Chomsky的研究导致了根据语言文法(grammar,结构规则)的难易程度以及识别它们所需的算法来为语言分类。文法有4个层次:0型、1型、2型和3型文法,且其中的每一个都是其前者的专门化。2型(或上下文无关文法context-free grammar)是程序设计语言中最有用的,代表着程序设计语言结构的标准方式。
人们接着又深化了生成有效的目标代码的方法,这就是最初的编译器,它们被一直使用至今。人们通常将其误称为优化技术(optimization technique),但因其从未真正地得到过被优化了的目标代码而仅仅改进了它的有效性,因此实际上应称作代码改进技术(code improvement technique)。
在70年代后期和80年代早期,大量的项目都关注于编译器其他部分的生成自动化,这其中就包括了代码生成。这些尝试并未取得多少成功,这大概是因为操作太复杂而人们又对其不甚了解。
❾ 哪个公司发明了第一个计算机软件
格雷斯•霍波是杰出的女数学家和计算机语言领域的带头人
1949年,霍波离开哈佛,加盟由第一台电子计算机ENIAC发明人埃克特和莫齐利开办的电脑公司,为第一台储存程序的商业电子计算机UNIVAC编写软件。这期间,她开发出了世界上第一个将高级符号语言转变为机器语言的编译器A—0(1952年),第一个处理数学计算的编译器A—2(1953年),第一个自动翻译英语的数据处理语言的编译器B—0(也叫Flow-Matic.1957年)。这是第一个用于商业数据处理的类似英语的语言。后来以Flow-Matic为基础开发COBOL语言,于1959年问世,它是第一批高级程序设计语言之一,广泛用于大型机和小型机电脑的高级商业程序设计。COBOL文本诞生后,霍波又率先实现了COBOL的第一个编译器,因此,有人把霍波叫做“COBOL之母”。据20世纪80年代初的统计,全美国在运行中的程序有80%是用COBOL语言编写的,由此可见这个语言对计算机应用发展所起的作用。在电脑软件的进展中,格雷斯?霍波女士做出了很大的贡献。她的努力使电脑在商用化和产业化方面取得长足的进步。
❿ 世界上第一个编译器是用什么编译器编译出来的
最初的语言 就是01代码
也就是机器语言
是不需要编译的
第一个编译器 就是这样一点点写出来的,是汇编到二进制的编译器
所以 第一个编译器本身不需要编译,直接运行即可。