编译器-FORTRAN(公式翻译)语言,第一个全球正式推广的高级语言,Pascal(帕斯卡)它可称为第一个结构化程序设计语言,Pascal基于ALGOL编程语言,ALGOL是算法语言(ALGOrithmic Language)的简称,是在计算机发展史上首批清晰定义的高级语言,由欧美计算机学家合力所组成的联席大会于仍是晶体管计算机流行的1950年代所开发。

国际计算机学会(ACM)将ALGOL模式列为算法描述的标准,启发ALGOL类现代语言Pascal、Ada、C语言等出现。由于ALGOL语句和普通语言表达式接近,更适于数值计算,所以ALGOL多用于科学计算机

1958年5月27日至6月1日,GAMM和ACM各有4人出席在苏黎世举行第一次设计会议,为新语言定下目标。亦因应语言特性,先被命名为国际代数语言(International Algebraic Language,IAL) ,转辗后定名为ALGOL,即算法语言

代数(algebra)导源于阿拉伯语单字“al-jabr”,其出自 al-Kitāb al-muḫtaṣar fī ḥisāb al-ğabr wa-l-muqābala这本书的书名上,意指移项和合并同类项之计算的摘要,其为波斯回教数学家花拉子米于820年所著。Al-Jabr此词的意思为“重聚”。

编译器   百度百科

锁定

本词条由“科普中国”科学百科词条编写与应用工作项目 审核 。

简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)

高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。源代码一般为高级语言 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。

对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。

中文名

编译器

外文名

Compiler

别    称

译码器

表达式

源代码→预处理器 → 编译器 → 目标代码

提出者

葛丽丝·霍普

提出时间

20世纪50年代末

应用学科

计算机

适用领域范围

计算机,单片机,编程语言

目录

  1. 1 工作原理
  2. 2 种类
  3. ▪ 处理器
  4. ▪ 前端
  1. ▪ 后端
  2. 3 代码分析
  3. 4 工作方法
  4. 5 编译器优化
  1. 6 进行对比
  2. 7 历史

工作原理

编译 [1]  是从源代码(通常为高级语言)到能直接被计算机

编译器

或虚拟机执行的目标代码(通常为低级语言或机器语言)的翻译过程。然而,也存在从低级语言到高级语言的编译器,这类编译器中用来从由高级语言生成的低级语言代码重新生成高级语言代码的又被叫做反编译器。也有从一种高级语言生成另一种高级语言的编译器,或者生成一种需要进一步处理的的中间代码的编译器(又叫级联)。

典型的编译器输出是由包含入口点的名字和地址, 以及外部调用(到不在这个目标文件中的函数调用)的机器代码所组成的目标文件。一组目标文件,不必是同一编译器产生,但使用的编译器必需采用同样的输出格式,可以链接在一起并生成可以由用户直接执行的EXE,

所以我们电脑上的文件都是经过编译后的文件。

种类

编译

编译器

器可以生成用来在与编译器本身所在的计算机和操作系统(平台)相同的环境下运行的目标代码,这种编译器又叫做“本地”编译器。另外,编译器也可以生成用来在其它平台上运行的目标代码,这种编译器又叫做交叉编译器。交叉编译器在生成新的硬件平台时非常有用。“源码到源码编译器”是指用一种高级语言作为输入,输出也是高级语言的编译器。例如: 自动并行化编译器经常采用一种高级语言作为输入,转换其中的代码,并用并行代码注释对它进行注释(如OpenMP)或者用语言构造进行注释(如FORTRAN的DOALL指令)。

处理器

作用是通过代入预定义等程序段将源程序补充完整。

前端

前端主要负责解析(parse)输入的源代码,由语法分析器和语

title

