Confronto tra i principali Linguaggi di Programmazione
|
|
- Giacinto Angeli
- 8 anni fa
- Visualizzazioni
Transcript
1 Confronto tra i principali Linguaggi di Programmazione per Sistemi Mobile Biagini Piero Tesina Programmazione di Sistemi Mobile Anno Accademico Docente: Prof. Mirko Ravaioli Tutor: Nicolò Sordoni, Andrea Marozzi BIAGINI PIERO 1
2 della tesina In questa tesina si parlerà dei Linguaggi di Programmazione più utilizzati nei Sistemi Mobile, ovvero: (Android) C# (Windows Phone) e (ios) Verranno evidenziate somiglianze e differenze riguardanti la sintassi e le funzionalità. Introduzione è un linguaggio di programmazione orientato agli oggetti progettato per essere indipendente dalla piattaforma su cui viene eseguito. Il progetto nasce nel 1992, inizialmente chiamato Oak poi ribattezzato nell attuale, all università di Stanford. Lo sviluppo viene poi portato avanti dalla Sun Microsystem, in particolare dal team con a capo James Gosling. La presentazione ufficiale avvenne nel maggio del La sintassi di base viene mantenuta pressoché identica a quella del C++ per semplificare il passaggio da tale linguaggio, ma alcune delle caratteristiche più complesse (es. aritmetica dei puntatori, ereditarietà multipla, istruzione goto, ) sono state rimosse per rendere l utilizzo di più semplice e sicuro. Il linguaggio viene definito in un documento chiamato The Language Specifcation (JLS), pubblicato per la prima volta nel 1996 e in seguito ricevuto e ampliato. Ad oggi la versione più recente è SE 8 Edition. Uno dei punti di forza del linguaggio è il fatto che, grazie all utilizzo del processore virtuale Virtual Machine (JVM), il codice compilato (bytecode) per una certa piattaforma non deve essere ricompilato per essere eseguito su un altra (anche se esistono alcune classi che sono specifiche, ad esempio, per il sistema operativo su cui vengono utilizzate). La JVM è inclusa all interno del Runtime Environment (JRE), necessario per l esecuzione del programma compilato. e Android è il linguaggio principale utilizzato per la programmazione di applicazioni Android. In particolare il comportamento dell applicazione viene definito, generalmente, da codice, mentre il layout degli oggetti grafici è descritto in XML. BIAGINI PIERO 2
3 Non viene, tuttavia, utilizzata la classica JVM, ma ne sono state create delle versioni specifiche (in particolare Dalvik Virtual Machine fino alla versione Jelly Bean e ART da KitKat in poi). Il paradigma di programmazione utilizzato per la costruzione delle applicazioni è Event Driven, ovvero non esiste un entry point da cui il programma si avvia, carica ed esegue le sue parti, ma ogni classe è pensata per essere un componente pilotato dagli eventi. Ciò, se i componenti sono sufficientemente indipendenti, permette al SO di ottimizzare l uso di risorse evitando di caricare componenti non necessari o, allo stesso tempo, permette la condivisione di funzionalità (con un meccanismo chiamato Intent). Le applicazioni per Android vengono distribuite dal Play Store oppure direttamente sotto forma di APK (un pacchetto contenente i codici da compilare). IDE L IDE di riferimento è Android Studio, un ambiente di sviluppo basato su IntelliJ IDEA (prodotto da JetBrains). Esso ha sostituito il vecchio Eclisse Android Development Tools (ADT) basato su Eclipse. E disponibile per tutti i sistemi operativi più diffusi (Windows, Mac OS X e varie distribuzioni di Linux). C# C# è un linguaggio di programmazione orientato agli oggetti sviluppato da Microsoft all interno della framework.net. Il progetto nasce nel gennaio 1999, quando Anders Hejlsberg forma un team per lo sviluppo di un nuovo linguaggio di programmazione Object Oriented C-Like (Cool, C-like Object Oriented Language). E stato in seguito pubblicato nel luglio del 2000 alla Professional Developers Conference dopo averlo rinominato con il nome attuale e dopo aver riscritto nel nuovo linguaggio le librerie ASP.NET. Inizialmente visto come poco più di una copia di, a partire dal 2005 (anno di pubblicazione della seconda versione) ha iniziato sempre più a divergere (se non nei contenuti, nell implementazione di essi). C# non è definibile pienamente né come linguaggio compilato, né come linguaggio interpretato. In prima istanza il framework converte il programma in un codice intermedio (detto CIL) e al momento dell esecuzione il CLR, specifico per il SO, converte il CIL in codice macchina secondo una compilazione di tipo JIT. E tuttavia possibile adottare anche un tipo di compilazione detto Ngen, che permette di convertire tutto il codice CIL in codice macchina in una volta sola. A differenza di, la cui JVM (o altra macchina virtuale) è disponibile per più sistemi operativi diversi, il framework e il CLR sono disponibili solamente per Windows. Esistono tuttavia alcuni progetti open source non ufficiali come Mono e DotGNU. BIAGINI PIERO 3
4 C#e Windows Phone C# è il principale linguaggio di sviluppo per Windows Phone. Altri linguaggi utilizzati sono Visual Basic, C++ o Script. A differenza di Android, le applicazioni sviluppate per Windows Phone sono universali, ovvero sono in grado di funzionare sia su dispositivi mobili che su computer (nonostante le applicazioni vengano distribuite da due store paralleli, rispettivamente Windows Phone Store e Windows Store). Esse si basano su Windows Runtime. Oltre al C# un altro linguaggio che deve essere necessariamente utilizzato per la creazione delle app, in particolare per la descrizione del layout della varie view,è XAML (extensible Application Markup Language), analogo all XML di Android ma sviluppato da Microsoft. IDE L IDE di riferimento per la programmazione di applicazioni per Windows è Visual Studio. Esso è disponibile solamente per Windows. E inoltre necessario, a causa dell utilizzo di Windows Runtime, utilizzare la versione di Windows 8.1. è un linguaggio di programmazione orientato agli oggetti, estensione del precedente linguaggio (non a oggetti) C. Esso è ispirato al linguaggio Smalltalk e ha una logica e una sintassi notevolmente diversa da quella degli altri linguaggi OOP più diffusi ( e C#), tra cui, per esempio, la gestione dei messaggi tra gli oggetti. Il progetto nasce all inizio degli anni 80 da parte di Brad Cox e Tom Love. Essi decisero di modificare un compilatore C aggiungendo alcune caratteristiche prelevate dal linguaggio a oggetti che già conoscevano (Smalltalk) in modo da permettere, tra l altro, una maggiore riusabilità del codice. Il linguaggio così creato prese il nome di OOPC (Object-Oriented Programming in C) e venne presto dotato di numerose librerie software che consentivano al codice sorgente di essere raccolto in un solo formato multipiattaforma. La pubblicazione avvenne nel 1986 con il nome attuale. Steve Jobs, durante il suo lavoro alle NeXT (fondata dopo Apple) ottenne la licenza dell e fece realizzare il proprio compilatore e le proprie librerie sulle quali basò il sistema operativo NeXTSTEP. Dopo aver comprato NeXT nel 1966 Apple prese come base il SO NeXTStep per sviluppare il sistema operativo Mac OSX. Tutt ora le principali API di Apple (Cocoa) sono basate sugli oggetti di interfaccia OpenStep. In seguito, con l uscita sul mercato dei dispositivi mobili, venne creata l estensione Cocoa Touch. è un linguaggio totalmente compilato. BIAGINI PIERO 4
5 e ios è il linguaggio storico per lo sviluppo di applicazioni per ios (oggi è in via di sostituzione da, il nuovo linguaggio creato ad hoc da Apple di cui parleremo in seguito. Viene utilizzato il framework Foundation Kit. Esso è fedele alle specifiche di OpenStep (clone open source di NeXTStep), contenuto all interno delle Cocoa Touch API. Cocoa Touch è il framework per costruire l interfaccia grafica (contiene i set di controlli ed elementi grafici da usare nelle view) e fornisce al programmatore un astrazione del sistema operativo, permettendo di utilizzare l hardware presente all interno degli smartphone e dei tablet Apple. L architettura su cui si basano le applicazioni per ios è MVC (Model View Controller). IDE L unico IDE utilizzabile per programmare applicazioni per ios utilizzando questo linguaggio è Xcode. Esso è disponibile per le più recenti versioni del sistema operativo di casa Apple (Mac OSX). è il nuovo linguaggio di programmazione per sistemi ios e OS X presentato da Apple durante il WWDC E un linguaggio di tipo objectoriented progettato per coesistere con (linguaggio tipicamente utilizzato per gli stessi scopi), ma rendendo la scrittura del codice più semplice. Il progetto nasce nel 2010, portato avanti da un team guidato da Chris Lattner. Si ispira agli altri linguaggi di programmazione più diffusi, come, Rust, Haskell, Ruby, Python, C#, CLU, La presentazione ufficiale avviene nel 2014, quando viene rilasciata al pubblico la prima app sviluppata in questo linguaggio. è un linguaggio di tipo compilato. Grazie al compilatore LLVM è possibile creare programmi che contengono parti di codice in diversi linguaggi (C,, C++ e ). Il manuale ufficiale del linguaggio può essere trovato sull ibook Store. e ios sta affiancando nella programmazione di dispositivi ios. Esso ha infatti il vantaggio di avere una sintassi e un funzionamento notevolmente più semplici e simili ad altri linguaggi più comuni. non è, tuttavia, completo: alcune funzionalità devono necessariamente essere implementate in (es. l utilizzo delle mappe) in quanto ancora non sono state BIAGINI PIERO 5
6 scritte librerie adeguate. In questi casi torna utile la possibilità di mescolare moduli scritti in linguaggio diverso. Le restanti considerazioni fatte per possono essere considerate valide anche per. IDE Come per, l unico IDE utilizzabile è Xcode. Confronto Organizzazione dei file Il codice sorgente è contenuto all interno dei file.java. Di norma si utilizza un file per ogni classe, ma è possibile inserire anche più classi all interno dello stesso file (lo si fa quando si utilizzano classi anonime o innestate). C# Il codice sorgente è contenuto all'interno dei file.cs. Come in, di norma si inserisce un unica classe o un unico namespace all interno dello stesso file, ma è possibile inserire due o più classi o namespace all interno dello stesso file. Il codice sorgente è diviso in più file:.h: file header, contengono la dichiarazione di classi, tipi, funzioni e costanti..m: file sorgente che può contenere codice o C. Esso generalmente implementa classi e funzioni dichiarate nel relativo file header..mm: file sorgente che può contenere codice C++ oltre che e C. Il codice sorgente è contenuto all'interno dei file.swift. Generalmente si consiglia di inserire una sola classe all interno di ogni file, ma non esistono vincoli particolari. Organizzazione delle classi Le classi possono essere raggruppate in package. Essi permettono di dividere le classi in base, per esempio, a criteri semantici ed eventualmente di limitare la visibilità delle classi stesse o dei loro metodi o campi. C# Le classi possono essere raggruppate in namespace. Sono praticamente analoghi ai package di. Non è definito un modo particolare per organizzare le varie classi. Eventualmente i file sorgenti possono essere organizzati per cartella. Non è definito un modo particolare per organizzare le varie classi. Eventualmente i file sorgenti possono essere organizzati per cartella. BIAGINI PIERO 6
7 Visibilità di metodi, campi e classi private: l elemento è visibile solamente all interno della stessa classe. package: l elemento è visibile solamente all interno dello stesso package (visibilità di default) protected: l elemento è visibile solamente all interno della classe stessa oppure dalle sue sottoclassi. public: l elemento è visibile da qualunque parte del codice. C# private: l elemento è visibile solamente all interno della classe stessa. internal: l elemento è visibile solamente all interno dello stesso assembly. protected: l elemento è visibile solamente all interno della classe stessa oppure dalle sue sottoclassi. public: l elemento è visibile da qualunque parte del l elemento è visibile solamente all interno della classe l elemento è visibile solamente all interno della classe stessa oppure dalle sue l elemento è visibile da qualunque parte del codice. private: l elemento è visibile solamente all interno della classe stessa. internal: l elemento è visibile solamente all interno dello stesso modulo. public: l elemento è visibile da qualunque parte del codice. In, C# e è sufficiente apporre, prima del nome dell elemento che si vuole limitare, il tipo di visibilità desiderata. In la visibilità va invece specificata nella riga immediatamente prima. Paradigma a oggetti Incapsulamento: Ereditarietà Polimorfismo cia Sì Sì, singola Sì C# Sì Sì, singola Sì Sì Sì, singola Sì Sì Sì, singola Sì Tipi primitivi Le variabili dichiarate in questo modo non corrispondono a oggetti e, per questo, non possono avere valore nullo (al momento della dichiarazione, se non inizializzate esplicitamente, assumono un valore di default). I tipi disponibili sono byte, short, int, long, float, double, boolean, char. Ad ogni tipo primitivo corrisponde anche una classe che fa wrapping. Grazie all autoboxing è possibile assegnare semplicemente un un operatore = il valore dei tipi primitivi alla classe e viceversa. BIAGINI PIERO 7
8 C# Esistono due classi di tipi: Value Types e Reference Types. I primi sono allocati nello stack e contengono direttamente il valore (tipi primitivi) mentre i secondi fanno riferimento a oggetti allocati dinamicamente nello heap (oggetti). Di seguito alcuni esempi di value types: short, int, long, byte, char, float, double, decimal, bool. utilizza gli stessi tipi primitivi del C, quindi short, int, long, float, double, BOOL, char. Vengono utilizzati gli stessi tipi primitivi di : Int, Double, String, Gestione della memoria C# Entrambi i linguaggi utilizzano un Garbage Collector automatico: l utente non ha possibilità di controllare come viene gestita la memoria ma un sistema automatico controlla a tempo di esecuzione se gli oggetti possono o meno essere cancellati. I linguaggi per dispositivi Apple utilizzano una funzionalità detta ARC (Automatic Reference Counting). Per ogni oggetto allocato è mantenuto il conteggio dei riferimenti ad esso. Se il riferimento viene cancellato il contatore viene decrementato mentre se il riferimento viene creato il contatore viene incrementato. Una volta che ha raggiunto lo 0 si può supporre che nessuno abbia più riferimenti a tale oggetto e che possa, quindi, essere cancellato. Tale conteggio viene fatto compile-time. Classi e interfacce Ogni classe dichiarata estende da object, ma è possibile anche estendere altre classi. Per riferirsi a componenti della classe stessa può essere utilizzata la parola chiave this mentre per riferirsi a componenti della superclasse si utilizza la parola chiave super. E possibile anche dichiarare classi statiche. Una classe può essere dichiarata con una sintassi analoga alla seguente: public class myclass extends mysuperclass implements myinterface { //fields //methods C# Ogni classe dichiarata estende da object, ma è possibile anche estendere altre classi. Per riferirsi a componenti della classe stessa può essere utilizzata la parola chiave this mentre per riferirsi a componenti della superclasse si utilizza la parola chiave super. Un metodo o un campo di classe può essere dichiarato utilizzando la keyword static. E possibile anche dichiarare classi statiche. Una classe può essere dichiarata con una sintassi analoga alla seguente: public class myclass : mysuperclass, myinterface { //fields //methods BIAGINI PIERO 8
9 Ogni classe dichiarata deve estendere esplicitamente da una classe base detta oggetto root (oggetto che non estende da altri oggetti). L oggetto root più comune è NSObject. Per riferirsi a componenti della classe stessa può essere utilizzata la parola chiave self mentre per riferirsi a componenti della superclasse si utilizza la parola chiave super. Un metodo di classe viene dichiarato inserendo un segno (+), mentre un metodo d istanza inserendo un segno (-). Nota particolare per questo linguaggio dev essere fatta per le interfacce: a differenza degli altri, infatti, l interfaccia deve essere obbligatoriamente scritta nel file header. Il file sorgente importerà tale file e ne definirà l implementazione. Una tipica dichiarazione di classe prevede i seguenti costrutti: //NEL FILE MyClass : NSObject { //public fields L implementazione sarà poi presente all interno del file.m che importa tale file header tramite la direttiva #import. //NEL FILE myclass.m #import MyClass { //questa sezione si può omettere //private fields //methods Tramite la tecnica delle categorie è anche possibile aggiungere metodi (ma non campi)a classi già fatte (sia classi create personalmente che classi di libreria). Per utilizzare questo metodo bisogna, al momento dell importazione, specificare entrambi gli header separandoli con un segno + e, nella riga dove si definisce l implementazione della classe, specificare tra parentesi tonde la categoria che verrà aggiunta. Non esiste un limite al numero di categorie che possono essere aggiunte, ma ognuna deve dichiarare e definire metodi diversi. Ogni classe dichiarata deve estendere esplicitamente da una classe base detta oggetto root (oggetto che non estende da altri oggetti). L oggetto root più comune è NSObject. Per riferirsi a componenti della classe stessa può essere utilizzata la parola chiave self mentre per riferirsi a componenti della superclasse si utilizza la parola chiave super. Una dichiarazione di classe può essere fatta in questo modo: public class myclass : mysuperclass, myinterface { //fields //methods BIAGINI PIERO 9
10 Metodi La sintassi per la dichiarazione dei metodi è la seguente: public returntype mymethod(type param1, type param2, ) { Un metodo di classe può essere dichiarato utilizzando la keyword static. Un metodo può essere richiamato tramite la dot notification (nomedelloggetto.metodo() per metodi di istanza oppure nomedellaclasse.metodo() per metodi di classe). C# La sintassi per la dichiarazione dei metodi è la seguente: public returntype mymethod(type param1, type param2, ) { Un metodo di classe può essere dichiarato utilizzando la keyword static. Un metodo può essere richiamato tramite la dot notification (nomedelloggetto.metodo() per metodi di istanza oppure nomedellaclasse.metodo() per metodi di classe). La sintassi per la dichiarazione dei metodi è la seguente: - (returntype)methodnameparam1label:(type)param1name Param2Label:(type)Param2Name; //metodo di istanza +(returntype)methodnameparam1label:(type)param1name Param2Label:(type)Param2Name; //metodo di classe A differenza degli altri linguaggi di programmazione in non si chiama un metodo, ma si invia un messaggio. Esso corrisponde alla firma del metodo con, in aggiunta, le informazioni sui parametri. La sintassi è la seguente: [myobject methodnameparam1label:value Param2Label:value]; La sintassi per la dichiarazione dei metodi è la seguente: public func myfuncname(param1:type, param2:type, ) - > ReturnType { Un metodo o un campo di classe può essere dichiarato utilizzando la keyword static. Un metodo può essere richiamato tramite la dot notification (nomedelloggetto.metodo() per metodi di istanza oppure nomedellaclasse.metodo() per metodi di classe). In, C# e è possibile fare overload dei metodi delle classi semplicemente aggiungendo la parola chiave override e riprendendo la signature del metodo di cui si vuole fare overload. Al contrario, non supporta pienamente tale funzione, ma si adotta lo stratagemma di modificare il primo argomento. In tutti i linguaggi è inoltre possibile creare classi astratte, ma mentre in e in C# non è possibile poi istanziarle a causa di controlli del compilatore, in non è presente tale limitazione (non esiste infatti distinzione tra classe astratta o meno). BIAGINI PIERO 10
11 Dichiarazione di variabili, oggetti e campi Per i tipi primitivi: type name = initvalue; Per gli oggetti: class name = new Class(params); Nel caso si parli di campi è possibile aggiungere diverse parole chiave, tra cui final (valore non più modificabile), volatile (utile nel caso la variabile sia condivisa da più thread, evita inconsistenza), static (campo di classe), C# Per i tipi primitivi: type name = initvalue; Per gli oggetti: class name = new Class(params); Nel caso si parli di campi è possibile aggiungere diverse parole chiave, tra cui final, volatile, static, Nel caso di dichiarazione e inizializzazione della variabile sulla stessa riga è possibile usare la parola chiave var invece del tipo o della classe. Per i tipi primitivi: type name = initvalue; Per gli oggetti: class *name = [[Class alloc] init]; E necessario ricordarsi che in sono presenti i puntatori. E possibile dichiarare un puntatore semplicemente apponendo un * prima del nome della variabile. Per i tipi primitivi: var name:mytype = initvalue; Per gli oggetti: var name:class = Class(paramName:param ); Oltre alla parola chiave var è presente anche la parola chiave let. La differenza è che con la prima il valore può essere modificato mentre con la seconda no. Nel caso l inizializzazione avvenga nello stesso momento della dichiarazione della variabile, il tipo di dato può essere omesso. Interfacce e protocolli Le interfacce ( e C#) o protocolli () consentono di definire un elenco di metodi che le classi che implementano l interfaccia/protocollo dovranno contenere e implementare. Essi si dichiarano in maniera analoga alle classi ma usando la parola chiave interface o protocol (a seconda del linguaggio che si sta utilizzando). BIAGINI PIERO 11
12 Proprietà In C# e è possibile definire le proprietà, ovvero metodi di accesso ai campi degli oggetti dichiarabili in maniera veloce. C# type fieldname { { get; { set; All interno delle parentesi graffe che contengono get e set è possibile specificare delle operazioni che dovranno essere compiute prima di ottenere il dato o prima dell assegnazione. Non è necessario creare entrambi i metodi di mytype myvariable; Tale sintassi è analoga a definire due metodi di accesso, un getter e un setter. Il primo ha nome uguale al campo mentre il secondo prende il nome di setmyvariable:. E eventualmente possibile specificare nomi diversi. Dopo essere state dichiarate, le proprietà devono essere implementate tramite la public enum MyEnum { elem1, elem2, Enumeration In le Enum vengono dichiarate come classi. I valori possono essere richiamati tramite la dot notification. C# enum MyEnum { elem. = value, elem. = value, In C# le Enum possono essere dichiarate all interno delle classi. E possibile assegnare un valore ad ogni elemento. I valori possono essere richiamati tramite la dot notification. enum MyEnum { elem1, elem2, ; E poi possibile definire un nuovo tipo di dato per evitare di utilizzare la keyword enum ogni volta. In questo modo i valori possono essere richiamati semplicemente chiamandoli per nome. typedef MyEnumType MyEnum enum MyEnum { elem1, elem2, I valori possono essere richiamati tramite dot notification. BIAGINI PIERO 12
13 Delegate/Closure e Lambda Expression Il meccanismo dei delegate non è disponibile in. Le Lambda Expression sono disponibili a partire dalla versione 8 e possono essere dichiarate con la seguente sintassi: type lambdaname = (list of params) - > { //statement or block of code C# Entrambe le funzionalità sono disponibili in C#. Per l utilizzo dei delegate è sufficiente dichiarare una variabile di tipo delegate e assegnare ad essa un metodo tramite l operatore =: returntype myfunction() { delegate returntype delegatename(params) = myfunction(); Le Lambda Expression hanno una sintassi simile a quella di : delegate returntype lambdaname(params) => { //statement or block of code In i delegate prendono il nome di Blocchi o Closure. Possono essere dichiarati in questo modo: returntype (^ myblock)(params); //dichiarazione del prototipo myblock = ^(params) { //code ; Il blocco così dichiarato può essere utilizzato, utilizzato direttamente o anche passato come parametro. Come in C#, per la creazione di un delegate è sufficiente assegnare ad una variabile un metodo creato in precedenza oppure un metodo anonimo creato con la seguente sintassi: var myclosure = { (parameters) - > returntype in //statements BIAGINI PIERO 13
Oggetti Lezione 3. aspetti generali e definizione di classi I
Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Installazione SOFTWARE JDK ECLIPSE 03/03/2011 2 ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di
DettagliIntroduzione a Dev-C++
Introduzione a Dev-C++ Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Note: Dev-C++ richiede Windows 95/98/NT/2000/XP
DettagliApproccio stratificato
Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia
DettagliTipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
DettagliJava Virtual Machine
Java Virtual Machine programmi sorgente: files.java compilatore files.class bytecode linker/loader bytecode bytecode Java API files.class interprete macchina ospite Indipendenza di java dalla macchina
DettagliProgrammazione in Java Parte I: Fondamenti
Programmazione in Java Parte I: Fondamenti Lezione 1 Dott. Marco Faella Riferimenti Testi consigliati: Progettazione del software e design pattern in Java di C.S. Horstmann Apogeo Gli esempi di codice
DettagliDatabase. Si ringrazia Marco Bertini per le slides
Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida
DettagliImplementazione di MVC. Gabriele Pellegrinetti
Implementazione di MVC Gabriele Pellegrinetti 2 Come implementare il pattern Model View Controller con le tecnologie JSP, ASP e XML Implementazione del pattern MVC in Java (JSP Model 2) SUN è stato il
DettagliProgettazione : Design Pattern Creazionali
Progettazione : Design Pattern Creazionali Alessandro Martinelli alessandro.martinelli@unipv.it 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali
DettagliModulo 4: Ereditarietà, interfacce e clonazione
Modulo 4: Ereditarietà, interfacce e clonazione Argomenti Trattati: Classi, Superclassi e Sottoclassi Ereditarietà Ereditarietà ed Attributi Privati Override super Ereditarietà e Costruttori Polimorfismo
DettagliCorso di Laurea Ingegneria Civile Fondamenti di Informatica. Traduzione ed esecuzione di programmi. Dispensa 08
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 08 Traduzione ed esecuzione di programmi Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente materiale didattico
DettagliObject Oriented Programming
OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in
DettagliIntroduzione alla Virtualizzazione
Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: luca.tasquier@unina2.it Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse
DettagliSistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL
STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione
DettagliProgrammazione 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
DettagliNascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti
Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del
DettagliLINGUAGGI DI PROGRAMMAZIONE
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
DettagliIl Sistema Operativo (1)
E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale
DettagliProva Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse
Prova Finale a.a. 2011/2012 Laboratorio 1: Introduzione a Java e Eclipse 1 Java 6 Standard Edition Linguaggio Java (... (javac, Tool di sviluppo Librerie per l'interfaccia grafica Librerie di base Macchina
DettagliParola chiave extends
Il Linguaggio Java Ereditarietà Ereditarietà L'ereditarietà permette di creare nuove classi sulla base di classi esistenti In particolare, permette di riusare il codice (metodi e campi); aggiungere nuovi
DettagliManuale di realizzazione dei modelli di documento
MystiqueXML Manuale di realizzazione dei modelli di documento Indice 1 Le tabelle...5 1.1 Tabelle condizionali...5 1.2 Tabelle Multiple - un solo livello...5 1.3 Tabelle Multiple - a più livelli...5 2
Dettagli!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&) !"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9
!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&)!"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9 Slide 1 Paradigmi di Programmazione! Un linguaggio supporta uno stile di programmazione se
DettagliIntroduzione alla programmazione Java. Dott. Ing. M. Banci, PhD
Introduzione alla programmazione Java Dott. Ing. M. Banci, PhD Obiettivi del corso Creare, compilare, e eseguire programmi Java Tipi di dato primitivi Flusso di controllo Java Metodi Arrays Introduzione
DettagliFONDAMENTI di INFORMATICA L. Mezzalira
FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software
DettagliSISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09
SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli
DettagliXML e PHP. Gestire XML con PHP. Appendice
Appendice XML e PHP Tra tutti i linguaggi di programmazione esistenti PHP è tra quelli che meglio si adattano all elaborazione di documenti XML. PHP è un linguaggio di programmazione che consente di arricchire
DettagliCorso di Informatica
Corso di Informatica Modulo T1 B2 Significato e proprietà della OOP 1 Prerequisiti Concetto ed elementi della comunicazione Allocazione e deallocazione della memoria Compilazione di un programma Spazio
DettagliStrumenti 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
DettagliI Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo
I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?
DettagliProgrammazione a Oggetti Lezione 10. Ereditarieta
Programmazione a Oggetti Lezione 10 Ereditarieta Sommario Come definire sottoclassi Costruttori Abstract Classes Final Ereditarietà: promemoria Strumento tipico dell OOP per riusare il codice e creare
DettagliProtezione. Protezione. Protezione. Obiettivi della protezione
Protezione Protezione La protezione riguarda i meccanismi per il controllo dell accesso alle risorse in un sistema di calcolo da parte degli utenti e dei processi. Meccanismi di imposizione fissati in
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Applicazioni Web J2EE: Java Servlet Parte a versione 3.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca
DettagliJava: Compilatore e Interprete
Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT
DettagliINFORMATICA 1 L. Mezzalira
INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello
DettagliInformatica 3. LEZIONE 7: Fondamenti di programmazione orientata agli oggetti (1)
Informatica 3 LEZIONE 7: Fondamenti di programmazione orientata agli oggetti (1) Modulo 1: Introduzione: oggetti e classi Modulo 2: Link e associazioni Modulo 3: Aggregazione Informatica 3 Lezione 7 -
DettagliCapitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2.
Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Dichiarazione di dati: le direttive DS e DC...3 2.1 Direttiva DS...3 2.2
Dettagli13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti
13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
Dettaglidall argomento argomento della malloc()
Allocazione dinamica Quando? Tutte le volte in cui i dati possono crescere in modo non prevedibile staticamente a tempo di sviluppo Un array con dimensione i fissata a compile-time non è sufficiente È
DettagliFondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi
Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni
DettagliCorso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO
Corso Base Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Java Java è un Linguaggio di Programmazione orientato agli oggetti. Un Linguaggio di Programmazione è un linguaggio ad alto livello, dotato
DettagliIl SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)
Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può
DettagliGuida all uso delle Web View su ios
Guida all uso delle Web View su ios Tesina per il corso di Programmazione di Sistemi Mobile Lorenzo Pellegrini Matricola: 0000653299 Cosa sono le Web View? Le web view sono componenti grafiche, integrabili
DettagliLa gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)
La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema
DettagliProgrammazione 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
DettagliConcetto di Funzione e Procedura METODI in Java
Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile
DettagliMac Application Manager 1.3 (SOLO PER TIGER)
Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i
DettagliIl web server Apache Lezione n. 3. Introduzione
Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar
DettagliI file di dati. Unità didattica D1 1
I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità
DettagliInformatica. 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
DettagliUniversità degli Studi di Messina
Università degli Studi di Messina Guida alla Rendicontazione on-line delle Attività del Docente Versione della revisione: 2.02/2013-07 A cura di: Fabio Adelardi Università degli studi di Messina Centro
DettagliCosa è un foglio elettronico
Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti
DettagliIntroduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
DettagliCASO D USO: MICRORACCOLTA. 21 aprile 2015 www.sistri.it
CASO D USO: MICRORACCOLTA 21 aprile 2015 www.sistri.it DISCLAIMER Il presente documento intende fornire agli Utenti SISTRI informazioni di supporto per poter utilizzare agevolmente ed in maniera efficace
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
DettagliSistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory
FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File
DettagliCon il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.
Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell
DettagliProduct Shipping Cost Guida d'installazione ed Utilizzo
Guida d'installazione ed Utilizzo Installazione Per installare il modulo è sufficiente copiare la cartella app del pacchetto del modulo nella cartella principale dell'installazione di Magento dove è già
DettagliAmbienti di Sviluppo
Ambienti di Sviluppo Insieme omogeneo di strumenti adatti allo sviluppo di progetti software. Editor; Compilatori e/o interpreti; Strumenti di test; Applicazioni che permettono di editare / disegnare il
DettagliVisual basic base Lezione 01. L'ambiente di sviluppo
L'ambiente di sviluppo L'ambiente di sviluppo Visual basic è un linguaggio di programmazione Microsoft. In questo corso prenderemo in considerazione, l'ultima versione. net di questo linguaggio. Microsoft
DettagliLe command line di Java
Le command line di Java Esercitazioni di Programmazione 2 Novella Brugnolli brugnoll@science.unitn.it Ambiente di lavoro Per compilare ed eseguire un programma Java abbiamo bisogno di: The JavaTM 2 Platform,
DettagliInforma(ca Appun% dal laboratorio 2
Informa(ca Appun% dal laboratorio 2 Conce- fondamentali Esistono programmi, come Microso8 Word oppure Acrobat Reader, che vengono usa% dagli uten% per far eseguire al computer determinate operazioni (come
DettagliIl Software. Il software del PC. Il BIOS
Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:
DettagliBDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software. Caratteristiche fondamentali. Linguaggi utilizzati. Navigazione 3D
BDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software BDX 3D Editor è un programma che permette di navigare ed editare texture in un qualsiasi modello 3D.E compatibile con i software in grado di esportare
DettagliCorso di Sistemi di Elaborazione delle informazioni
Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del
DettagliPronto Esecuzione Attesa Terminazione
Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma
DettagliSoftware di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche
Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica
Dettagli11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0
11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE
DettagliDefinizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base
Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore
DettagliMANUALE MOODLE STUDENTI. Accesso al Materiale Didattico
MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...
DettagliArchitetture Applicative
Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture
DettagliProgrammazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso
Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso Informazioni generali Docente: Prof.ssa Dora Giammarresi: giammarr@mat.uniroma2.it Tutor:??? Informazioni generali
DettagliSOMMARIO Coda (queue): QUEUE. QUEUE : specifica QUEUE
SOMMARIO Coda (queue): Specifica: interfaccia. Implementazione: Strutture indicizzate (array): Array di dimensione variabile. Array circolari. Strutture collegate (nodi). Prestazioni. Strutture Software
DettagliProgrammazione a Oggetti Modulo B
Programmazione a Oggetti Modulo B Progetto Dott. Alessandro Roncato 4/10/2011 Progetto Da svolgere singolarmente Scadenza consegna: una settimana prima dello scritto; Valutazione in base a: Corretta compilazione
DettagliComunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione
I semestre 04/05 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1
DettagliGestione dei servizi all utenza. 3. Autorizzazioni
Istituto Centrale per il Catalogo Unico delle Biblioteche Italiane e per le Informazioni bibliografiche Manuali utente per SBN WEB Gestione dei servizi all utenza 3. Autorizzazioni 1 2 1. Introduzione
DettagliCorso di Amministrazione di Reti A.A. 2002/2003
Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm
DettagliDall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere
DettagliProff. Fabio Ciao e Raffaele Bortone
ISTITUTO D ISTRUZIONE SUPERIORE FERRARIS BRUNELLESCHI - EMPOLI Materia: INFORMATICA PROGRAMMAZIONE ANNUALE A.S. 2014/2015 Classe IV C Informatica Proff. Fabio Ciao e Raffaele Bortone Libro di testo: Cloud
DettagliSistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
DettagliAcronis Universal Restore
Acronis Universal Restore MANUALE UTENTE Sommario 1 Che cos'è Acronis Universal Restore...3 2 Installazione di Acronis Universal Restore...3 3 Creazione di supporto di avvio...3 4 Utilizzo di Acronis Universal
DettagliTelematica II 17. Esercitazione/Laboratorio 6
Multitasking e Multithreading Telematica II 17. Esercitazione/Laboratorio 6 Multitasking si riferisce all abilità di un computer di eseguire processi (jobs) multipli in maniera concorrente si ricorda che
DettagliTutorial per l installazione del J2SE 6 e configurazione del sistema operativo
Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo Ing. Giovanni Ponti DEIS Università della Calabria gponti@deis.unical.it La piattaforma Java mette a disposizione una serie
DettagliFile system II. Sistemi Operativi Lez. 20
File system II Sistemi Operativi Lez. 20 Gestione spazi su disco Esiste un trade-off,tra spreco dello spazio e velocità di trasferimento in base alla dimensione del blocco fisico Gestione spazio su disco
DettagliBreve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida
Breve introduzione curata da Alessandro Benedetti Struts2-Introduzione e breve guida 22-11- 2008 1 Struts 2 Costruisci,attiva e mantieni! Apache Struts 2 è un framework elegante ed estensibile per creare
Dettagli5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record
5.3 TABELLE In un sistema di database relazionali le tabelle rappresentano la struttura di partenza, che resta poi fondamentale per tutte le fasi del lavoro di creazione e di gestione del database. 5.3.1
DettagliGli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori
Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine
DettagliSommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.
Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell
DettagliSistema operativo: Gestione della memoria
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e
DettagliGestione della memoria. Paginazione Segmentazione Segmentazione con paginazione
Gestione della memoria Paginazione Segmentazione Segmentazione con paginazione Modello di paginazione Il numero di pagina serve come indice per la tabella delle pagine. Questa contiene l indirizzo di base
DettagliSistemi operativi. Esempi di sistemi operativi
Sistemi operativi Un sistema operativo è un programma che facilita la gestione di un computer Si occupa della gestione di tutto il sistema permettendo l interazione con l utente In particolare un sistema
DettagliRegione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da
ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario
DettagliLa struttura dati ad albero binario
La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,
DettagliWG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15
WG TRANSLATE Pagina 1 di 15 Sommario WG TRANSLATE... 1 1.1 INTRODUZIONE... 3 1 TRADUZIONE DISPLAY FILE... 3 1.1 Traduzione singolo display file... 4 1.2 Traduzione stringhe da display file... 5 1.3 Traduzione
DettagliVisual Basic.NET La Gestione degli Errori di Federico BARBATI
Generalità Visual Basic.NET La Gestione degli Errori di Federico BARBATI La gestione degli errori, è una parte fondamentale di un codice ben progettato. Fino ad oggi, gli errori nelle applicazioni scritte
DettagliPROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE
PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE Relatore: prof. Michele Moro Laureando: Marco Beggio Corso di laurea in Ingegneria Informatica Anno Accademico 2006-2007
Dettagli5.6.1 REPORT, ESPORTAZIONE DI DATI
5.6 STAMPA In alcune circostanze può essere necessario riprodurre su carta i dati di tabelle o il risultato di ricerche; altre volte, invece, occorre esportare il risultato di una ricerca, o i dati memorizzati
DettagliSiti web centrati sui dati Architettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
DettagliInizializzazione, Assegnamento e Distruzione di Classi
Inizializzazione, Assegnamento e Distruzione di Classi Lezione 9 Operazioni Automatiche In ogni programma C++ oggetti classe vengono gestiti automaticamente dal compilatore Inizializzati al momento della
DettagliJava:Struttura di Programma. Fabio Scanu a.s. 2014/2015
Java:Struttura di Programma Fabio Scanu a.s. 2014/2015 Altre Attenzioni da riservare Java è Case Sensitive: La variabile «a» e la variabile «A» sono diverse Java ha alcune regole di scrittura: I nomi delle
Dettagli