




























































































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
INDICE DEGLI ARGOMENTI: - Fondamenti della programmazione - Dal problema all'algoritmo e dall'algoritmo al codice - Programmazione strutturata - Metodi e Funzioni - Classi e Librerie - Oggetti - Strutture dati - Eccezioni
Tipologia: Sintesi del corso
1 / 367
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!





























































































Indice degli Argomenti
2. Perché è Utile Saper Programmare? Saper programmare offre numerosi vantaggi che vanno ben oltre il semplice utilizzo professionale. Ecco i tre principali benefici: Beneficio Descrizione dettagliata Migliora il modo di pensare La programmazione allena il pensiero logico e analitico. Imparare a scomporre un problema complesso in passi più semplici è una competenza applicabile in ogni ambito della vita, non solo in informatica. Dà sfogo alla propria creatività Programmare significa costruire qualcosa dal nulla: un'applicazione, un sito web, un gioco. È uno strumento creativo potente che permette di trasformare idee in realtà digitale, dando piena libertà espressiva. Dà una marcia in più nel mondo del lavoro Le competenze informatiche sono tra le più richieste dal mercato del lavoro attuale e futuro. Conoscere almeno le basi della programmazione apre le porte a molti settori e aumenta significativamente le opportunità professionali. Pensiero computazionale: la capacità di scomporre problemi complessi in passi elementari risolvibili da un computer — è considerata una delle competenze fondamentali del XXI secolo, al pari della lettura e della matematica.
3. Quale Linguaggio Scegliere? Una delle domande più frequenti di chi inizia a programmare è: "Qual è il miglior linguaggio di programmazione?" Esistono centinaia di linguaggi di programmazione, ognuno con caratteristiche, punti di forza e ambiti di utilizzo diversi. Tra i più noti troviamo: C, C++, Python, PHP, JavaScript, Ruby, Pascal, Visual Basic, Scala, Rust, e molti altri. La risposta giusta Non esiste un linguaggio di programmazione migliore in assoluto. La scelta dipende dall'ambito di applicazione, dagli obiettivi e dal livello di esperienza. Tuttavia, Java si distingue come linguaggio ideale sia per chi inizia sia per chi lavora professionalmente. Criteri per scegliere un linguaggio - Popolarità e diffusione nel mercato del lavoro - Facilità di apprendimento per i principianti - Versatilità degli ambiti di applicazione - Disponibilità di risorse, guide e comunità di supporto - Robustezza, affidabilità e sicurezza - Portabilità tra sistemi operativi e piattaforme diverse
5. Il Segreto di Java: la Portabilità e la JVM Il principio fondamentale: Write Once, Run Anywhere Il segreto di Java è la Portabilità. Un programma scritto in Java può essere eseguito su qualsiasi sistema operativo (Windows, Linux, Mac, ecc.) senza dover essere riscritto o modificato. Questo principio è noto con il motto "Write Once, Run Anywhere" (scrivi una volta, esegui ovunque). Come funziona: il ruolo della JVM La portabilità è resa possibile grazie a un componente fondamentale chiamato Java Virtual Machine (JVM). Componente Ruolo Codice sorgente Java (.java) Il programmatore scrive il codice in linguaggio Java, comprensibile agli esseri umani. Compilatore Java (javac) Traduce il codice sorgente in bytecode (.class), un formato intermedio non legato a nessun sistema operativo specifico. Bytecode (.class) Codice intermedio, portabile su qualsiasi piattaforma. Non è codice macchina ma non è nemmeno codice sorgente leggibile. Java Virtual Machine (JVM) Interpreta e converte il bytecode in istruzioni specifiche per il sistema operativo su cui è installata (Windows, Linux, Mac, ecc.). Risultato finale Il programma viene eseguito correttamente su qualsiasi sistema operativo che abbia una JVM installata. Schema del funzionamento Il flusso di esecuzione di un programma Java avviene come segue: Passo Azione Strumento 1 Il programmatore scrive il codice sorgente Editor / IDE (es. IntelliJ, Eclipse) 2 Il compilatore trasforma il codice in bytecode javac (compilatore Java)
6. La Storia di Java (1991 → 2019) Java ha una storia affascinante, nata da un'idea rivoluzionaria e cresciuta fino a diventare uno dei linguaggi più importanti dell'informatica moderna. Le origini: il Progetto Oak (1991) Java nacque nel 1991 come progetto interno di un'azienda tecnologica specializzata in sistemi informatici. Un piccolo team di ingegneri, guidato da un informatico che sarebbe poi diventato celebre come il "padre di Java", iniziò a lavorare su un nuovo linguaggio di programmazione. L'obiettivo iniziale era creare un linguaggio per programmare dispositivi elettronici di consumo come televisori, videoregistratori e altri elettrodomestici intelligenti. Il progetto prese il nome iniziale di Oak (quercia), ispirandosi a un albero visibile dalla finestra dell'ufficio degli sviluppatori. In seguito, quando si scoprì che quel nome era già registrato da un'altra azienda, il linguaggio fu rinominato Java. La svolta: il lancio ufficiale (1995) Il progetto Oak non ottenne inizialmente il successo sperato nel mercato degli elettrodomestici. Tuttavia, con la rapida espansione di Internet negli anni '90, il team intuì le enormi potenzialità del linguaggio per il Web. Nel maggio del 1995, in occasione di un importante evento tecnologico internazionale, Java fu presentato ufficialmente al pubblico con il sito web dedicato al linguaggio e il primo browser Java-compatible. Questo evento segnò una svolta storica: il linguaggio era ideale per le pagine web dinamiche e per le applicazioni distribuite su Internet. L'evoluzione delle versioni (1996 → 2019) Da quel momento, Java non ha mai smesso di evolversi. Di seguito la cronologia delle principali versioni rilasciate: Gen 1996 JDK 1.0 (Java 1) — Prima versione ufficiale, rilascio pubblico del linguaggio. Feb 1997 JDK 1.1 (Java 1) — Miglioramenti significativi del linguaggio e delle librerie.
Dic 1998 J2SE 1.2 (Java 2) — Introduce la piattaforma Java 2 con importanti estensioni. Mag 2000 J2SE 1.3 (Kestrel) — Ottimizzazioni delle prestazioni e nuove API. Feb 2002 J2SE 1.4 (Merlin) — Supporto per XML, HTTPS, espressioni regolari. Set 2004 J2SE 5.0 (Tiger) — Grandi novità: generics, enumerazioni, autoboxing. Dic 2006 Java SE 6 (Mustang) — Miglioramenti alle prestazioni e al supporto per i web service. Lug 2011 Java SE 7 (Dolphin) — Supporto per nuove strutture linguistiche. Mar 2014 Java SE 8 (Java 8) — Introduzione delle lambda expression e degli stream. 2019 Java 11 (LTS) — Versione a supporto a lungo termine, standard moderno de facto. Nota: Le versioni LTS (Long-Term Support) sono quelle raccomandate per ambienti di produzione perché ricevono aggiornamenti di sicurezza per un periodo prolungato. Java 8 e Java 11 sono le più diffuse in ambito professionale. Java oggi Dopo quasi trent'anni dalla sua nascita, Java rimane uno dei linguaggi di programmazione più rilevanti al mondo. Viene utilizzato in miliardi di dispositivi in tutto il pianeta, dalle applicazioni bancarie enterprise ai sistemi embedded, dall'ecosistema Android ai grandi sistemi distribuiti su cloud. La sua longevità è la prova della solidità del progetto originario: un linguaggio portabile, robusto, sicuro e orientato agli oggetti, pensato per durare nel tempo e adattarsi alle esigenze sempre nuove dell'informatica.
Argomenti trattati: Dall'idea alla realtà • Il Computer • Il Software Linguaggi di programmazione • La Java Virtual Machine Installazione degli strumenti • Primo programma Hello World
1. Dall'Idea alla Realtà: Cosa Significa Programmare Programmare significa scrivere una lista di istruzioni che abilitano un computer a svolgere compiti per risolvere un determinato problema. Si tratta di tradurre un'idea umana in un formato comprensibile per la macchina. Definizione Programmare: creare una sequenza strutturata di istruzioni che un computer esegue in modo autonomo per produrre un risultato atteso a partire da dati in ingresso. 1.1 Il Processo di Programmazione Il percorso che porta da un'idea a un programma funzionante si articola in tre fasi principali: - Processo mentale: il programmatore analizza il problema e definisce la logica risolutiva. - Codifica: la logica viene tradotta in istruzioni nel linguaggio di programmazione scelto. - Esecuzione: la macchina esegue le istruzioni in autonomia e produce l'output desiderato. Il computer, a differenza della mente umana, non è in grado di ragionare autonomamente: è un esecutore di ordini. Riceve dati in input, esegue una serie di operazioni o istruzioni predefinite, e produce un output. Un computer senza un software da eseguire è quindi inutile.
1 Gigabyte (GB) 1.024 Megabyte 1 Terabyte (TB) 1.024 Gigabyte
3. Il Software: Cos'è e Come Si Classifica I Software sono una collezione di programmi che possono essere eseguiti da un computer o da qualsiasi dispositivo hardware (smartphone, tablet, ecc.). Tutti i programmi presenti sui nostri dispositivi sono software. 3.1 Le Due Categorie Principali System Software Software che gestisce le risorse hardware e funge da intermediario tra utente e macchina. Nasconde i dettagli hardware, consente l'accesso alle risorse e protegge da danni accidentali. Esempi: sistemi operativi (Windows, Linux, macOS, Android), driver. Application Software Software progettato per eseguire compiti specifici dell'utente finale. Esempi: browser web, editor di testo, fogli di calcolo, applicazioni di produttività. 3.2 Il Programming Software e gli IDE Esiste una sottocategoria degli Application Software dedicata allo sviluppo di altri programmi: il Programming Software. Include: - Editor di testo: strumenti semplici per scrivere codice sorgente. - IDE (Integrated Development Environment): ambienti completi che segnalano errori di sintassi durante la scrittura, offrono strumenti di debugging e funzionalità avanzate di supporto allo sviluppo. Esempi: Eclipse, IntelliJ IDEA.
5. La Java Virtual Machine (JVM) A differenza degli altri linguaggi di programmazione, Java ha come obiettivo fondamentale quello di funzionare su ogni tipo di hardware che disponga di un'implementazione della Java Virtual Machine (JVM). Questo principio è riassunto nel motto: "Write Once, Run Anywhere". 5.1 Come Funziona la JVM Il processo di esecuzione di un programma Java si articola in due fasi: 1. Il codice sorgente (file .java) viene compilato dal compilatore Java in un formato intermedio chiamato bytecode (file .class). 2. Il bytecode non è codice macchina specifico per un hardware: è un formato universale interpretato dalla JVM installata sul dispositivo di destinazione. 3. La JVM traduce il bytecode in istruzioni native per il sistema operativo e l'hardware su cui è in esecuzione (Windows, Linux, macOS). Vantaggio JVM Compilando una volta sola in bytecode, lo stesso programma Java può girare su Windows, Linux e macOS senza dover essere ricompilato, purché sia installata la JVM appropriata.
6. Strumenti di Lavoro: Installazione e Configurazione 6.1 Il Java Development Kit (JDK) Il JDK è il pacchetto fondamentale per sviluppare applicazioni Java. Include: - La Java Virtual Machine (JVM) - Le librerie standard (Java Core API) - Gli strumenti per compilare ed eseguire programmi Java Una volta installato il JDK, è necessario configurare le variabili di ambiente del sistema operativo affinché sia possibile richiamare gli strumenti Java da qualsiasi cartella del filesystem senza dover specificare ogni volta il percorso completo di installazione. 6.2 Configurazione della Variabile PATH su Windows Le variabili d'ambiente sono stringhe che contengono informazioni quali percorsi di file o nomi di cartelle, utili per interagire in modo semplice con il sistema operativo. Procedura per Windows 10/11: 4. Cercare "Sistema" nel Pannello di controllo e aprirlo. 5. Fare clic su "Impostazioni di sistema avanzate". 6. Fare clic su "Variabili d'ambiente". 7. Nella sezione "Variabili di sistema", individuare la variabile PATH e selezionarla. Fare clic su "Modifica". Se non esiste, fare clic su "Nuova". 8. Aggiungere il percorso della cartella bin del JDK (es. C:\Program Files\Java\jdk-XX\bin), separato dagli eventuali valori precedenti con un punto e virgola (;). 9. Confermare con OK e riavviare il prompt dei comandi. Procedura per Linux/macOS (shell bash): # Aprire il file ~/.bashrc # Aggiungere la seguente riga: export PATH="$PATH":/usr/local/jdk/bin # Salvare e aprire un nuovo terminale # Verificare con: java - version 6.3 L'IDE Eclipse