Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 第一种使用枚举的编程语言是什么?_C_Swift_Enums_Enumeration - Fatal编程技术网

C 第一种使用枚举的编程语言是什么?

C 第一种使用枚举的编程语言是什么?,c,swift,enums,enumeration,C,Swift,Enums,Enumeration,我正在阅读指南中有关Swiftenum,本文比较了Swiftenum和Cenum之间的差异。这使我对枚举最初来自何处感到好奇。在询问之前,我确实在网上搜索过,甚至问过一些人,他们都认为是C(我想我是想确认枚举是否最初来自C) 问题 什么是第一种包含枚举的编程语言?Pascal已经枚举了类型,但没有使用关键字enum。顺便说一句,关键字enum最早是由C使用的,但是这个概念比以前老了很多 有关示例,请参见上的维基百科,例如: 类型 卡片套装=(梅花、钻石、红心、黑桃); 卡片=记录 西服:纸牌西服

我正在阅读指南中有关Swift
enum
,本文比较了Swift
enum
和C
enum
之间的差异。这使我对枚举最初来自何处感到好奇。在询问之前,我确实在网上搜索过,甚至问过一些人,他们都认为是C(我想我是想确认枚举是否最初来自C)

问题


什么是第一种包含枚举的编程语言?

Pascal已经枚举了类型,但没有使用关键字
enum
。顺便说一句,关键字
enum
最早是由C使用的,但是这个概念比以前老了很多

有关示例,请参见上的维基百科,例如:

类型
卡片套装=(梅花、钻石、红心、黑桃);
卡片=记录
西服:纸牌西服;
值:1。。13;
结束;
变量
手牌:卡片的数组[1..13];
特朗普:卡德西特;
我认为帕斯卡语是维基百科页面上列出的最古老的语言。所指的LISP是Common LISP,它晚于Pascal,即使原始LISP早于Pascal

自1970年起,在第6.1.1节“标量类型”中列出了这些类型,因此出于所有实际目的,这些枚举类型始终是Pascal的一部分。请参见网站上的页面。修订后的报告也在那里(1972年),可能是阅读范围更广的文件。当然,你也可以在维基百科上追踪


(可能还有另一种早期的语言具有类似的功能;我没有识别它,但我没有到处寻找。虽然Algol-60不是这样一种语言;Fortran或Cobol也不是。Algol-68和PL/1是可能的竞争者。)

Algol 68没有枚举。PL/I没有枚举。 历史上的Lisp根本没有编译时类型的概念。 Algol W和Simula 67没有枚举。奇怪的是, COBOL不仅是一个可能的竞争者,而且是最有可能的竞争者 一个。不是说它有用户可定义的类型,而是查找 “88级”。Burroughs Algol的宏观设施, SAIL、CORAL 66和RTL/2可用于为数字命名,
这几乎把你带到了C相当糟糕的枚举中。

Pascal已经枚举了类型,但没有使用关键字
enum
。这算吗?顺便说一句,关键字
enum
最早是由C使用的,但是这个概念比以前老了很多。我认为它是这里列出的最古老的语言,其中所指的LISP是Common LISP,它追溯Pascal,尽管原始LISP很容易追溯Pascal。因为这是一个对程序员没有实际用途的历史问题,所以这里可能不讨论这个问题。当人群从Meta下降到它上面时,它正在并且可能会被关闭。这是一个好的、清楚的、可回答的问题,不像这里被问到的许多废话,我当然不会在这上面投我的一票,但这超出了这个SE网站的作用范围(在我看来)。@DanBeaulieu我认为SE网络上没有任何一个网站会讨论这个话题,悲哀地无需删除(尽管您可以这样做,如果您愿意的话)-如果社区认为它不属于它,他们将关闭它。这个问题正在讨论meta Algol68的“标记联合”,其中有一个类似的编译时生成的类型化
枚举
,例如,下面的“case”语句正在询问“标记”<代码>案例f IN(苹果):“苹果”,“香蕉”,“樱桃”,“樱桃”OUT”?“非意大利”ESAC。。。此代码示例来自