首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ALGOL曾经被用于“主流”编程吗?

ALGOL曾经被用于“主流”编程吗?
EN

Stack Overflow用户
提问于 2009-09-23 00:23:18
回答 12查看 5.3K关注 0票数 12

我知道ALGOL语言是超级超级的--作为一种非常重要的理论语言,根据维基百科,它也有各种各样的实现。

然而,不清楚的是,ALGOL (纯ALGOL,不是它的任何派生语言,如Simula)是否真的以任何方式用于过任何“真正的”编程?

我所说的“真正”,是指用于编程语言/CS研究以外的几个大型项目,或者被大量的开发人员(比如,>1000人)使用。

就我个人而言,我曾经做过的唯一的ALGOL编程是在纸上,因此好奇心。

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2009-09-27 21:55:21

就重要的应用而言,Algol58似乎是最成功的。

来自维基百科:

JOVIAL是"Jules自己的国际算法语言版本“的首字母缩写。“国际算法语言”最初是为ALGOL 58提出的一个名称。它是由Jules Schwartz于1959年开发的,用于编写军用飞机电子设备的软件。

然后:

使用JOVIAL的

值得注意的系统包括Milstar Communications SatelliteAdvanced Cruise MissileB-52B-1BB-2轰炸机、C-130C-141C-17 C12、C13、C14、C15(在Block 50之前)和C16战斗机、C17、C18飞机、C19飞机、C20飞机、海军C21巡洋舰、陆军多管火箭系统(C22)、陆军C23直升机、C24、C25以及F119 jet enginesNORAD防空和控制系统(休斯HME-5118ME系统)和RL-10火箭发动机。装有JOVIAL嵌入式软件的机载radar系统包括APG-70APG-71APG-73

ALGOL 68在DRA的一部分中也用于同样的目的。请参阅维基百科:

即“Defence Research Agency”(通常称为“”DRA“”),从1991年4月到1995年4月是国防部( UK Ministry of Defence )的一个执行机构。当时,DRA是英国最大的科技组织。

DRA的Algol68编译器终于在1999年4月开源,现在可以从sourceforge获得用于download的linux。(但是,"Algol68g“的解释器更容易使用)。

ICL的Algol68曾经/现在是S3 -它是由英国公司International Computers Limited (ICL)为其2900 Series大型机开发的。它是基于ALGOL 68的system programming language,但其数据类型和运算符与2900系列提供的数据类型和运算符一致。它是操作系统VME的实现语言。

(至少)还有另外两个英国操作系统-- FlexCambridge_CAP_computer --是用Algol68变体编写的。还有一个苏联的OS:Эльбрус-1 (Elbrus-1),但是我还没有找到的源代码的任何。(如果有人可以找到并分发到这个源代码,请让我知道)

顺便说一下:我相信VME仍然是-正在运行的产品--作为Linux/Unixware的客户虚拟机。主要是在Commonwealth of Nations海关/移民局。

同样在同一时期,苏联也在使用Algol68,c.f。history link。Algol68在俄罗斯电话交换机中使用。俄罗斯的“布兰/Буран”(http://en.wikipedia.org/wiki/Buran_(spacecraft%29))航天飞机着陆系统使用了Algol58。

ALGOL68于1968年国际化。我怀疑在其他国家还有其他Algol项目。特别是在德语,荷兰语,日语和中文,但我没有细节。

如果您想实际试用Algol68和/或贡献您的代码,请查看Rosettacode的ALGOL 68 repository,然后作为类项目尝试其中的一个"Tasks not implemented“。

票数 10
EN

Stack Overflow用户

发布于 2011-12-29 00:33:08

没有什么比回复2年前的帖子更好的了。我几乎每天都用ALGOL编程。我是Unisys ClearPath大型机上的一名程序员,大部分系统代码都是用ALGOL或变体编写的。Burroughs B5500实际上是围绕该语言设计的,因此它是一个非常高效的语言/编译过程。当然,这个版本是ALGOL,有一些扩展,比如有限的类(结构块)等。

代码语言:javascript
复制
i := 80;
while i > 0 do
   begin
   scan ptrRay:ptrRay for i:i until in ALPHA;
   scan ptrEnd:ptrRay for i:i while in ALPHA;
   if i > 0 then
      begin
      replace nextToken by ptrRay for (offset(ptrEnd) - offset(ptrRay)); 
      end;
   end;

该代码只扫描ALPHA令牌。它使用OFFSET函数,该函数比自己使用残差计数数学(i,starti等)的开销要高一些;

票数 9
EN

Stack Overflow用户

发布于 2012-07-03 11:19:02

像Tom一样,我几乎每天都用ALGOL编程--而且我也在Unisys Clearpath上。多年来,ALGOL一直是我偿还抵押贷款的主要来源,我已经记不清了。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1463321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档