Corso Java – Intoduzione Un po’ di storia Che cosa è Java ? Il primo approccio Imparare il linguaggio Essential Java classes
Un po' di storia Fine anni '70 ... riscrivere Unix 1980: C++ inadeguato 1991: “Stealth Project” Oak ... era già preso ! 1991-1995 : mercato dell'elettronica ... un disastro Luglio 1994 : un weekend che segna la svolta ... HotJava && WWW http://ei.cs.vt.edu/book/chap1/java_hist.html
Che cosa è Java ? Il Linguaggio Java è un linguaggio di programmazione ad alto livello che può essere descritto da tutti questi aggettivi : Semplice “Neutro” rispetto all'architettura Orientato agli oggetti Portabile Distribuito Ad alta performance Multithreaded Robusto Dinamico Sicuro
Il linguaggio Tutti i “sorgenti” sono scritti in files “plain text”con estensione .java. I sorgenti sono compilati in .class files dal compilatore javac . Un .class file non contiene codice nativo Contiene bytecodes — il linguaggio macchina della Java Virtual Machine (Java VM). Il tool “java launcher” fà girare il programa in una “istanza” della Java Virtual Machine.
La carta vincente : Neutralità Java VM esiste per molti sistemi operativi diversi Lo stesso .class file può girare sia su Unix che su Windows
La piattaforma Java : Una piattaforma è l'ambiente hardware o software ( o tutti e due ) nel quale un programma “gira” La maggior parte delle piattaforme può essere descritta come la combinazione del sistema operativo e dell'hardware sottostante La piattaforma Java differisce dalla maggiorn parte delle altre piattaforme perchè è una piattaforma “software-only” che “gira” su un'altra piattaforma “hardware-based”
La piattaforma Java : La piattaforma Java è basata su due componenti Java Virtual Machine Java Application Programming Interface (API)
Java Application Programming Interface (API) L' API è una grande collezione di componenti software “ready-made” che forniscono molte funzionalità Essendo un ambiente platform-independent , la piattaforma Java può essere un po' piu lenta che il codice nativo Continui miglioramenti del compilatore e della VM stanno portando le performance della piattaforma vicine a quelle del codice nativo
Overview dell'API