意分析器协同工作。语法分析器负责把源代码中的‘单词’(Token)找出来,语意分析器把这些分散的单词按预先定义好的语法组装成有意义的表达式,语句 ,函数等等。 例如“a = b + c;”前端语法分析器看到的是“a, =, b , +, c;”,语意分析器按定义的语法,先把他们组装成表达式“b + c”,再组装成“a = b + c”的语句。 前端还负责语义(semantic checking)的检查,例如检测参与运算的变量是否是同一类型的,简单的错误处理。最终的结果常常是一个抽象的语法树(abstract syntax tree,或 AST),这样后端可以在此基础上进一步优化,处理。

后端

编译器后端主要负责分析,优化中间代码(Intermediat

e representation)以及生成机器代码(Code Generation)。

一般说来所有的编译器分析,优化,变型都可以分成两大类: 函数内(intraprocedural)还是函数之间(interprocedural)进行。很明显,函数间的分析,优化更准确,但需要更长的时间来完成。

代码分析

编译器

编译器

分析(compiler analysis)的对象是前端生成并传递过来的中间代码,现代的优化型编译器(optimizing compiler)常常用好几种层次的中间代码来表示程序,高层的中间代码(high level IR)接近输入的源程序的格式,与输入语言相关(language dependent),包含更多的全局性的信息,和源程序的结构;中层的中间代码(middle level IR)与输入语言无关,低层的中间代码(Low level IR)与机器语言类似。 不同的分析,优化发生在最适合的那一层中间代码上。

常见的编译分析有函数调用树(call tree),控制流程图(Control flow graph),以及在此基础上的 变量定义-使用,使用-定义链(define-use/use-define or u-d/d-u chain),变量别名分析(alias analysis),指针分析(pointer analysis),数据依赖分析(data dependence analysis)等。

程序分析

编译器

结果是编译器优化(compiler optimization)和程序变形(compiler transformation)的前提条件。常见的优化和变形有:函数内嵌(inlining),无用代码删除(Dead code elimination),标准化循环结构(loop normalization),循环体展开(loop unrolling),循环体合并,分裂(loop fusion,loop fission),数组填充(array padding),等等。 优化和变形的目的是减少代码的长度,提高内存(memory),缓存(cache)的使用率,减少读写磁盘,访问网络数据的频率。更高级的优化甚至可以把序列化的代码(serial code)变成并行运算,多线程的代码(parallelized,multi-threadedcode)。

机器代码的生成是优化变型后的中间代码转换成机器指令的过程。现代编译器主要采用生成汇编代码(assembly code)的策略,而不直接生成二进制的目标代码(binary object code)。即使在代码生成阶段,高级编译器仍然要做很多分析,优化,变形的工作。例如如何分配寄存器(register allocatioin),如何选择合适的机器指令(instruction selection),如何合并几句代码成一句等等。

工作方法

首先编译器进行语法分析,也就是要把那些字符串分离出来。

然后进行语义分析,就是把各个由语法分析分析出的语法单元的意义搞清楚。

最后生成的是目标文件,也称为obj文件。

再经过链接器的链接就可以生成最后的EXE文件了。

有些时候需要把多个文件产生的目标文件进行链接,产生最后的代码。这一过程称为交叉链接。

编译器优化

应用程序之所以复杂, 是由于它们具有处理多种问题以及相关数据集的能力。实际上, 一个复杂的应用程序就象许多不同功能的应用程序“ 粘贴” 在一起。源文件中大部分复杂性来自于处理初始化和问题设置代码。这些文件虽然通常占源文件的很大一部分, 具有很大难度, 但基本上不花费C PU 执行周期。

尽管存在上述情况, 大多数Makefile文件只有一套编译器选项来编译项目中所有的文件。因此, 标准的优化方法只是简单地提升优化选项的强度, 一般从O 2 到O 3。这样一来, 就需要投人大量 精力来调试, 以确定哪些文件不能被优化, 并为这些文件建立特殊的make规则。

