PDA

View Full Version : linguaggi di programmazione - curiosità


G.TheHamleter
26-12-2014, 10:11
Ciao a tutti !!!

Volevo chiedervi se solo i linguaggi di programmazione java e C presentano , a runtime un'esecuzione di tipo sequenziale (che ovviamente segue la pila delle chiamate o record di attivazione) o se tutti i linguaggi presentano un'esecuzione sequenziale(istruzione per istruzione)

Grazie e buone feste a tutti !

akfhalfhadsòkadjasdasd
26-12-2014, 11:59
Ciao a tutti !!!

Volevo chiedervi se solo i linguaggi di programmazione java e C presentano , a runtime un'esecuzione di tipo sequenziale (che ovviamente segue la pila delle chiamate o record di attivazione) o se tutti i linguaggi presentano un'esecuzione sequenziale(istruzione per istruzione)

Grazie e buone feste a tutti !
ho trovato un articolo che ne elenca alcuni
http://en.wikipedia.org/wiki/List_of_concurrent_and_parallel_programming_languages

comunque, a priori nulla vieta che, dati architettura di calcolo e programma predisposti, una sequenza di istruzioni non possa essere eseguita in parallelo.

tomminno
28-12-2014, 21:50
Ciao a tutti !!!

Volevo chiedervi se solo i linguaggi di programmazione java e C presentano , a runtime un'esecuzione di tipo sequenziale (che ovviamente segue la pila delle chiamate o record di attivazione) o se tutti i linguaggi presentano un'esecuzione sequenziale(istruzione per istruzione)

Grazie e buone feste a tutti !

Dato che si parla di esecuzione e che questa è prevalentemente in carico alla cpu, bisogna conoscere come funziona per rispondere alla tua domanda.
In buona sostanza indipendentemente dal linguaggio, una cpu moderna (diciamo dal Pentium in poi) fa un po' quello che le pare :) L'esecuzione del codice fuori ordine è ormai un punto cardine delle moderne architetture. Il compilatore poi ci mette poi del suo generando un codice macchina che non necessariamente rispecchia alla lettera quanto scritto. In Java c'è di mezzo pure il byte code quindi una doppia elaborazione del codice scritto prima della effettiva esecuzione java-> byte code-> linguaggio macchina.
Considera poi che oggi i software tendono a sfruttare il multithread in cui il concetto di ordine di esecuzione perde un po' di senso (e via di costrutti di sincronizzazione).