La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

La traduzione dei programmi ed introduzione a Java.

Presentazioni simili


Presentazione sul tema: "La traduzione dei programmi ed introduzione a Java."— Transcript della presentazione:

1 la traduzione dei programmi ed introduzione a Java

2 Nov 2002Traduzione dei programmi2 programmi descrizioni di algoritmi effettuate tramite linguaggi di programmazione lo stesso algoritmo, fissato un linguaggio di programmazione, può essere descritto da numerosi programmi differenti ogni programma è costituito da una sequenza ordinata di operazioni (istruzioni)

3 Nov 2002Traduzione dei programmi3 linguaggi di programmazione definiti per codificare algoritmi hanno una precisa sintassi, che deve essere rigorosamente rispettata ciascun linguaggio prevede un insieme (repertorio) di istruzioni la codifica di un algoritmo deve essere effettuata utilizzando appropriatamente tali istruzioni i linguaggi differiscono in base alla tipologia di istruzioni può variare sensibilmente il livello concettuale di tali istruzioni

4 Nov 2002Traduzione dei programmi4 linguaggi di programmazione a basso livello quando il linguaggio di programmazione sfrutta il repertorio delle istruzioni della CPU o altro repertorio concettualmente allo stesso livello si parla di linguaggio di programmazione a basso livello il livello è basso poiché le istruzioni usate sono elementari, semplicissime

5 Nov 2002Traduzione dei programmi5 linguaggi di programmazione ad alto livello ragionare in termini di istruzioni macchina è lungo e faticoso, porta facilmente ad errori e in pratica non consente di affrontare problemi complessi o, quanto meno, articolati è possibile concepire linguaggi di programmazione che fanno uso di istruzioni concettualmente più complesse ed evolute rispetto alle istruzioni macchina: vengono detti linguaggi di programmazione ad alto livello

6 Nov 2002Traduzione dei programmi6 linguaggi di programmazione ad alto livello /2 consentono di formulare algoritmi che sfruttano operazioni meno elementari e dunque consentono di ragionare ad un più alto livello concettuale si possono affrontare problemi più complessi

7 Nov 2002Traduzione dei programmi7 linguaggi di programmazione ad alto livello /3 un linguaggio ad alto livello sarebbe di per sé inutile senza la possibilità di effettuare (automaticamente) una traduzione che sostituisca a ciascuna istruzione di alto livello una sequenza opportuna di istruzioni di basso livello (istruzioni macchina) che sia sostanzialmente equivalente all’istruzione di alto livello

8 Nov 2002Traduzione dei programmi8 processo di traduzione dato un programma scritto in un linguaggio ad alto livello (programma sorgente), la traduzione consiste nella costruzione di un programma equivalente che fa solo uso di istruzioni macchina

9 Nov 2002Traduzione dei programmi9 processo di traduzione /2 i traduttori sono programmi che effettuano automaticamente il processo di traduzione in pratica, ad ogni istruzione di “alto livello” occorre sostituire una sequenza di opportune istruzioni di basso livello che producano lo stesso effetto di quella ad alto livello sono in grado di rilevare gli eventuali errori sintattici

10 Nov 2002Traduzione dei programmi10 compilatori ed interpreti esistono due approcci alla traduzione compilazione, in cui il traduttore (compilatore) accetta in input un programma sorgente scritto in un linguaggio ad alto livello e produce in output un programma eseguibile, equivalente a quello dato ogni eseguibile è specifico per una CPU! interpretazione, in cui il traduttore (interprete) considera singolarmente ciascuna istruzione di alto livello, la traduce e la esegue si usa di fatto una macchina virtuale

11 Nov 2002Traduzione dei programmi11 compilatori la compilazione viene fatta in linea di principio una sola volta ogni esecuzione del programma tradotto sarà sensibilmente più rapida rispetto all’esecuzione tramite un interprete più saranno le esecuzioni e maggiore sarà il vantaggio della compilazione la compilazione, passando anche attraverso complesse fasi di ottimizzazione, può impegnare significativamente le risorse dell’elaboratore

12 Nov 2002Traduzione dei programmi12 interpreti vantaggiosi nel caso di una sola esecuzione (o poche) non penalizzanti nel caso di elaborazione leggera hanno il pregio dell’immediatezza e semplificano la successiva attività di debugging (correzione degli errori) spesso un interprete è corredato da un compilatore per lo stesso linguaggio (l’inverso di norma non accade)

13 Nov 2002Traduzione dei programmi13 compilatori vs. interpreti T c = tempo compilazione T e = tempo esecuzione del compilato T v = tempo esecuzione in macchina virtuale T v >> T e N = # previsto esecuzioni confrontare T c + N∙T e con N∙T v

14 Nov 2002Traduzione dei programmi14 linguaggi di programmazione basso livello macchina, assembler alto livello svariati paradigmi imperativi, dichiarativi

15 Nov 2002Traduzione dei programmi15 linguaggi di programmazione basso livello macchina, assembler alto livello procedurali imperativi orientati agli oggetti dichiarativi funzionali logici alto livello procedurali imperativi orientati agli oggetti dichiarativi funzionali logici FORTRAN, PASCAL C, BASIC, COBOL C++, JAVA, ADA LISP, SCHEME PROLOG

16 Nov 2002Traduzione dei programmi16 linguaggi ad alto livello linguaggi di programmazione imperativi dichiarativi procedurali orientati agli oggetti elaborazione parallela / distribuita logici funzionali basi di dati FORTRAN, PASCAL C, BASIC, COBOL C++, JAVA, ADA PROLOG LISP

17 Nov 2002Traduzione dei programmi17 ciclo edita-compila-correggi- esegui-correggi editing programma sorgente compila sorgente esegui programma errori ? funziona? sì no sì WOW! debugging

18 Nov 2002Traduzione dei programmi18 linguaggio Java alto livello orientato agli oggetti molto “trendy” utilizzato dapprima solo nel Web, poi praticamente in tutte le situazioni portatile e diffuso traduzione sui generis

19 Nov 2002Traduzione dei programmi19 la traduzione dei sorgenti Java programma in esecuzione sorgente Java file.java bytecode file.class compilatore javac interprete java macchina virtuale Java (Java Virtual Machine, JVM)

20 Nov 2002Traduzione dei programmi20 primo programma Java il nome della classe determina i nomi dei file Primo.java Primo.class public class Primo { public static void main(String args[]) { System.out.println("CIAO!"); }

21 Nov 2002Traduzione dei programmi21 esecuzione primo programma tramite JCreator semplice, ma si perde “visibilità” tramite linea di comando DOS “manuale”, ma universale numerose altre possibilità…


Scaricare ppt "La traduzione dei programmi ed introduzione a Java."

Presentazioni simili


Annunci Google