"Programmazione Distribuita" - Prof. Scarano Laurea in Informatica A.A. 2002-2003 Università di Salerno 1 Vittorio Scarano Corso di Programmazione Distribuita Laurea di I livello in Informatica Università degli Studi di Salerno Lezione 1 Introduzione a Java Programmazione Distribuita. Vi.ttorio Scarano 2 Organizzazione della lezione • Obiettivo: Introdurre il linguaggio Java ed esaminarne le caratteristiche che lo rendono particolare • La genesi di Java • Le caratteristiche peculiari del linguaggio e le scelte progettuali • Le keyword di Java
26
Embed
Lezione 1 Introduzione a Javavitsca/Old/PD2002-2003/PDF/progdist01long.pdf · Lezione 1 Introduzione a Java Programmazione Distribuita. Vi.ttorio Scarano 2 Organizzazione della lezione
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
"Programmazione Distribuita" - Prof. Scarano
Laurea in Informatica
A.A. 2002-2003 Università di Salerno 1
Vittorio Scarano
Corso di Programmazione DistribuitaLaurea di I livello in Informatica
Università degli Studi di Salerno
Lezione 1Introduzione a Java
Pro
gra
mm
azio
ne D
istr
ibui
ta.
Vi.t
tori
o S
cara
no
2
Organizzazione della lezione
• Obiettivo:Introdurre il linguaggio Java ed esaminarne le caratteristiche
che lo rendono particolare
• La genesi di Java
• Le caratteristiche peculiari del linguaggio e le scelte progettuali
• Le keyword di Java
"Programmazione Distribuita" - Prof. Scarano
Laurea in Informatica
A.A. 2002-2003 Università di Salerno 2
Pro
gra
mm
azio
ne D
istr
ibui
ta.
Vi.t
tori
o S
cara
no
3
Java è...
• Un tipo di caffè
• Un linguaggio di programmazione…
• Una piattaforma di sviluppo…
• Una moda…
• Una storia interessante di …
Pro
gra
mm
azio
ne D
istr
ibui
ta.
Vi.t
tori
o S
cara
no
4
Java: la carta di identità
• Genitori: Sun Microsystem• Data di nascita: 23 maggio 1995• Segni particolari:
– Utilizzato nel World Wide Web
• Luoghi frequentati:– Sistemi di middleware– Sistemi embedded– Ambienti a componenti per il calcolo distribuito
Java
Seriamente parlando… Perché Java?
"Programmazione Distribuita" - Prof. Scarano
Laurea in Informatica
A.A. 2002-2003 Università di Salerno 3
Pro
gra
mm
azio
ne D
istr
ibui
ta.
Vi.t
tori
o S
cara
no
5
Perché Java…
• Frutto dalla esperienza C e C++– Object Oriented Programming(OOP)
– Linguaggio che facilita programmi bug-free
• Indipendente dalla piattaforma
• Ricco di Application Programming Interface (API)– Organizzate in packages
• La presentazione da parte di Sun Microsystem– Un whitepaper con tante keywords
Pro
gra
mm
azio
ne D
istr
ibui
ta.
Vi.t
tori
o S
cara
no
6
Il whitepaper di Java...
• Java è un linguaggio di programmazione
"Programmazione Distribuita" - Prof. Scarano
Laurea in Informatica
A.A. 2002-2003 Università di Salerno 4
Pro
gra
mm
azio
ne D
istr
ibui
ta.
Vi.t
tori
o S
cara
no
7
La preistoria: Il progetto Green
• La situazione alla Sun Microsystem nel 90– La rivoluzione dei Personal Computer era nel pieno
del suo svolgimento
– All’allargarsi del mercato dei desktop, il mercato delle workstation si restringeva
– La reputazione delle macchine Sun:• affidabili, solide ma …
• complicate, brutte e “secchione”
Pro
gra
mm
azio
ne D
istr
ibui
ta.
Vi.t
tori
o S
cara
no
8
Un giovane progettista della Sun..
• Patrick Naughton, amico del CEO della Sun McNealy
• Gli viene offerto un lavoro migliore alla Next..
• … ma prima di lasciare gli viene richiesto di scrivere cosa ritiene si faccia di sbagliato alla Sun e quale può essere una soluzione.
• Scrive 12 videate di e-mail , dicendo tra l’altro di– “far sviluppare la interfaccia utente ad un artista”
– “utilizzare un unico tool di sviluppo”
– “focalizzare gli sforzi verso un solo sistema grafico”
– “licenziare tutti quelli che stavano lavorando ai sistemi
grafici”
"Programmazione Distribuita" - Prof. Scarano
Laurea in Informatica
A.A. 2002-2003 Università di Salerno 5
Pro
gra
mm
azio
ne D
istr
ibui
ta.
Vi.t
tori
o S
cara
no
9
La risposta:
• E’ sommerso da risposte entusiastiche:“ Patrick ha scritto quello che mi dicevo ogni
mattina ma avevo paura di ammettere”
Una tipica reazione
“ Patrick ha brutalmente ragione: da qualche parte
abbiamo perso il contatto con quello che significa
produrre un prodotto di qualità”
James Gosling
Pro
gra
mm
azio
ne D
istr
ibui
ta.
Vi.t
tori
o S
cara
no
10
Un meeting: “Cosa si fa?”
• Una proposta:– Innanzitutto una contro-offerta a Naughton che
accetta di restare alla Sun
– Creare un piccolo team ..“piccolo abbastanza da poter andare a cena in un
ristorante cinese tutti insieme….”
– … tenerne segreta la missione al resto della Sun per proteggere il team da influenze negative contro le innovazioni.
"Programmazione Distribuita" - Prof. Scarano
Laurea in Informatica
A.A. 2002-2003 Università di Salerno 6
Pro
gra
mm
azio
ne D
istr
ibui
ta.
Vi.t
tori
o S
cara
no
11
La missione: Produrre “qualcosa”…
• Sun aveva già perso la battaglia in corso sui Personal Computer
• Doveva prepararsi per la prossima..
• Una convinzione sul terreno di battaglia:La convergenza tra
– le apparecchiature domestiche controllate da microprocessori
– i computers propriamente detti.
Pro
gra
mm
azio
ne D
istr
ibui
ta.
Vi.t
tori
o S
cara
no
12
L’inizio del progetto Green: l’esilio
– Dicembre 1990: si rinchiudono in 3 (Gosling, Naughton e Sheridan) in un ufficio fuori dal campus Sun con “Cokes and Dove bars”
– Ed un milione di dollari da spendere in un anno.
– La prima idea nell’Aprile 1991:• I microprocessori sono ovunque
• I telecomandi sono anche essi ovunque
• Ogni apparecchiatura ha il proprio complicato telecomando!
"Programmazione Distribuita" - Prof. Scarano
Laurea in Informatica
A.A. 2002-2003 Università di Salerno 7
Pro
gra
mm
azio
ne D
istr
ibui
ta.
Vi.t
tori
o S
cara
no
13
L’idea:
• Un telecomando– universale
– di immediato utilizzo
– multimediale
– per tutte le apparecchiature domestiche!
Pro
gra
mm
azio
ne D
istr
ibui
ta.
Vi.t
tori
o S
cara
no
14
Il Green Team al lavoro:
• Il settore hardware:– La Hammer Technology: si comprano apparecchiature e
vengono smontate
• Studio sulla interfaccia utente:– giocano ore ed ore a Nintendo
• Il settore software:– decidono di inventare un nuovo linguaggio!
"Programmazione Distribuita" - Prof. Scarano
Laurea in Informatica
A.A. 2002-2003 Università di Salerno 8
Pro
gra
mm
azio
ne D
istr
ibui
ta.
Vi.t
tori
o S
cara
no
15
Il ragionamento di Gosling
• Un linguaggio per elettrodomestici– deve essere affidabile
“Come mettere una spina nella presa elettrica..”
– deve essere compatto“Non c’è tanta memoria in un piccolo apparato..”
– deve essere portabile“Deve funzionare su diversi processori..”
• Conclusione: il C++ non va bene!
Pro
gra
mm
azio
ne D
istr
ibui
ta.
Vi.t
tori
o S
cara
no
16
Nel 1992….(3 settembre)
• “Cokes and Dove Bars” + $1,000,000 =
"Programmazione Distribuita" - Prof. Scarano
Laurea in Informatica
A.A. 2002-2003 Università di Salerno 9
Pro
gra
mm
azio
ne D
istr
ibui
ta.
Vi.t
tori
o S
cara
no
17
E funziona anche!
Pro
gra
mm
azio
ne D
istr
ibui
ta.
Vi.t
tori
o S
cara
no
18
Cosa c’è “sotto il cofano”?
– Processore SPARC
– Motherboard ripiegata
– 5’’ touchscreen display
– un chip grafico custom a doppio buffer
– connessioni remote senza filo a 900Mhz
– interfaccia PCMCIA
– multimedia audio codec
– batteria custom
(continua..)
"Programmazione Distribuita" - Prof. Scarano
Laurea in Informatica
A.A. 2002-2003 Università di Salerno 10
Pro
gra
mm
azio
ne D
istr
ibui
ta.
Vi.t
tori
o S
cara
no
19
Cosa c’è “sotto il cofano”? (2)
– Una versione di Unix che in meno di 1Mb ha:• drivers per PCMCIA, • radio networking, • touchscreen, display, • flash RAM file system
– Oak: un linguaggio di programmazione compatto, sicuro affidabile, distribuito, interpretato, garbage-collected, multithreaded, dinamico
– libreria grafica – una interfaccia grafica che usa animazione
audio e metafore dello spazio virtuale(continua..)
Pro
gra
mm
azio
ne D
istr
ibui
ta.
Vi.t
tori
o S
cara
no
20
Cosa c’è “sotto il cofano”? (3)
– Un insieme di classi per implementare la metafora della interfaccia utente a 3D