程序入口点名称'main'的起源?

时间:2010-04-21 17:36:37

标签: programming-languages history program-structure

出于好奇,程序入口点名称'main'的起源是什么?

4 个答案:

答案 0 :(得分:3)

在C之前,有IBM的PL / I。在PL / I中,您使用选项声明了一个过程。如果你写了

PROC MUMBLE OPTIONS(MAIN);

告诉编译器MUMBLE过程是主要过程。 PL / I可能已经从其他地方采用了这个惯例,或者C可能已经从PL / I采用了它,或者它可能只是在空中。但它肯定早于C。

(如果有人想知道为什么所有大写字母,当天的IBM关键字不支持小写字符。是的,我在打孔卡上编写程序。这可能就是为什么我对语法有点不稳定;它已经有一段时间了。)

答案 1 :(得分:1)

我很确定它与程序的“主要”功能有关。除此之外的任何事情都不为我所知。

答案 2 :(得分:1)

在Fortran中,主程序是主程序,即使它没有名称。它与子例程和函数的区别在于具有可执行语句(或其他非注释语句)而没有前面的SUBROUTINE或FUNCTION语句。

当后来的语言决定他们希望主例程以其他过程或函数开头时开始,其中一些人以各种方式采用MAIN或main这个词。

正如其他人所指出的那样,帕斯卡的做法不同。 Shell脚本和Perl类似于Fortran。

答案 3 :(得分:0)

我的理解(虽然我找不到确认的参考)是一些早期语言有一个主要程序的概念(第一个可能是Ada),即使你不必将它命名为main() 。

我认为C是实际使用此标记作为名称的第一种语言。如果我没记错的话,C很大程度上取代了没有命名启动程序的Pascal。

从那里它影响了C语言的后续语言,如C ++,Java和C#。

它还影响了文化上没有强制要求这种功能的语言,如Python。