Источники имени 'основной' для точки входа программы?

Из любопытства, каковы источники имени 'основной' для точки входа программы?

5
задан ergosys 21 April 2010 в 17:49
поделиться

4 ответа

В Фортране главная программа была главной программой, хотя у нее не было имени. Он отличался от подпрограмм и функций наличием исполняемого оператора (или другого оператора без комментариев) без предшествующего оператора SUBROUTINE или FUNCTION.

Когда более поздние языки решили, что они хотят, чтобы основная процедура начиналась с начальной строки, как и другие процедуры или функции, некоторые из них по-разному приняли слово MAIN или main.

Как заметил кто-то другой, Паскаль сделал это иначе. Скрипты оболочки и Perl напоминают Фортран.

1
ответ дан 14 December 2019 в 19:06
поделиться

Я почти уверен, что это связано с тем фактом, что это «основная» функция программы. Больше мне ничего неизвестно.

1
ответ дан 14 December 2019 в 19:06
поделиться

Насколько я понимаю (хотя мне не удалось найти ссылку для подтверждения), некоторые ранние языки имели понятие основной процедуры (первой могла быть Ада), хотя вам не нужно было называть ее main () .

Я думаю, что C был первым языком, который действительно использовал этот токен в качестве имени. C в значительной степени заменил Паскаль, у которого не было именованной процедуры запуска, если я правильно помню.

Отсюда он повлиял на последующие языки, вдохновленные C, такие как C ++, Java и C #.

Это также повлияло на культурные особенности языков, которые не требуют такой функции, как Python.

0
ответ дан 14 December 2019 в 19:06
поделиться

До C существовала IBM PL / I. В PL / I вы объявили процедуру с опциями. Если вы написали

PROC MUMBLE OPTIONS(MAIN);

, это сообщило компилятору, что процедура MUMBLE была основной процедурой. PL / I мог перенять это соглашение откуда-то еще, или C мог перенять его у PL / I, или, может быть, это просто витало в воздухе. Но это определенно предшествовало C.

(Если кому-то интересно, почему все буквы верхнего регистра, клавиши IBM того дня не поддерживали строчные буквы. Да, я писал программы на перфокартах. Вероятно, поэтому я немного шаткий по синтаксису; это было давно.)

3
ответ дан 14 December 2019 в 19:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: