ANATOMIA di un CALCOLATORE :
- parte SOFTWARE -> istruzioni semplici ed eseguibili rapidamente
- parte HARDWARE
- cpu (central processing unit) -> di transistor ; controlla l'esecuzione dei programmi e l'elaborazione dei dati
- si occupa di operazioni matematiche e logiche
- esegue ISTRUZIONI MACCHINA (stringhe di codice binario) -> diverse per ogni produttore e complicati (JVM invece si basa sulla "virtual machine")
- cpu (central processing unit) -> di transistor ; controlla l'esecuzione dei programmi e l'elaborazione dei dati
=> ci sono linguaggi di programmazione ad alto livello, tradotti in M.L da un compilatore
VANTAGGI DI JAVA : - sicurezza - scelta vasta di librerie - portabilità - designed for the internet
- dati utili alla cpu sono recuperabili da:
- memoria principale - RAM - volatile
- memoria secondaria - hard disk (o SSD) - anche senza alimentazione
SCRIVERE un PROGRAMMA in JAVA
- serve un editor di testo -> ce ne sono di appositi per la programmazione
- si scrive il file sorgente nell'editor, salvando con l'estensione .java --> case sensitive
- questo è dato in input al compilatore per essere tradotto in codice macchina
- il file sorgente viene tradotto in .class file, che contiene istruzioni per la JVM
- uso di comandi testuali tramite PROMAT dei comandi
editor -> Source file -> Compilatore -> class file -> JVM -> running program
- Library file
ALCUNI COMANDI:
- Folder -> cartella in cui mi trovo
- cd (nome cartella)/file -> per passare da una cartella a un'altra
- ls -> lista di tutte le cartelle
- per compilare: javac file.java => creazione di un file eseguibile (.class)
- per eseguire: java file
ERRORI:
- di sintassi/compilazione: non viene prodotto il file class
- logici (RUNTIME error): programma sintatticamente corretto, ma non fa quello che dovrebbe (non risolve quei task)
- ECCEZIONI: avviene al runtime e genera un messaggio della JVM, per errori logici gravi (es. division by zero)
ALGORITMO:
- Sequenza di passi per risolvere un task:
- - non ambiguo
- - eseguibile
- - terminabile (deve risolvere il task in un tempo finito)
Descritto da una pseudocodice -> testo informale e comprensibile , poi da calcolatore, tradurre in Java e compilazione del programma
Anatomia di un calcolatore
- Parte software → istruzioni semplici ed eseguibili rapidamente
- Parte hardware
- cpu (central processing unit) → di transistor; controlla l'esecuzione dei programmi e l'elaborazione dei dati
- si occupa di operazioni aritmetiche e logiche
- esegue istruzioni macchina (stringhe di codice binario) → diverse per ogni produttore e complicati (, invece si basa sulla virtual machine)
=> ci sono linguaggi di programmazione ad alto livello, tradotti in ML da un compilatore
- Vantaggi di Java:
- sicurezza
- portabilità
- scelta vasta di librerie
- designed for the internet
-
- dati utili alla cpu sono recuperabili da:
- memoria principale - RAM - → volatile
- memoria secondaria: hard disk (o SSD) → anche senza alimentazione
Scrivere un programma in Java
- serve un editor di testo → ce ne sono di appositi per la programmazione
- si scrive il file sorgente nell'editor, salvando con l'estensione .java → fa case sensitive
- questo è dato in input al compilatore per essere tradotto in codice macchina
- il file sorgente viene tradotto in class file, che contiene istruzioni per la JVM
- uso di comandi testuali tramite PROMPT dei comandi
editor → Source file → Compilatore → class file → JVM → running program
- library files
Alcuni comandi
- Folder → cartella in cui mi trovo
- cd "nome cartella/file" → per passare da una cartella/uno unità
- ls → lista di tutte le cartelle
- per compilare: javac file.java → creazione di un file eseguibile (class)
- per eseguire: java file
Errori
- di sintassi/compilazione: non viene prodotto il file class
- logici (RUNTIME error): programma sintatticamente corretto, ma non fa quello che dovrebbe (non risolve quel task)
Eccezioni: avviene al runtime e genera un messaggio della JVM, per errori logici gravi (es. division by zero)
Algoritmo
Sequenza di passi per risolvere un task
- non ambiguo
- eseguibile
- terminabile