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

Slides:



Advertisements
Presentazioni simili
Linguaggio C e C++.
Advertisements

Traduzione ed Interpretazione
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
EUCIP IT Administrator Modulo 4 - Uso Esperto della Rete Reti informatiche: Introduzione AICA © 2005.
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Corso di Fondamenti di Informatica
Il Software.
Software di base: Linguaggi di Programmazione
Interazione Uomo - Macchina
INTRODUZIONE Il framework.NET. Un po di storia Sin dalla prima versione del sistema operativo Windows (1990 circa), nacque la necessità di far comunicare.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A1 Introduzione a Java.
Recupero debito quarto anno Primo incontro
Evoluzione dei linguaggi di programmazione
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Sistemi Operativi Menù: 1) Introduzione al sistema operativo
Generalità Linguaggio e Macchina Astratta
1 Metodologie di Programmazione. 2 Contenuto generale §tecniche per la programmazione orientata ad oggetti (in piccolo) §esemplificate utilizzando il.
SINCRONIZZAZIONE E TRASFERIMENTO VIA WEB DI IMMAGINI E DATI MULTIMEDIALI CON INFORMAZIONI GEOGRAFICHE E RAPPRESENTAZIONI CARTOGRAFICHE Laureando: Mitja.
Dr. Francesco Fabozzi Corso di Informatica
La rete del futuro nellautonomia scolastica Sezione propedeutica La rete: uno strumento privilegiato per la didattica.
Anno Accademico Corso di Informatica Informatica per Scienze Biologiche e Biotecnologie Anno Accademico
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Linguaggi per il Web Laboratorio di Applicazioni Informatiche II mod. A.
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
Terza parte: Programmazione ad oggetti in Java. Cosè Java Linguaggio di programmazione definito dalla Sun Obiettivo: sviluppo di applicazioni sicure,
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Introduzione al linguaggio Java
Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Gestione dei Progetti Software 2 (a.a. 2004/05) - Lezione 3 1 JAVA e Internet: il World Wide Web Internet: milioni di computer collegati fra di loro attraverso.
Struttura dei sistemi operativi (panoramica)
La Riflessione computazione Elisa Ferrando. Cos è la Riflessione La Riflessione Sistema riflessivo Sistema computazionale.
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
Primi Elementi di Programmazione in C++
Sistemi Operativi GESTIONE DEI PROCESSI.
Introduzione a C#.
Java Contardi Carlo A.S. 2008/09.
Introduzione alla programmazione Object Oriented
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
Il Sistema Operativo (1)
BIOINFO3 - Lezione 321 ACCESSO REMOTO AL SERVER SIBILLA Attraverso Internet è possibile accedere al server sibilla.cribi.unipd.it. Potrete così effettuare.
Le reti di calcolatori ©Apogeo 2004.
Threads.
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
DAmb Sergio Lovrinich 28 Settembre Descrizione Questo Software si propone di eseguire una Analisi del Codice Sorgente, mettendo a disposizione Strumenti.
la traduzione dei programmi
© Copyright NTT DATA Italia – All Rights Reserved The information contained in this document is the property of NTT DATA Italia S.p.A. and the addressee.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
Il software Componente del computer costituita dai: –programmi di base per la gestione del sistema –programmi applicativi per l’uso del sistema Queste.
Programmazione Attività di progettazione ed implementazione di programmi I programmi permettono di realizzare funzioni complesse su un hardware in grado.
Sistemi di elaborazione dell’informazione Modulo 3 - Protocolli applicativi Unità didattica 2 - Telnet, FTP e altri Ernesto Damiani Lezione 2 – Da FTP.
Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 1.
1 Macchine astratte, linguaggi, interpretazione, compilazione.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 2 -Telnet, FTP e altri Ernesto Damiani Lezione 4 – Napster e.
Il software Claudia Raibulet
Informatica Lezione 6 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Mots, programmazione collaborativa di Ettore Ferranti.
Informatica e Informatica di Base
Eprogram informatica V anno.
I linguaggi di programmazione -GALBIATI ALBERTO -ESPOSITO MATTIA.
LINGUAGGI DI PROGRAMMAZIONE E' un linguaggio formale dotato di una sintassi ben definita che viene utilizzato per scrivere programmi che realizzano algoritmi.
Programmazione orientata agli Oggetti Introduzione a Java.
Eprogram informatica V anno. Programmare in rete.
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Transcript della presentazione:

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

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

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à

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

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

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

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

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

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

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

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)

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