La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 1 JAVA: obiettivi di progetto del linguaggio Nota storica: Il linguaggio JAVA (inizialmente.

Presentazioni simili


Presentazione sul tema: "Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 1 JAVA: obiettivi di progetto del linguaggio Nota storica: Il linguaggio JAVA (inizialmente."— Transcript della presentazione:

1 Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 1 JAVA: obiettivi di progetto del linguaggio Nota storica: Il linguaggio JAVA (inizialmente Oak) è stato progettato in origine per programmare i microchip di elettrodomestici REQUISITI PROGETTUALI PRINCIPALI familiare object-oriented robusto efficiente sicuro portabile semplice concorrente dinamico distribuito

2 Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 2 JAVA ha una sintassi familiare -I progettisti di JAVA sapevano che un nuovo linguaggio non avrebbe preso piede se non avesse avesse avuto una sintassi familiare ai programmatori professionisti, così scelsero di utilizzare quanto più possibile una sintassi simile al C++ - JAVA non è comunque la versione per Internet di C++ -E un linguaggio fondato sulle necessità e sulle esperienze di veri programmatori

3 Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 3 JAVA è object-oriented -JAVA risponde allesigenza di realizzare sistemi software facili da modificare e manutenere - JAVA consente alti livelli di riusabilità del codice - JAVA fornisce unarsenale di classi per lo sviluppo di interfacce utente e di applicazioni Internet impiegabili con relativa facilità

4 Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 4 JAVA è robusto -Una delle principali fonti di crash dei programmi scritti in C/C++ è luso scorretto dellaritmetica dei puntatori: JAVA non fornisce tipi puntatori, né tanto meno laritmetica dei puntatori

5 Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 5 JAVA è efficiente -Sebbene leseguibile prodotto dal compilatore JAVA sia una sequenza di comandi per un interprete, ciò rende i programmi JAVA mediamente non più di 10 volte più lenti di corrispondenti programmi C++. -La perdita di efficienza che ne deriva è più che accettabile per il tipo di applicazioni cui è solitamente applicato JAVA, tipicamente programmi altamente interattivi -Altri linguaggi interpretati quali BASIC, Tcl, PERL, presentano livelli di inefficienza tali da limitarne decisamente la possibilità di utilizzo

6 Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 6 JAVA è sicuro -Il rischio di infezione virale o di introduzione di cavalli di Troia nelleseguire sul proprio computer programmi convenzionali di provenienza incerta è molto alto. Ciò rendeva la pratica di scaricarsi programmi eseguibili da Internet qualcosa di poco sicuro e da evitare -JAVA offre un ambiente di esecuzione sicuro confinando il programma scaricato da Internet in un firewall da cui non è possibile accedere ad altre parti del computer

7 Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 7 JAVA è portabile (indipendente dalla piattaforma) -Programmi scritti in linguaggi convenzionali quali il C e il C++ sono, almeno in teoria, portabili da una piattaforma allaltra, a patto di ricompilarli per la nuova piattaforma -Dei programmi scaricabili da Internet si ha a disposizione spesso solo leseguibile, specifico per ciascun tipo di CPU se si tratta di programmi scritti in C/C++ -Se pure fosse disponibile il sorgente del programma, saremmo costretti a ricompilarlo prima di poterlo eseguire - JAVA: la magia del Bytecode

8 Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 8 JAVA è portabile: bytecode e macchina virtuale Codice sorgente Compilatore Codice oggetto CPU Compilatore convenzionale Codice sorgente Compilatore Bytecode Macchina virtuale per computer A Compilatore JAVA Macchina virtuale per computer B Macchina virtuale per computer C

9 Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 9 JAVA è semplice -JAVA è facile da imparare e da impiegare in maniera produttiva, soprattutto se si conosce la filosofia di fondo della programmazione a oggetti e/o il linguaggio C++ -Le caratteristiche più complesse di C++ sono state escluse da JAVA, oppure realizzate in maniera più semplice -JAVA non comprende caratteristiche insolite o sorprendenti: esiste sempre un numero ridotto di modi ben chiari e definiti per eseguire un determinato compito -A differenza di altri linguaggi sovraccarichi di caratteristiche (esempio, ADA), JAVA ha un numero minimo di caratteristiche di base, estensibili se necessario con luso di librerie

10 Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 10 JAVA è concorrente -JAVA fornisce gli strumenti per gestire flussi di controllo concorrenti: i Thread e i meccanismi di sincronizzazione -Lapproccio facile alla concorrenza offerto da JAVA permette di concentrarsi sul comportamento specifico del programma, piuttosto che sul come realizzare e gestire il mutlitasking

11 Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 11 JAVA è dinamico - I programmi JAVA gestiscono estensivamente informazioni di tipo run-time per laccesso agli oggetti durante lesecuzione (es. binding dinamico)

12 Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 12 JAVA è distribuito - JAVA gestisce i protocolli TCP/IP: accedere ad una risorsa tramite un URL è del tutto analogo allaccedere a un file - Invio di messaggi remoti: programmazione client/server


Scaricare ppt "Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 1 JAVA: obiettivi di progetto del linguaggio Nota storica: Il linguaggio JAVA (inizialmente."

Presentazioni simili


Annunci Google