Prima di iniziare a vedere nei dettagli gli aspetti più particolari di Java, cominciamo a parlare di questo argomento partendo dalle basi. Che cos’è Java? Java è un linguaggio di programmazione che rientra nella categoria Object Oriented; questo significa che è uno strumento utilizzabile da chi vuole realizzare dei programmi e che tali programmi vengono realizzato per mezzo di astrazioni, chiamate appunto oggetti. Questo linguaggio è stato ideato da Sun Microsystem, una società americana che vanta l’invenzione, tra gli altri, del sistema operativo Solaris e della suite StarOffice.
Java è stato ideato prendendo ispirazione dal più noto e diffuso C++, affinando però alcune caratteristiche in modo da uniformarlo alla filosofia di base: doveva essere Object Oriented e così è stato fatto, togliendo alcune caratteristiche che si possono trovare in C++ (come ereditarietà multipla e caratteristiche provenienti dal C) e aggiungendone altre, appartenenti ai soli linguaggi “pure Object Oriented” (come la caratteristica per la quale ciascun programma Java è sempre composto da almeno una classe).
Un’altra caratteristica molto importante di tale linguaggio è la sua capacità di generare programmi “cross-platform“: questo significa che i compilati (ovvero gli eseguibili) sono perfettamente trasportabili da una piattaforma all’altra, senza la necessità di riscrivere il codice sorgente e ricompilarlo. In altre parole, un programma Java che funziona su un PC dotato di sistema operativo Windows, potrà essere preso e spostato in un sistema Linux (o Solaris, Mac, ecc.) senza dover rimettere mano al sorgente. Per poter garantire questa portabilità è necessario, comunque, che nel sistema che ospita il programma sia presente una “macchina virtuale” in grado di interpretare il codice compilato (in termine tecnico “bytecode“) e tale macchina virtuale si chiama “Java Virtual Machine” (abbreviato JVM). Questa caratteristica offre, oltre agli ovvi vantaggi, anche alcuni svantaggi: il linguaggio in se non offre al programmatore degli strumenti preconfezionati per poter utilizzare delle caratteristiche che siano proprie del sistema operativo in cui si lavora (ad esempio, non esistono strumenti per accedere al Registro di Sistema di Windows, né per accedere alla Tabella degli I-node di Linux, ecc.).
Tags:codice sorgente object oriented programma java sistema linux
RSS Iscriviti ai Feed dei commenti di questo articolo · TrackBack URI
Lascia un commento... please!!!