13

Introduzione a Java

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Introduzione Storica

Un linguaggio si afferma quando affronta e risolve i limiti di quelli già esistenti:

Programmazione binaria da pannello

Assembler

BASIC, COBOL, FORTRAN

C

C++

Java

Sgomberiamo il campo da dubbi

Cosa non è Java:

Non è un linguaggio per “animare” il WWW

Non è una versione ridotta del C++

Non è lo strumento che segnerà la fine di Microsoft

Javascript non c’entra niente con Java

Cosa è Java

Un moderno linguaggio di programmazione OO

Orientato alla programmazione di applicazioni “network-centric”

Evoluzione di JavaNato per programmare elettrodomestici

nome originale (1991-1995): OAK

Si è affermato per le sue caratteristiche OO e per la mobilità del codice

Applet: esecuzione lato client di applicazioni scaricate da Internet

Con il passare del tempo si sta specializzando sempre più nella programmazione lato server.

Oggi esiste un gran numero di tecnologie basate su Java.

Programmare in Java

Il sito ufficiale di java è:

www.java.sun.com

Oggi, sono disponibili vari tipi di “prodotti”:

Java SE (Java Standard Edition)

Java EE (Java Enterprise Edition)

Java ME (Java Micro Edition)

L’acronimo di SDK è Software Development Kit

L’acronimo di JRE è Java Runtime Environment

Caratteristiche di Java

Semplice

Sicuro

Portabile

Object Oriented

Robusto

Multithreaded

Indipendente dall’architettura

Interpretato

Con prestazioni elevate

Distribuito

Economico

Semplice

Concepito affinché il programmatore professionista potesse impararlo facilmente e utilizzarlo in maniera produttiva

Sintassi simile a C e C++

Elimina i costrutti più “pericolosi” di C e C++

aritmetica dei puntatori

preprocessore (#define)

(de)allocazione esplicita della memoria

Object OrientedProgettato con l’intenzione di essere un linguaggio ad

oggetti. Conseguenza: PulitoUtilizzabile Pragmatico

Mette d’accordo: Puristi: “Tutto è un oggetto” Pragmatisti: “Stai lontano da me”

Base dell’accordo:Modello ad oggetti semplice e facile da estendere Tipi semplici (es. interi), considerati come non-oggetti a

prestazioni elevate

Robusto

Rilevamento errori e typechecking a tempo di compilazione e di esecuzione

Mascheramento dei puntatori all'utente

Controllo automatico degli indici degli array

Gestione delle eccezioni da parte dell'utente

Gestione della memoria (allocazione & GC)

Distribuito e Portabile

Incorpora molte funzionalità per l’accesso alla rete (TCP/IP)

Mette a disposizione un pacchetto per le invocazioni di metodi remoti (RMI)

Il compilatore produce codice di tipo byte-codeinterpretato da una virtual-machine e indipendente dall’architettura HW

Lo stesso codice gira su piattaforme Unix, Microsoft e Macintosh ed altro

InterpretatoInterfacce

Classi AstratteClassi e Programmi

Codice Sorgente: file.java

Codice ByteCode: file.class

JAVA VIRTUAL MACHINE

MacintoshUnixWindows

COMPILAZIONE

ESECUZIONE

Sicuro

Rilevamento errori e typechecking a tempo di compilazione e di esecuzione

Il sistema run-time Java emula una macchina virtuale che interpreta il bytecode

Possibilità di impedire l’esecuzione di istruzioni pericolose

Introduzione delle Applet per rendere sicuri programmi scaricati da Internet

Economico

Per ottenere il software, la documentazione e tenersi aggiornati basta collegarsi ad Internet:

www.java.sun.com

www.sun.com

www.javaworld.com

www.mokabyte.it

www.programmazione.it

www.jia.it