Programmazione Orientata agli Oggetti in Linguaggio Java

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione Orientata agli Oggetti in Linguaggio Java"

Transcript

1 Programmazione Orientata agli Oggetti in Linguaggio Java Introduzione Piattaforme di Riferimento versione 1.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università della Basilicata mecca@unibas.it Piattaforme >> Sommario Sommario Linguaggi di Riferimento La Piattaforma.NET Caratteristiche del Linguaggio Java Caratteristiche del Linguaggio C# Utilizzo degli Strumenti 2

2 Piattaforme >> Linguaggi di Riferimento Linguaggi di Riferimento In questo corso tecniche e metodi della programmazione a oggetti Linguaggio principale Java Linguaggio secondario C# della piattaforma Microsof.NET 3 Piattaforme >> Linguaggi di Riferimento Linguaggi di Riferimento Domanda: Perché questi due linguaggi? in effetti ne esistono molti altri Smalltalk (tradizionale) Delphi Python (recente) Risposta rappresentano le piattaforme di riferimento attuali per lo sviluppo software una serie di caratteristiche distintive 4

3 Piattaforme >> Complessa piattaforma software centrata attorno al linguaggio Java ideata dalla Sun ( e tuttora di proprietà della Sun sviluppata attraverso lo Java Community Process (JCP, Essenzialmente un complesso di specifiche e di componenti software 5 Piattaforme >> Un po di storia nasce da un progetto della Sun (progetto Green) con scopi totalmente diversi inizialmente si chiamava Oak Java 1.0 rilasciato nel 1995 dalla Sun Java 1.1 rilasciato nel 1997 Java 2 dalla v. 1.2 del 1998, riscrittura significativa attualmente 1.4, verso la 1.5 6

4 Piattaforme >> Attualmente la piattaforma è organizzata in tre livelli J2SE Java 2 Standard Edition per lo sviluppo di applicazioni desktop J2EE Java 2 Enterprise Edition per lo sviluppo di applicazioni lato server J2ME Java 2 Micro Edition per lo sviluppo di applicazioni mobili 7 Piattaforme >> Ognuno dei livelli si compone di una serie di specifiche (documenti) una serie di strumenti (es: compilatore, debugger ecc.) una serie di librerie o API (Application Program Interfaces) i livelli più complessi includono i più semplici 8

5 Piattaforme >> fonte: 9 Piattaforme >> Principali caratteristiche della piattaforma I. scalabile e pensata per applicazioni distribuite II. fornisce un ampia libreria di classi III. indipendente dalla piattaforma hardware e realmente portabile 10

6 Piattaforme >> I. Scalabilità e Applicazioni Distribuite orientata alle applicazioni di rete con attenzione agli aspetti di sicurezza e prestazioni consente di sviluppare applicazioni di vario genere sia di piccole e medie dimensioni sia di grandi dimensioni e altissimo carico 11 Piattaforme >> Differenza con altri linguaggi/piattaforme es: C++ Le varie classi di applicazioni applicazioni desktop tradizionali di qualsiasi genere applicazioni client-server a due livelli applicazioni Web a tre livelli, anche con componenti distribuiti e ad alto traffico applicazioni per dispositivi mobili applicazioni innovative (es: Web Services) 12

7 Piattaforme >> fonte: server accessibile in rete client es: browser basi di dati 13 Piattaforme >> II. Ampia Libreria di Classi librerie per qualsiasi esigenza di calcolo API ( Application Program Interface ): collezione di librerie di classi disponibili per l uso attualmente più di 3000 classi, metodi e circa 130 package collezioni (liste, pile...) programmazione grafica (finestre, bottoni, menu...) comunicazione di rete connessione ad un DBMS ecc. Differenza con altri linguaggi/piattaforme es: C++ 14

8 Piattaforme >> fonte: 15 Piattaforme >> Versione di J2SE Numero di Classi delle API Standard Numero di Metodi delle API Standard fonte: Horstmann, Cornell Core Java 2, Volume I 16

9 Piattaforme >> III. Indipendenza dalla piattaforma caratteristica essenziale di Java Le origini le applet Java idea: scaricare codice dalla rete ed eseguirlo attraverso il browser requisito essenziale: il codice doveva essere eseguibile indipendentemente dall hardware e dal sistema operativo 17 Piattaforme >> Attenzione in C++ (e in tutti i linguaggi tradizionali): una volta compilato, il codice oggetto e poi l eseguibile contengono codice macchina specifico del (a) processore (b) sistema operativo utilizzato per eseguire il codice su altre piattaforme hardware bisogna ricompilarlo (sperando che tutte le librerie usate e le funzionalità siano compatibili) 18

10 Piattaforme >> Nel caso di Java il compilatore produce codice oggetto in un linguaggio intermedio per una macchina virtuale Java Virtual Machine un processore virtuale, registri virtuali della memoria ecc. il tutto simulato attraverso un applicazione (java.exe) Bytecode linguaggio intermedio istruzioni eseguibili dalla macchina virtuale 19 Piattaforme >> bytecode delle librerie compilatore javac JVM java codice sorgente Prova.java bytecode Prova.class ATTENZIONE al processo di compilazione ed esecuzione macchina fisica codice eseguibile 20

11 Piattaforme >> Esecuzione da parte della JVM in linea di principio la macchina virtuale potrebbe eseguire lo bytecode come se fosse un interprete (es: Basic) Tipicamente per ragioni di prestazioni il bytecode viene compilato al volo JIT Compiler (Just in Time Compiler) 21 Piattaforme >> Differenza con altri linguaggi/piattaforme es: C++ In questo modo il codice può essere compilato una volta ed eseguito da molte macchine diverse basta che ciascuna delle macchine disponga di una implementazione della JVM e delle librerie necessarie JRE Java Runtime Environment JVM e API di J2SE compile once, run anywhere 22

12 Piattaforme >> Introduzione fonte: 23 Piattaforme >> La Piattaforma.NET La Piattaforma.NET Piattaforma di riferimento della Microsoft dal 2000 per molti versi, una risposta alla larghissima diffusione di Java Principali caratteristiche I. scalabile e pensata per applicazioni distribuite II. fornisce un ampia libreria di classi III. multilinguaggio 24

13 Piattaforme >> La Piattaforma.NET La Piattaforma.NET I. Scalabile e pensata per applicazioni distribuite esattamente come la piattaforma Java dalle applicazioni di fascia alta ai palmari maggiore enfasi su standard recenti XML e Web services II. Fornisce un ampia libreria di classi esattamente come la piattaforma Java 25 Piattaforme >> La Piattaforma.NET La Piattaforma.NET fonte: Microsoft.NET Academic Resource Kit Clients Applications client Protocols: HTTP, HTML, XML, SOAP, UDDI Web Form Web Service.NET Framework Windows server accessibile in rete altri sistemi; es: basi di dati Your Internal Web Service.NET Foundation Web Services Third-Party Web Services.NET Enterprise Servers 26

14 Piattaforme >> La Piattaforma.NET Introduzione Services Description Discovery Protocols Caching Configuration OLEDB Design Collections Configuration Diagnostics Globalization System.Web System.Data UI HtmlControls WebControls Security SessionState SQL SQLTypes IO Net Reflection Resources System System.Windows.Forms Form Button MessageBox Drawing2D Imaging XSLT XPath Security ServiceProcess Text Threading fonte: Microsoft.NET Academic Resource Kit ListControl System.Drawing Printing Text System.Xml Serialization Runtime InteropServices Remoting Serialization 27 Piattaforme >> La Piattaforma.NET La Piattaforma.NET III. Multilinguaggio pensata per consentire l interoperabilità di codice scritto con linguaggi diversi C#, Visual Basic.NET, C++.NET, J#... Idea (...) architettura software basata su una macchina virtuale ed un linguaggio intermedio 28

15 Piattaforme >> La Piattaforma.NET La Piattaforma.NET Macchina virtuale CLR Common Languare Runtime, dotata di un compilatore JIT per Windows Linguaggio Intermedio MSIL Microsoft Intermediate Language linguaggio in cui viene compilato il codice di tutti i linguaggi della famiglia.net sotto forma di assembly (>>) 29 Piattaforme >> La Piattaforma.NET Introduzione fonte: Microsoft.NET Academic Resource Kit Source code VB.NET Compiler C# Compiler C++ Compiler MSIL Assembly Assembly Assembly Common Language Runtime JIT Compiler Native code Managed Code CLR Services Managed Code CLR Managed Code Unmanaged Code Operating System Services 30

16 Piattaforme >> La Piattaforma.NET La Piattaforma.NET Attenzione la compilazione, come nel caso di Java, genera codice intermedio (IL) nel caso di.net, questo codice viene definito assembly, e può avere varie estensioni, tra cui.exe a differenza di Java, per eseguire l assembly non è necessario invocare esplicitamente la macchina virtuale (il sistema operativo la esegue automaticamente) 31 Piattaforme >> La Piattaforma.NET La Piattaforma.NET Per eseguire codice.net una macchina Windows deve avere installato il.net Framework.NET Framework CLR API di.net analogo di JRE 32

17 Piattaforme >> La Piattaforma.NET La Piattaforma.NET Di conseguenza alcune fortissime analogie con la piattaforma Java Due significative differenze un linguaggio contro molti linguaggi (...) indipendenza dalla piattaforma hardware contro dipendenza (di fatto) da Windows 33 Piattaforme >> Caratteristiche del Linguaggio Java Caratteristiche del Linguaggio Java Principali caratteristiche del linguaggio I. completamente orientato agli oggetti II. sintassi basata sul C/C++ III. semplice e robusto IV. collegamento dinamico V. caratteristiche avanzate (multi-thread, riflessione,...) 34

18 Piattaforme >> Caratteristiche del Linguaggio Java Caratteristiche del Linguaggio Java I. Completamente orientato agli oggetti non è consentita programmazione ibrida tutta la programmazione è basata su classi e oggetti II. Sintassi basata sul C/C++ similarità nei costrutti del linguaggio es: espressioni, if, cicli ecc. 35 Piattaforme >> Caratteristiche del Linguaggio Java Caratteristiche del Linguaggio Java III. Semplice e robusto drastica semplificazione rispetto al C++ gestione automatica della memoria ( garbage collection ) fortemente tipato gestione rafforzata delle eccezioni ereditarietà singola (>>) 36

19 Piattaforme >> Caratteristiche del Linguaggio Java Caratteristiche del Linguaggio Java IV. Collegamento dinamico le librerie non devono essere collegate staticamente al codice il collegamento avviene dinamicamente (appena viene richiesto l uso della libreria) grosso vantaggio: consente di collegare versioni aggiornate delle librerie senza dover ricollegare il codice V. Altre caratteristiche avanzate 37 Piattaforme >> Caratteristiche dei Linguaggio C# Caratteristiche del Linguaggio C# Linguaggi.NET una famiglia di linguaggi il principale è C# (completamente nuovo) gli altri sono adattamenti di precedenti linguaggi Microsoft (es: VB.NET), significativamente cambiati per adattarli all architettura in sostanza tutti i linguaggi sono basati sulle stesse funzionalità 38

20 Piattaforme >> Caratteristiche dei Linguaggio C# Caratteristiche del Linguaggio C# Principali caratteristiche di Java e C# I. completamente orientato agli oggetti II. sintassi basata sul C/C++ III. semplice e robusto (ATTENZIONE) IV. collegamento dinamico V. caratteristiche avanzate (multi-thread, riflessione,...) 39 Piattaforme >> Caratteristiche dei Linguaggio C# Caratteristiche del Linguaggio C# Attenzione: semplice e robusto C# eredita molte delle scelte fatte per Java gestione automatica della memoria, tipizzazione, ereditarietà singola, eccezioni... Ma è meno restrittivo nell imporre queste scelte al programmatore es: gestione della memoria, eccezioni questa è una delle principali differenze 40

21 Piattaforme >> Utilizzo degli Strumenti Utilizzo degli Strumenti Per sviluppare in Java è necessario installare il J2SE Software Development Kit (J2SE SDK) scaricabile liberamente da con la relativa documentazione (zip con file html) attenzione alle dimensioni j2sdk1.4.2.windows.exe >> circa 45 Mega j2sdk1.4.2-doc.zip >> circa 34 Mega 41 Piattaforme >> Utilizzo degli Strumenti Utilizzo degli Strumenti Post-Configurazione creare una nuova variabile di ambiente JAVA_HOME e assegnargli il valore della cartella in cui è installato l SDK Pannello di Controllo >> Sistema >> Avanzate >> Variabili di Ambiente es: JAVA_HOME=c:\Programmi\j2sdk1.4.2 aggiornare la variabile PATH aggiungendo il valore %JAVA_HOME%\bin 42

22 Piattaforme >> Utilizzo degli Strumenti Utilizzo degli Strumenti Gli strumenti principali il compilatore: javac.exe la macchina virtuale: java.exe I passo compilare il sorgente (.java) con javac eseguire il bytecode (.class) con java 43 Piattaforme >> Utilizzo degli Strumenti Un Semplice Programma Java /* Questo e' il primo programma Java file: Prima.java */ package prima; class Prima { public static void main(string[] args) { // stampa una scritta sullo schermo System.out.println("Prima prova"); } } >> 44

23 Piattaforme >> Utilizzo degli Strumenti 45 Piattaforme >> Utilizzo degli Strumenti Utilizzo degli Strumenti Per sviluppare in C# è necessario installare il.net Redestributable Package e il.net Framework SDK v. 1.1 scaricabili liberamente dal sito attenzione alle dimensioni dotnetfx.exe >> ca. 23 Mega NETSDKSetup1.1.exe >> circa 112 Mega 46

24 Piattaforme >> Utilizzo degli Strumenti Utilizzo degli Strumenti Post-Configurazione cambiare il PATH aggiungendo il valore C:\Windows\Microsoft.NET\Framework\v \ ATTENZIONE: il nome effettivo della cartella può cambiare con la versione dell SDK Lo strumento principale il compilatore csc.exe la macchina virtuale viene eseguita automaticamente 47 Piattaforme >> Utilizzo degli Strumenti Un Semplice Programma Java /* Questo e' il primo programma in C# file: primo.cs */ namaspace primo { class Prima { public static void Main(string[] args) { } // stampa una scritta sullo schermo System.Console.WriteLine("Prima Prova"); } } >> 48

25 Piattaforme >> Utilizzo degli Strumenti 49 Piattaforme >> Sommario Riassumendo Linguaggi di Riferimento La Piattaforma.NET Caratteristiche del Linguaggio Java Caratteristiche del Linguaggio C# Utilizzo degli Strumenti 50

26 Termini della Licenza Termini della Licenza This work is licensed under the Creative Commons Attribution- ShareAlike License. To view a copy of this license, visit or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Questo lavoro viene concesso in uso secondo i termini della licenza Attribution-ShareAlike di Creative Commons. Per ottenere una copia della licenza, è possibile visitare oppure inviare una lettera all indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. 51

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Introduzione Piattaforme di Riferimento versione 1.4 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Introduzione a.net. Raffaele Cappelli

Introduzione a.net. Raffaele Cappelli Raffaele Cappelli raffaele.cappelli@unibo.it .NET Framework.NET Framework Architettura Common Language Runtime (CLR) Compilazione ed esecuzione del codice Assembly Class Library Classi di base Windows

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Programmazione Web: Introduzione versione 3.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Strumenti di Sviluppo: Introduzione versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Procedurale

Programmazione Procedurale Programmazione Procedurale Concetti Introduttivi Strumenti di Sviluppo versione 3.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Programmazione Web: Architetture versione 3.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Grafica: C# versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web JavaScript Concetti Fondamentali versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ereditarietà e Polimorfismo: Polimorfismo - d Regole Sintattiche e Semantiche versione 1.2 Questo lavoro è concesso in uso secondo i termini di

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Introduzione versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Design Pattern: Introduzione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Concetti Introduttivi Parte 2 Linguaggi di Programmazione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: C# versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Introduzione Architettura di Riferimento versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 1 Introduzione versione 2.1 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Concetti Introduttivi Parte 2 Linguaggi di Programmazione versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Test e Correzione: Introduzione versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica: Convenzioni di Stile versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Introduzione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Conclusioni Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Introduzione a Java A. FERRARI

Introduzione a Java A. FERRARI Introduzione a Java A. FERRARI La nascita di Java 1991 - James Gosling lavora al Green Project (SUN) per studiare la convergenza tra dispositivi di elettronica di consumo e computer 1992 il Green Project

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Qualità del Codice: Convenzioni di Stile versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione su XML: C# versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.

Dettagli

A. Ferrari. informatica. introduzione a Java. Alberto Ferrari Informatica

A. Ferrari. informatica. introduzione a Java. Alberto Ferrari Informatica informatica introduzione a Java La nascita di Java 1991 - James Gosling lavora al Green Project (SUN) per studiare la convergenza tra dispositivi di elettronica di consumo e computer 1992 il Green Project

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Introduzione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Presentazione del Corso Anno Accademico 2003-2004 http://www.db.unibas.it/users/mecca/corsi/progoggettii versione 1.0 Questo lavoro è concesso in

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Grafica: Conclusioni versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Traduzione e interpretazione

Traduzione e interpretazione Traduzione e interpretazione Parte dei lucidi sono stati gentilmente forniti dal Prof. Salza VII.1 Linguaggi di programmazione Linguaggi ad alto livello Maggiore espressività Maggiore produttività Migliore

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Conclusioni Parte b versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Java: un linguaggio per applicazioni di rete

Java: un linguaggio per applicazioni di rete Java: un linguaggio per applicazioni di rete Moreno Falaschi Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena March 3, 2014 1 Caratteristiche di Java (SUN) Linguaggio

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Riferimenti versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Programmazione Web: Architetture versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA0 0 Linguaggio Java 1 Prerequisiti Utilizzo elementare di un pc Utilizzo di Internet per il downloading di file 2 1 Introduzione In questa lezione si descrivono gli

Dettagli

Strumenti Java. Fondamenti di informatica L-B A.A Alessandra Toninelli

Strumenti Java. Fondamenti di informatica L-B A.A Alessandra Toninelli Strumenti Java Fondamenti di informatica L-B A.A. 2006-2007 Alessandra Toninelli atoninelli@deis.unibo.it Cosa installare? J2SE SDK Software Development Kit (JDK): Contiene: tutte le classi con relativo

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Applicazioni Web J2EE: Aspetti Metodologici versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca

Dettagli

Introduzione alla Programmazione. Giselda De Vita

Introduzione alla Programmazione. Giselda De Vita Introduzione alla Programmazione Giselda De Vita - 2015 1 Sulla base dell ambito in cui si colloca il problema da risolvere, è opportuno adottare un linguaggio piuttosto che un altro: ² Calcolo scientifico:

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 1 Introduzione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Programmazione Web: Conclusioni versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Introduzione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 07 Traduzione ed esecuzione di programmi Carla Limongelli Ottobre 2011 Traduzione ed esecuzione di programmi 1 Prerequisiti Architettura

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte c versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 6 Metodologia di Sviluppo - b versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Java SE 7. Introduzione.

Java SE 7. Introduzione. Java SE 7 Introduzione diegozabot@yahoo.it ursula.castaldo@gmail.com Java Java è un linguaggio di programmazione. Inizialmente usato per creare semplici programmi nelle pagine web (chiamati applets), Java

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ereditarietà e Polimorfismo: Polimorfismo - a Programmare con il Polimorfismo versione 1.2 Questo lavoro è concesso in uso secondo i termini di

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 7 Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Strumenti per la programmazione

Strumenti per la programmazione Laboratorio di Informatica Alfonso Miola Strumenti per la programmazione Dispensa D-03 Settembre 2005 1 Contenuti Strumenti per la programmazione editing ed editor compilazione e compilatori compilazione

Dettagli

Informatica. Prof. A. Longheu. Introduzione a Java

Informatica. Prof. A. Longheu. Introduzione a Java Informatica Prof. A. Longheu Introduzione a Java 1 Code-Name Green Nome del progetto Sun con l obiettivo di fornire intelligent consumer-electronic devices. Il risultato fu Oak Un linguaggio basato su

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java : Conclusioni versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Concetti Avanzati versione 2.5 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Test e Correzione: Conclusioni - Parte b Riflessione versione 1.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons

Dettagli

Strumenti per la programmazione

Strumenti per la programmazione Editing del programma Il programma deve essere memorizzato in uno o più files di testo editing codice sorgente 25 Traduzione del programma Compilazione: è la traduzione effettuata da un compilatore Un

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Concetti Introduttivi Parte 1 Architettura del Calcolatore versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi

Dettagli

Prof. Pagani corrado JAVA

Prof. Pagani corrado JAVA Prof. Pagani corrado JAVA NASCITA DI JAVA Java è stato creato, a partire da ricerche effettuate alla Stanford University agli inizi degli anni Novanta, da un gruppo di esperti sviluppatori capitanati da

Dettagli

Lezione 2 Introduzione a Java (2)

Lezione 2 Introduzione a Java (2) Lezione 2 Introduzione a Java (2) Vittorio Corso di Programmazione Distribuita Laurea di I livello in Informatica Università degli Studi di Salerno Organizzazione della lezione Una review sulle caratteristiche

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione su XML: Strato di Persistenza versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi

Dettagli

Java: vantaggi e applicazioni di un linguaggio moderno in contesti aziendali e produttivi. Presentazione a cura di: Andrea Bertolini

Java: vantaggi e applicazioni di un linguaggio moderno in contesti aziendali e produttivi. Presentazione a cura di: Andrea Bertolini Java: vantaggi e applicazioni di un linguaggio moderno in contesti aziendali e produttivi Presentazione a cura di: Andrea Bertolini Obiettivi seminario Overview Java, origini Vantaggi e svantaggi Applicazioni

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Eccezioni: C# versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 4 Conclusioni versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Istallazione di Java - Uso delle librerie

Istallazione di Java - Uso delle librerie Indice Istallazione di Java - Uso delle librerie G. Grossi Indice Indice 1 Istallazione di Java 2 SDK 2 Indice Indice 1 Istallazione di Java 2 SDK 2 Java 1.4.2 Istallazione di Java Java è disponibile per

Dettagli

Programmazione I - corso B a.a prof. Viviana Bono

Programmazione I - corso B a.a prof. Viviana Bono Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 1 Introduzione al corso public class Benvenuti { public static

Dettagli

L'infrastruttura.NET

L'infrastruttura.NET L'infrastruttura.NET Breve presentazione dell'infrastruttura.net di Microsoft Dott. Mario Di Raimondo Dipartimento di Matematica e Informatica Università degli Studi di Catania contenuti presentati al

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 2 (a) Sintassi e Semantica versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 2 Istruzioni Condizionali versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 3 Istruzioni Iterative (Cicli) versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Grafica: Introduzione versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Java. Traditional portability (ideal)

Java. Traditional portability (ideal) 1 Java JAVA: una introduzione 2 Traditional portability (ideal) C-code (Linux) (Pentium) Executable (Linux) Executable (Win32) Linux Windows 32 (Mac) Executable (Mac) Mac 1 1 3 Portability of Java programs

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 5 Conclusioni versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.

Dettagli

Laboratorio di Programmazione Laurea in Bioinformatica

Laboratorio di Programmazione Laurea in Bioinformatica Laboratorio di Programmazione Laurea in Bioinformatica Web: http://www.scienze.univr.it/fol/main?ent=oi&id=34121 Docente: Carlo Drioli Email: drioli@sci.univr.it 2007/2008 Lucidi a cura di Nicola Drago,

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica: C# Parte a versione 2.4 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 8 Dettagli e Approfondimenti versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Test e Correzione: Conclusioni Parte a versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Incapsulamento versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 4 Conclusioni versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 5 Conclusioni versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Cosa è un calcolatore? Hardware Processore Memoria Periferiche Funzionamento Esegue istruzioni elementari Esegue istruzioni molto velocemente Deve essere programmato Il

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Le Stringhe versione 2.1 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it Università

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Test e Correzione: C# Parte a versione 1.5 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Componenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 6 Il FORTRAN versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica: C# Parte b versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Strati Applicativi versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi

Dettagli

XML extensible Markup Language

XML extensible Markup Language XML extensible Markup Language Introduzione versione 3.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università della Basilicata mecca@unibas.it

Dettagli

6. Scheda di lavoro (potenziamento: la mia prima dll ) 10/10/2014

6. Scheda di lavoro (potenziamento: la mia prima dll ) 10/10/2014 6. Scheda di lavoro (potenziamento: la mia prima dll ) 10/10/2014 Direttiva using indica uno spazio dei nomi che verrà utilizzati di frequente dall'applicazione, evitando al programmatore di specificare

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione su XML: Librerie per XML versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Tecniche di Programmazione: Date versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Introduzione ai Calcolatori Elettronici

Introduzione ai Calcolatori Elettronici Introduzione ai Calcolatori Elettronici Elementi di Base dell ICT Information and Communication Technology Concetti Introduttivi A.A. 2013/2014 Domenica Sileo Università degli Studi della Basilicata Elementi

Dettagli

Introduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni

Introduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni Introduzione a Java IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni Linguaggi di programmazione Ogni programma viene scritto utilizzando un linguaggio specializzato, formale e comprensibile da

Dettagli

Programmazione ad Oggetti. Java Parte I

Programmazione ad Oggetti. Java Parte I Programmazione ad Oggetti Java Parte I Overview Caratteristiche generali 1 Caratteristiche generali Un moderno linguaggio orientato agli oggetti Pensato per lo sviluppo di applicazioni che devono essere

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 1 Introduzione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca

Dettagli

Installazione Java Standard Edition (SDK)

Installazione Java Standard Edition (SDK) Installazione Java Standard Edition (SDK) http://www.oracle.com/technetwork/java/javase/do wnloads/index.html Cliccare su Download Cliccare su Accept License Agreement Cliccare sul file da scaricare in

Dettagli

Ambienti di Sviluppo. Linguaggi compilati

Ambienti di Sviluppo. Linguaggi compilati Insieme omogeneo di strumenti adatti allo sviluppo di progetti software. Compilatori e/o interpreti; Editor; Ambienti di Sviluppo Strumenti di debug e/o test; 1 Linguaggi compilati Codice sorgente convertito

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Programmazione su Basi di Dati: Tecnologie versione 3.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 3 Programmazione Modulare (a) versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Dati Conclusioni parte b versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.

Dettagli

Introduzione al corso. Obiettivo del corso

Introduzione al corso. Obiettivo del corso Università della Calabria Corso di Laurea in Ingegneria Elettronica Programmazione Orientata agli Oggetti A.A. 2006/2007 Introduzione al corso Paolo Trunfio * * DEIS, Università della Calabria http://si.deis.unical.it/~trunfio

Dettagli

Programmazione in Java e gestione della grafica (I modulo) Lezione 2: Prime nozioni di Java

Programmazione in Java e gestione della grafica (I modulo) Lezione 2: Prime nozioni di Java Programmazione in Java e gestione della grafica (I modulo) Lezione 2: Prime nozioni di Java Programmi Un programma è un insieme di istruzioni che il computer deve seguire Usiamo programmi in continuazione

Dettagli