Aggiunto
Ho appena trovato due domande correlate
Nei linguaggi di programmazione, da Pragmatica del linguaggio di programmazione di Michael Scott
In general, a value in a programming language is said to have first-class status if it can be passed as a parameter, returned from a subroutine, or assigned into a variable. Simple types such as integers and characters are first-class values in most programming languages. By contrast, a “second-class” value can be passed as a parameter, but not returned from a subroutine or assigned into a variable, and a “third-class” value cannot even be passed as a parameter.
Labels are third-class values in most programming languages, but second-class values in Algol. Subroutines display the most variation. They are first-class values in all functional programming languages and most scripting languages. They are also first-class values in C# and, with some restrictions, in several other imperative languages, including Fortran, Modula-2 and -3, Ada 95, C, and C++. 11 They are second-class values in most other imperative languages, and third-class values in Ada 83.
-
Qual è il fondamento matematico per la prima / seconda / terza classe valori nei linguaggi di programmazione?
La terminologia mi ricorda la logica del primo / secondo ordine, ma sono loro correlato?
-
Mi sembra che la differenza tra loro sia specifica caso può essere usato un valore
- passato come parametro,
- restituito da una subroutine o
- assegnato a una variabile.
Perché i casi specifici sono importanti, mentre non altri casi no menzionato?
Grazie.