Discussione: la scelta giusta
View Single Post
Old 13-10-2010, 09:42   #6
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da gexon Guarda i messaggi
mmhh ok, ma una volta scritto in python i compilatori generano un file .exe autonomo da lanciare da windows o bisogna restare in un ambiente dedicato?
Mi sembra di capire che forse java sarebbe più versatile, tenuto conto che magari potrei far girare l'obj compilato praticamente d'appertutto, anche su un cellulare. O sbaglio ??
Ciao,
penso che potresti chiarirti un po' le idee se leggessi qualcosa sulle Virtual Machine.
Il compilatore di Java (javac) distributo con il JDK (Java Development Kit) come output non produce un file eseguibile (e neppure un "file oggetto" nel senso classico del termine) cioè non produce del codice eseguibile dalla cpu.
Produce invece un codice noto come "bytecode" che può essere dato in input ad una Java Virtual Machine.
E' poi la virtual machine, a tempo di esecuzione, che si occupa di interpretare il bytecode ed eseguirlo (e per certe porzioni di codice chiamate numerose volte, di compilarle nativamente) appoggiandosi alla piattaforma/sistema operativo sottostante.

Analogamente, anche con Python il compilatore produce una sorta di bytecode per la Python Virtual Machine.
Se sei curioso, leggendo questo articolo puoi farti un'idea più chiara, riguardo a Python:
How Python Runs Programs

Poi è vero che per Java esiste anche un runtime per dispostivi mobile, come i cellulari, ma l'ambiente di sviluppo non è lo stesso che si utilizza nei pc, dunque una applicazione o è scritta per girare su pc o lo è per girare su dispositivi mobile, in linea di massima.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 13-10-2010 alle 10:01.
banryu79 è offline   Rispondi citando il messaggio o parte di esso