Додано
Щойно знайшли два пов’язані питання
/programming//a/2582804/156458
У мовах програмування - з Прагматики мови програмування Майкла Скотта
Як правило, значення мови програмування мають статус першого класу, якщо його можна передати як параметр, повернути з підпрограми або призначити в змінну. Прості типи, такі як цілі числа та символи, - це значення першого класу в більшості мов програмування. Навпаки, значення "другого класу" можна передавати як параметр, але не повертати з підпрограми або присвоювати змінній, а значення "третього класу" навіть не можна передавати як параметр.
Мітки - це значення третього класу в більшості мов програмування, але значення другого класу в Algol. Підпрограми відображають найбільшу кількість варіацій. Вони є першими класовими значеннями для всіх функціональних мов програмування та більшості мов скриптів. Вони також є значеннями першого класу в C # і, з деякими обмеженнями, в декількох інших імперативних мовах, включаючи Fortran, Modula-2 і -3, Ada 95, C і C ++. 11 Вони є значеннями другого класу в більшості інших імперативних мов і значення третього класу в Ada 83.
Що є основою математики для значень першого / другого / третього класів у мовах програмування?
Термінологія нагадує мені логіку першого / другого порядку, але вони пов'язані?
Мені здається, різниця між ними полягає в тому, в якому конкретному випадку може бути використане значення
- передано як параметр,
- повернуто з підпрограми, або
- присвоюється змінній.
Чому конкретні випадки важливі, а інші випадки не згадуються?
Спасибі.