一个更简单但更有效的方法是通过一个性能分析器, 来运行最初的代码, 为那些占用了85 一95 % CPU 的源文件生成一个列表。通常情况下, 这些文件大约只占所有文件的1%。如果开发人员立刻为每一个列表中的文件建立其各自的规则, 则会处于更灵活有效的位置。这样一来改变优化只会引起一小部分文件被重新编译。进而,由于时间不会浪费在优化不费时的函数上, 重编译全部文件将会大大地加快。 [2]

进行对比

许多人将高阶程序语言分为两类:编译型语言和直译型语言。然而,实际上,这些语言中的大多数既可用编译型实现也可用直译型实现,分类实际上反映的是那种语言常见的实现方式。(但是,某些直译型语言,很难用编译型实现。比如那些允许 在线代码更改 的直译型语言。)

历史

20世纪5

编译器

0年代,IBM的John Backus带领一个研究小组对FORTRAN语言及其编译器进行开发。但由于当时人们对编译理论了解不多,开发工作变得既复杂又艰苦。与此同时,Noam Chomsky开始了他对自然语言结构的研究。他的发现最终使得编译器的结构异常简单,甚至还带有了一些自动化。Chomsky的研究导致了根据语言文法的难易程度以及识别它们所需要的算法来对语言分类。正如Chomsky架构(Chomsky Hierarchy),它包括了文法的四个层次:0型文法、1型文法、2型文法和3型文法,且其中的每一个都是其前者的特殊情况。2型文法(或上下文无关文法)被证明是程序设计语言中最有用的,而且今天它已代表着程序设计语言结构的标准方式。分析问题(parsing problem,用于上下文无关文法识别的有效算法)的研究是在60年代和70年代,它相当完善的解决了这个问题。它已是编译原理中的一个标准部分。

有限状态自动机(Finite Automation)和正则表达式(Regular Expression)同上下文无关文法紧密相关,它们与Chomsky的3型文法相对应。对它们的研究与Chomsky的研究几乎同时开始,并且引出了表示程序设计语言的单词的符号方式。

人们接着又深化了生成有效目标代码的方法,这就是最初的编译器,它们被一直使用至今。人们通常将其称为优化技术(Optimization Technique),但因其从未真正地得到过被优化了的目标代码而仅仅改进了它的有效性,因此实际上应称作代码改进技术(Code Improvement Technique)。

当分析问题变得好懂起来时,人们就在开发程序上花费了很大的功夫来研究这一部分的编译器自动构造。这些程序最初被称为编译器的编译器(Compiler-compiler),但更确切地应称为分析程序生成器(Parser Generator),这是因为它们仅仅能够自动处理编译的一部分。这些程序中最著名的是Yacc(Yet Another Compiler-compiler),它是由Steve Johnson在1975年为Unix系统编写的。类似的,有限状态自动机的研究也发展了一种称为扫描程序生成器(Scanner Generator)的工具,Lex(与Yacc同时,由Mike Lesk为Unix系统开发)是这其中的佼佼者。

在20世纪70年代后期和80年代早期,大量的项目都贯注于编译器其它部分的生成自动化,这其中就包括了代码生成。这些尝试并未取得多少成功,这大概是因为操作太复杂而人们又对其不甚了解。

编译器设计最近的发展包括:首先,编译器包括了更加复杂算法的应用程序它用于推断或简化程序中的信息;这又与更为复杂的程序设计语言的发展结合在一起。其中典型的有用于函数语言编译的Hindley-Milner类型检查的统一算法。其次,编译器已越来越成为基于窗口的交互开发环境(Interactive Development Environment,IDE)的一部分,它包括了编辑器、连接程序、调试程序以及项目管理程序。这样的IDE标准并没有多少,但是对标准的窗口环境进行开发已成为方向。另一方面,尽管在编译原理领域进行了大量的研究,但是基本的编译器设计原理在近20年中都没有多大的改变,它正迅速地成为计算机科学课程中的中心环节。

在20世纪90年代,作为GNU项目或其它开放源代码项目标一部分,许多免费编译器和编译器开发工具被开发出来。这些工具可用来编译所有的计算机程序语言。它们中的一些项目被认为是高质量的,而且对现代编译理论感兴趣的人可以很容易的得到它们的免费源代码。

大约在1999年,SGI公布了他们的一个工业化的并行化优化编译器Pro64的源代码,后被全世界多个编译器研究小组用来做研究平台,并命名为Open64。Open64的设计结构好,分析优化全面,是编译器高级研究的理想平台。

编译器相关专业术语: [1]    [1]

1.

compiler编译器;编译程序

2.

on-line compiler 连线编译器

3.

precompiler 预编译器

4.

serial compiler 串行编译器

5.

system-specific compiler 特殊系统编译器

6.

Information Presentation Facility Compiler 信息展示设施编译器

7.

Compiler Monitor System 编译器监视系统

BASIC 百度百科

BASIC(Beginners' All-purpose Symbolic Instruction Code,又译培基),意思就是“初学者通用符号指令代码”,是一种设计给初学者使用的程序设计语言。BASIC是一种直译式的编程语言,在完成编写后不须经由编译及连结等手续即可执行,但如果需要单独执行时仍然需要将其建立成执行档。

BASIC是由达特茅斯学院院长、匈牙利人约翰·凯梅尼(John G. Kemeny)与数学系教师托马斯·卡茨(Thomas E. Kurtz)共同研制出来的。1964年BASIC语言正式发布。第一个BASIC程序在1964年5月1日早上4时,由BASIC编译程序进行编译后成功运行 [1]  。1975年,比尔·盖茨把它移植到PC上。

中文名

培基

外文名

Beginners' All-purpose Symbolic Instruction Code

意    思

初学者通用符号指令代码

创作时间

1964年

创始人

JohnG.Kemeny、ThomasE.Kurtz

类    别

计算机语言

目录

  1. 1 发展历程
  2. ▪ 初期阶段
  3. ▪ 微机阶段
  4. ▪ 结构化阶段
  5. ▪ VB阶段
  1. 2 语法规则
  2. ▪ 语句
  3. ▪ 词法
  4. ▪ 代码示例
  5. 3 语言特点
  1. 4 标准要求
  2. 5 影响

发展历程

编辑

初期阶段

创始者 [1]

20世纪60年代中期,美国达特茅斯学院约翰·凯梅尼(J. Kemeny)和托马斯·卡茨(Thomas E. Kurtz)认为,像FORTRAN(世界上最早出现的计算机高级程序设计语言)那样的语言都是为专业人员设计,没有办法普及。于是,他们在简化FORTRAN的基础上,在1964年研制出一种“初学者通用符号指令代码”(Beginner's All-purpose Symbolic Instruction Code),简称BASIC [2]  。

BASIC语言本来是为校园的大学生们创造的高级语言,目的是使大学生容易使用计算机 [3]  。虽然初期的BASIC语言功能弱、语句少,只有14条语句(后来发展到17条语句) [4],但由于BASIC在当时比较容易学习,它很快从校园走向社会,成为初学者学习计算机程序设计的首选语言 [3]  。这个时期的BASIC主要在小型机上使用,以编译方式执行 [4]  。

微机阶段

20世纪70年代,BASIC语言发展成为一种广泛使用的通用语言,也正是这个年代,微型计算机诞生了,做为必备的软件,各种微机上都配备了BASIC语言,例如:Apple BASIC、IBM BASIC(BASICA)等。由于各机型不同,它们对基本BASIC语言的扩展也不相同,导致了同是BASIC语言程序却不能互相兼容的局面(例如各种BASIC语言的绘图语句差别很大),即所谓“方言性”问题 [4]  。

1973年,美国DEC公司的小型机PDP装上了BASIC语言。因为害怕人们难以理解“编译”这一概念,他们研制了BASIC的解释程序,用它代替BASIC的编译程序。至此,BASIC语言可通过编译或解释两种途径将程序翻译成机器指令 [1]  。

1975年,比尔·盖茨创立的Microsoft,并成功的把Basic语言的编译器移植到使用 Intel处理器的ALR计算机中,IBM在1982年选定Microsoft创作PC的操作系统时,也选定了Microsoft的Basic作为其计算机的ROM-Basic [5]  。

结构化阶段

BASIC语言谱系图 [5]

在20世纪80年代中期,美国国家标准化协会(ANSl)根据结构化程序设计的思想,提出了一个新的BASIC标准草案。在此前后,出现了一些结构化的BASIC语言,主要有True BASIC、Quick BASIC、Turbo BASIC等。 [4]

1985年BASIC的两位创始人推出的True BASIC,对BASIC语言作了重大改进和发展,它严格遵循ANSI BASIC,不仅完全适应结构化和模块化程序设计的要求,而且保留了BASIC语言的优点——易学易懂,程序易编易调试,它同时提供了解释工作方式和编译工作方式。他们宣称,True BASIC的出现将开始BASIC的新纪元 [4]  。

1987年Microsoft公司推出的Quick BASIC,它提供了一个开发程序的集成环境,用户在编程序、修改、编译、调试、运行时均可通过菜单进行操作、十分方便;并且与GW-BASIC和BASICA高度兼容,提供了全局变量和局部变量;程序模块化;编译后产生一个可执行文件,提高执行效率 [3]  。

1991年6月,伴随着MS-DOS 5.0的推出,Microsoft公司也同时推出了QBASIC,并作为MS-DOS 5.0的一个组成部分免费提供给用户。QBASIC与Quick BASIC完全兼容,是Quick BASIC的简化版本,除不能编译及减少了初学者暂时用不着的一些调试工具外,它具有Quick BASIC的大部分功能。QBASIC采用先进的解释方式,速度更快,是一种会话式的语言,编写的程序可以立即运行并得到结果 [3]  。

VB阶段

1991年4月,Visual Basic 1.0 for Windows版本发布,这在当时引起了很大的轰动,许多专家把VB的出现当作是软件开发史上的一个具有划时代意义的事件 [6]。Visual BASIC意为“可视的BASIC”,即图形界面的BASIC,它是用于Windows系统开发的应用软件,可以设计出具有良好用户界面的应用程序。Visual BASIC与Quick BASIC兼容,用Quick BASIC编写的程序可以不加修改地运行于Visual BASIC [4]  。

VB 6.0版本界面

1998年6月15日,Microsoft公司推出Visual BASIC的第6版(即6.0版本),之后,又推出Visual Basic 6.0中文版 [4]  。VB 6.0作为Microsoft Visual Studio 6.0工具套件之一,它提供了图形化、ODBC实现整合资料浏览工具平台,提供了与Oracle和SQL Server的数据库链接工具。VB 6.0的Web开发特性可以使得开发人员以更方便、组件式的方法,开发各种HTML和动态HTML的应用程序。这些新特性,使得VB 6.0成为建立可扩展的企业应用开发平台的理想选择 [6]  。Microsoft公司总裁比尔·盖茨宣称:“Visual BASIC是迎接计算机程序设计挑战的最好例子” [4]  。

2001年,VB.NET发布。由于使用了新的核心和特性,很多VB的程序员都要改写程序。2005年11月7日,VB.NET 2005(v8.0)发布。它可以直接设计出Windows XP风格的界面,但是其编写的程序占用内存较多。2010年4月,VB.NET 2010(v10.0)发布 [6]  。

Visual BASIC属于第四代BASIC,第四代BASIC的特点是:提供图形界面取代过去的字符界面,是“for Windows”的软件 [4]  。

语法规则

编辑

语句

一、基本BASIC的17种基本语句

1.赋值(LET)语句
  2.键盘输入(INPUT)语句
  3.读数(READ)语句
  4.置数(DATA)语句【配合读数语句使用,称读数据(READ/DATA)语句】
  5.恢复数据区(RESTORE)语句
  6.无条件转移(GOTO)语句
  7.条件转移(IF~THEN或IF~GOTO)语句
  8.注释(REM)语句
  9.循环说明(FOR)语句
  10.循环终了(NEXT)语句【与循环说明语句合成循环(FOR~NEXT)语句】
  11.暂停(STOP)语句
  12.自定义函数(DEF)语句
  13.转子(GOSUB)语句
  14.返回(RETURN)语句【配合转子语句使用,调用子程序】
  15.数组说明(DIM)语句
  16.打印(PRINT)语句
  17.结束(END)语句 [7]

二、BASIC语言中常用的语句定义符及其含意

LET 让、令 GOTO 转移到 STOP 暂停
IF 如果 THEN DATA 数据
FOR 对于 TO DIM 维数
STEP 步进值 NEXT 下一个 GOSUB 转子
PRINT 打印 INPUT 输入 DEF 定义函数
RESTORE 恢复 END 结束 REM 注释
RETURN 返回 READ    

[7]

词法

一、数的表示方法

BASIC中有数值常数及字符型常数。字符型常数为用引号括起来的一串字符,也称为字符串。引号不是字符串的一部分,仅作为字符串的起止界限。每个字符在机内占一个字节。

在N-BASIC中数值常数分为整型、定点型、浮点型(单精度及双精度)、十六进制常数及八进制常数等。

二、变量的表示方法

变量有数值变量及字符型变量,前者是存放数值的,后者存放字符串。变量的值在程序执行过程中是不断变化的。当程序执行到某处赋予变量新的值就要“冲掉”它原有的值。

三、运算符

1.算术运算符:任一个数学表达式中的算术运算是按优先度进行运算的,相同优先度自左向右顺序作。

2.赋值运算符:用“=”表示赋值时称为赋值运算符, 用它来给数值变量赋数值常数或给字符型变量赋字符型常数。

3.关系运算符(亦称比较算符):关系运算符是用来比较两个表达式的,每个表达式都是算术表达式,在比较时,先算出表达式的值然后比较。用关系运算符也可以比较字符型变量,字符型常数及字符型函数等。

4.布尔运算符(或称逻辑运算符):布尔运算符是对一个或两个表达式进行逻辑运算。

四、标准函数

BASIC语言中配备了一些常用的函数,用户可以自由调用,调用时写好函数名后面加一括号,括号内X的位置写上实在参数就可以了,实在参数可使用常数、变量、表达式或标准函数等。

标准函数

五、运算规则

在算术表达式中运算的优先度可按如下次序:

1.先算括号,由里向外脱括号。
  2.计算标准函数值。 ’
  3.乘幂。
  4.乘或除:自左向右倾序作。 ‘
  5.加或减:自左向右顺序作。

其它的运算优先度按前面算术运算符的排列进行。

六、BASIC表达式

用符合BASIC规定的运算符号将数、变量、函数、数组元素连接起来的复杂运算对象称为BASIC表达式。注意BASIC表达式中每个符号都占一格,所有符号都必须一个接一个写在一横线上,不能出现在右上角或左下角。 [8]

代码示例

以下代码为m与a两数相乘输出结果:

1

2

3

4

5

6

PROGRAM product

LET m = 2                         

LET a = 4                        

LET force = m*a                   

PRINT force

END

[9]

语言特点

编辑

一、BASIC语言比较简单

基本BASIC一共只有17个基本语句,它使用的命令都是用英文表示的,英文的含意和人们日常使用的词意相同。它使用的运算符号和数学中使用的符号类似。因此便于人们理解。

二、BASIC语言是会话式的语言

使用BASIC语言可以通过键盘终端与字符显示器或电传打字机,进行人和计算机的对话。有的微型机当BASIC源程序送入计算机时,计算机能立即检查出词法错误(或拼写错误),并且通过电传机或字符显示器打印出来,用户可以立即在键盘上修正。当修改后的程序运行时,计算机又能查出程序中的语法错误并打印出来,用户可以再次进行修改,直到得到满意的结果。也有的微型机,当BASIC源程序送入计算机后,运行程序时同时检查词法及语法错误,并打印出错误信息。因此对初学者来说,调试BASIC程序是很方便的。另外还可通过一些命令监督和控制程序的运行。

三、BASIC语言有立即执行方式

BASIC语言可直接使用键盘运算,称为立即执行方式。这时计算机相当一台高级计算器。利用它可检查程序运行结果是否正确。

四、BASIC语言是一种小型的算法语言

在BASIC语言中数的范围,简单变量的数目,数组的维数及每维的大小,自定义函数的个数等均有一定限制,因此它的应用范围也受到一定限制。同时,科研、教学及生产中的一般题目用BASIC语言解决也是较方便的。

BASIC语言是国际通用的算法语言,有共同的规定,但每台计算机使用的BASIC语言会有—些差别,特别是不同机型的扩展BASIC差别较大,使用前可查阅说明书 [10]  。

标准要求

编辑

ANSIX3.60-1978 FOR MINIMAL BASIC ANSIX3.60 ANSI X3.60 X3.60

ECMA-55 Minimal BASIC (1978年1月) 已撤回 [11]

ISO6373-1984 Data processing; Programming languages; Minimal BASIC [12]

ANSI INCITS 113-1987 Information Systems - Programming Languages - Modules and Individual Character Input for Full BASIC(信息系统.程序设计语言.全BASIC的模块和个别字符输入) [13]

ECMA-116 BASIC (1986年6月) 已撤回 [11]

ISO/IEC10279-1991 Information technology; programming languages; Full BASIC(信息技术 程序设计语言 全BASIC) [14]

影响

编辑

Basic开启了计算机领域全方位创意探索的大门:一些用户开发了电脑游戏(早期的电脑足球游戏在校园里很受欢迎),另一些计算机项目则关注于自然科学、社会科学和人文科学领域。

计算机热度开始超越达特茅斯学院校园范围。校园所在地的汉诺威高中很快就通过电话线路实现了计算机的远程访问,这也诞生出了第一代的“计算机儿童”。美国东北部的一些学校出现了早期互联网的雏形,他们都可以使用到达特茅斯学院的计算机。

人们对于计算机的热情催生出了分时计算机这个细分市场,一家名为“微软”的公司也由此出现,同时苹果也在第一款计算机中集成了自己开发的Basic编译器,众多版本的Basic语言在全球范围内不断发展 [15]  。

编译器-FORTRAN(公式翻译)语言,第一个全球正式推广的高级语言,Pascal(帕斯卡)可称为第一个结构化程序设计语言Pascal基于ALGOL编程语言BASIC初学者通用符号指令代码17语句微软相关推荐

  1. c语言是非结构化程序设计语言,第章_结构化程序设计基础和C语言的控制结构(fb).ppt...

    第章_结构化程序设计基础和C语言的控制结构(fb).ppt 2.4.2 continue语句 例2-24 编程序实现功能:检测从键盘上输入的以换行符结束的字符流,统计非字母字符的个数. 分析:通过循环 ...

  2. c语言属于结构化程序设计语言,c语言填空题1.结构化程序设计语言的三种基本结构分别是,和.-查字典问答网...

    c语言填空题 1.结构化程序设计语言的三种基本结构分别是,和. 2.C源程序的基本单位是______,一个C源程序中至少应包括一个______. 3.开发一个C程序要经过编辑.__________.连 ...

  3. 是计算机程序设计语言的是,计算机设计语言

    计算机设计语言是编写计算机程序所用的语言,可分为机器语言.汇编语言和高级语言.[1] 中文名 计算机设计语言 外文名 Computer language design 定    义 编写计算机程序的语 ...

  4. 计算机设计语言常用的英语,计算机设计语言

    计算机设计语言是编写计算机程序所用的语言,可分为机器语言.汇编语言和高级语言.[1] 中文名 计算机设计语言 外文名 Computer language design 定    义 编写计算机程序的语 ...

  5. 阿里语言AI技术全球第二;微软云计算副总裁宣布离职;腾讯与中国银行签署协议 | 每日大事件...

    数据智能产业创新服务媒体 --聚焦数智 · 改变商业 01.Gartner:阿里语言AI技术全球第二 7月7日,国际权威研究机构Gartner公布<云AI开发者服务关键能力报告>,阿里语言 ...

  6. 一般编译器错误_[翻译]MLIR:摩尔定律终结的编译器基础结构

    [翻译]MLIR:摩尔定律终结的编译器基础结构 MLIR:A Compiler Infrastructure for the End of Moore's Law 作者:Chris Lattner等 ...

  7. Microsoft Translator:打破语言障碍 拓展全球沟通新机遇

    作者:Olivier Fontana, 微软研究院Microsoft Translator产品战略总监 世界越来越小,全球协作.共同创新已经成为常态.在微软研究院,我们对此尤为感同身受--从北京到雷德 ...

  8. 微软推出新语言Bosque,超越结构化程序设计

    微软近期推出了一款全新的编程语言 Bosque,该语言参考了 TypeScript 的语法与类型,还有 ML 和 Node/JavaScript 的语义. 作者微软计算机科学家 Mark Marron ...

  9. 筹办“萨摩亚峰会全球颂”,创建第一个全球海洋超强智慧岛

    2019独角兽企业重金招聘Python工程师标准>>> 筹办"萨摩亚峰会全球颂",创建第一个全球海洋超强智慧岛          投资一带一路重点国专题报道 海洋 ...

最新文章

  1. python一切皆对象的理解_在 Python 中万物皆对象
  2. Spark SQL(二)之DataSet操作
  3. bat 取得服务列表_解读浩泽净水2018业绩:稳定增长背后的服务深化和科技跃进...
  4. 如何在CentOS 7.x / RHEL 7.x上搭建Docker Private Registry(Docker私有仓库)
  5. js-刮刮卡效果,由jquery-eraser源码改的vue组件
  6. bash 将二进制转换为十进制_用‘栈的思想编写一个十进制转换二进制、八进制或十六进制的程序...
  7. LABJS的使用教程
  8. DB2数据库连接问题:java.lang.NoClassDefFoundError
  9. vue 秒转换为时分秒_三年级数学上册时分秒换算口诀(附重点习题)
  10. Github和Git的基本教程,适合新手
  11. java jsp 文件上传_JSP实现快速上传文件的方法
  12. 计算器linux源码,强悍的C++程序实现计算器的linux源程序(国外英文资料).doc
  13. 个人建站系列步骤流程(四.域名备案)
  14. 如何做一个根据自己的需求做一个完美的商品详情页?
  15. 浅谈尾调用和尾递归(C语言)
  16. matlab 固态 机械_电脑是固态+机械硬盘好??纯固态硬盘好?
  17. python pip在哪个文件夹运行_如何安装python与pip-百度经验
  18. 网络舆情信息工作怎么做的措施及建议
  19. leetcode第六题Z字形变换心得记录
  20. Tomcat 7.0安装与配置

热门文章

  1. UV胶水未完全固化的原因和解决方法
  2. 某音签名算法,弹幕,福袋,红包,粉丝
  3. QCC3040学习笔记:部署mirror tws earbuds例程
  4. [原创]从东汉谋杀案到罗马的灭亡 - 世界历史的蝴蝶效应
  5. golang recover
  6. 嵌入式系统编程之内存操作的注意事项
  7. 舆情项目xpathtest问题
  8. C# .net 利用NPOI插件导出类似简历的word文件
  9. 2014秋C++ 另类习题课
  10. 如何把PDF转换成图片格式