Quote:
Originariamente inviato da gexon
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.