Paradigmi che classificano i linguaggi di programmazione.
Chiedo di verificare se quanto dico sia vero oppure no. Pare che il mio libro (peraltro di difficile consultazione) non tratti l'argomento in maniera molto "classificante".
Dunque, un paradigma, per i linguaggi di programmazione, si riferisce al modo in cui viene inteso un programma, che è l'insieme dei costrutti utilizzati e di tutti i possibili (infiniti) "programmi" realizzabili con quel linguaggio. In sostanza, indica il modo in cui vengono scritte le varie "stringhe" che compongono un programma.
Quello che non capisco è: più paradigmi diversi possono essere applicati per un unico linguaggio, per parti diverse di un unico programma, a livelli di "astrazione" diversi?
Ad esempio, prendo C, che è un linguaggio che utilizza le funzioni (paradigma funzionale), ma che all'interno di esse, e nel main program che le lega, utilizza perlopiù un paradigma di tipo imperativo. E' vero questo?
Nel definire i rapporti tra le classi, non si utilizza un modo di programmare di tipo imperativo?
Dunque, un paradigma, per i linguaggi di programmazione, si riferisce al modo in cui viene inteso un programma, che è l'insieme dei costrutti utilizzati e di tutti i possibili (infiniti) "programmi" realizzabili con quel linguaggio. In sostanza, indica il modo in cui vengono scritte le varie "stringhe" che compongono un programma.
Quello che non capisco è: più paradigmi diversi possono essere applicati per un unico linguaggio, per parti diverse di un unico programma, a livelli di "astrazione" diversi?
Ad esempio, prendo C, che è un linguaggio che utilizza le funzioni (paradigma funzionale), ma che all'interno di esse, e nel main program che le lega, utilizza perlopiù un paradigma di tipo imperativo. E' vero questo?
Nel definire i rapporti tra le classi, non si utilizza un modo di programmare di tipo imperativo?
Risposte
GNU Compiler Collection
Al momento del rilascio della versione 4.1.1, la versione standard del compilatore comprende front end per i linguaggi:
* Ada (GCC per Ada, noto anche come GNAT)
* Linguaggio C
* C++ (GCC for C++ o G++)
* Fortran (GCC per Fortran o GFortran)
* Java (GCC per Java o GCJ)
* Objective-C
* Objective-C++
e puoi compilare piu linguaggi .che non centra niente !
cosa intendi per le cassi ?
le librerie che che utilizza un singolo linguaggio ?
tipo :
Al momento del rilascio della versione 4.1.1, la versione standard del compilatore comprende front end per i linguaggi:
* Ada (GCC per Ada, noto anche come GNAT)
* Linguaggio C
* C++ (GCC for C++ o G++)
* Fortran (GCC per Fortran o GFortran)
* Java (GCC per Java o GCJ)
* Objective-C
* Objective-C++
e puoi compilare piu linguaggi .che non centra niente !
cosa intendi per le cassi ?
le librerie che che utilizza un singolo linguaggio ?
tipo :
In sostanza, indica il modo in cui vengono scritte le varie "stringhe" che compongono un programma.
Più che altro, indica la logica sottostante.
più paradigmi diversi possono essere applicati per un unico linguaggio, per parti diverse di un unico programma, a livelli di "astrazione" diversi?
Ad esempio, prendo C, che è un linguaggio che utilizza le funzioni (paradigma funzionale), ma che all'interno di esse, e nel main program che le lega, utilizza perlopiù un paradigma di tipo imperativo. E' vero questo?
Nel definire i rapporti tra le classi, non si utilizza un modo di programmare di tipo imperativo?
Beh, per il C++ si può utilizzare sia il paradigma imperativo che object oriented; solitamente però non ha molto senso (o almeno non ho mai visto qualcosa di simile) usare diversi paradigmi nello stesso programma.
Per il resto ammetto di non conoscere molto bene il paradigma funzionale, ma sono sicuro che va oltre al semplice "usare le funzioni". Si dovrebbe rifare al Lambda calcolo.
Comunque qui ti potrai chiarire non poco le idee.