Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70 porta il concetto di smartphone ultrasottile su un terreno più concreto e accessibile: abbina uno spessore sotto i 6 mm a una batteria di capacità relativamente elevata, un display pOLED da 6,7 pollici e un comparto fotografico triplo da 50 MP. Non punta ai record di potenza, ma si configura come alternativa più pragmatica rispetto ai modelli sottili più costosi di Samsung e Apple
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026
Sono molte le novità che ASUS ha scelto di presentare al CES 2026 di Las Vegas, partendo da una gamma di soluzioni NUC con varie opzioni di processore passando sino agli schermi gaming con tecnologia OLED. Il tutto senza dimenticare le periferiche di input della gamma ROG e le soluzioni legate alla connettività domestica
Le novità ASUS per il 2026 nel settore dei PC desktop
Le novità ASUS per il 2026 nel settore dei PC desktop
Molte le novità anticipate da ASUS per il 2026 al CES di Las Vegas: da schede madri per processori AMD Ryzen top di gamma a chassis e ventole, passando per i kit di raffreddamento all in one integrati sino a una nuova scheda video GeForce RTX 5090. In sottofondo il tema dell'intelligenza artificiale con una workstation molto potente per installazioni non in datacenter
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-09-2008, 13:37   #1
Maurazio
Member
 
L'Avatar di Maurazio
 
Iscritto dal: Aug 2008
Messaggi: 69
Interpretare il codice sorgente [Python o in generale linguaggi interpretati]

Salve,
ho cominciato un po' a vedere come programmare con python, che però è un linguaggio interpretato e ho visto un immagine:
codice sorgente --> interprete --> risultato
Io ho il programma per scrivere il codice, ho l'interprete (python 2.5.2), ma non riesco a capire come salvare ed eseguire il programma, con un .exe o roba simile.
Maurazio è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2008, 14:37   #2
nico159
Senior Member
 
Iscritto dal: Aug 2003
Città: Barletta (BA)
Messaggi: 939
Giusto una precisazione: sorgente -> byte code -> Esecuzione
Il codice sorgente viene prima tradotto in byte code e poi eseguito dalla macchina virtuale Python.

Per distribuire il tuo software sviluppato in Python puoi usare la tecnica dei "binari congelati" che permette di creare un esecutibile completamente autonomo. I binari congelati contengono l'interprete, i byte code del tuo programma e i moduli di cui fai uso.
I principali sono Py2EXE (solo Windows), PyInstaller (Windows, Linux) e Py2App (Mac OS X).
__________________
In a world without fences, who needs Gates?
Power by: Fedora 8 - Mac OS X 10.4.11
nico159 è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2008, 22:31   #3
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da Maurazio Guarda i messaggi
Salve,
ho cominciato un po' a vedere come programmare con python, che però è un linguaggio interpretato e ho visto un immagine:
codice sorgente --> interprete --> risultato
Io ho il programma per scrivere il codice, ho l'interprete (python 2.5.2), ma non riesco a capire come salvare ed eseguire il programma, con un .exe o roba simile.
Python non è un linguaggio interpretato. Le sue implementazioni più diffuse compilano in bytecode.

In generale, comunque, un linguaggio di per sé non si può classificare come interpretato o compilato sulla base di una sua implementazione. Un linguaggio definisce una SINTASSI e una SEMANTICA precisa, e... tanto basta.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2008, 12:17   #4
Maurazio
Member
 
L'Avatar di Maurazio
 
Iscritto dal: Aug 2008
Messaggi: 69
ah okey, allora la roba che ho letto cunta sü ball.
e se lo volessi compilare che cosa uso?
Maurazio è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2008, 13:39   #5
nico159
Senior Member
 
Iscritto dal: Aug 2003
Città: Barletta (BA)
Messaggi: 939
Hai letto il mio post?

Non ti serve compilarli per forza
__________________
In a world without fences, who needs Gates?
Power by: Fedora 8 - Mac OS X 10.4.11

Ultima modifica di nico159 : 08-09-2008 alle 13:42.
nico159 è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2008, 14:10   #6
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da Maurazio Guarda i messaggi
ah okey, allora la roba che ho letto cunta sü ball.
C'è molta ignoranza e molte leggende metropolitane, purtroppo.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2008, 15:13   #7
xciaoatuttix
Member
 
L'Avatar di xciaoatuttix
 
Iscritto dal: Jul 2008
Messaggi: 255
Quote:
Python non è un linguaggio interpretato. Le sue implementazioni più diffuse compilano in bytecode.
se viene compilato in bytecode vuol dire che ha bisogno dell'interprete... no ?
xciaoatuttix è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2008, 15:22   #8
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da xciaoatuttix Guarda i messaggi
se viene compilato in bytecode vuol dire che ha bisogno dell'interprete... no ?
Ehm, a dire il vero... no
Chi compila in bytecode, è appunto un compilatore
__________________

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)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2008, 16:49   #9
xciaoatuttix
Member
 
L'Avatar di xciaoatuttix
 
Iscritto dal: Jul 2008
Messaggi: 255
no volevo dire che una volta compilato in bytecode poi ha bisogno dell'interprete per essere interpretato ... no ?
xciaoatuttix è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2008, 17:09   #10
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da xciaoatuttix Guarda i messaggi
no volevo dire che una volta compilato in bytecode poi ha bisogno dell'interprete per essere interpretato ... no ?
Non vorrrei dire castronerie ma credo che l'interprete Python interpreti proprio codice sorgente Python (infatti in Python puoi scrivere una riga di codice sorgente e mandarla direttamente in esecuzione per "stamparne" l'output come se fossi in una specie di modalità interattiva, e in questo caso credo che entri in gioco proprio l'interprete).

Il bytecode prodotto dal compilatore invece, viene eseguito dalla Virtual Machine quando il programma viene mandato in esecuzione.

Maggiori delucidazioni te le possono fornire altri utenti del forum più esperti che usano Python (uno a caso, cdimauro).
__________________

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)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2008, 17:24   #11
xciaoatuttix
Member
 
L'Avatar di xciaoatuttix
 
Iscritto dal: Jul 2008
Messaggi: 255
Quote:
Non vorrrei dire castronerie ma credo che l'interprete Python interpreti proprio codice sorgente Python (infatti in Python puoi scrivere una riga di codice sorgente e mandarla direttamente in esecuzione per "stamparne" l'output come se fossi in una specie di modalità interattiva, e in questo caso credo che entri in gioco proprio l'interprete).

Il bytecode prodotto dal compilatore invece, viene eseguito dalla Virtual Machine quando il programma viene mandato in esecuzione.
quindi è una specie di linguaggio di scripting che puo' essere anche compilato in bytecode... vediamo gli esperti che dicono
wikipedia dice che è un linguaggio interpretato tipo java.
xciaoatuttix è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2008, 18:03   #12
Maurazio
Member
 
L'Avatar di Maurazio
 
Iscritto dal: Aug 2008
Messaggi: 69
io ho scaricato quello che ti trasforma il python in un autoeseguibile, ma non un compilatore, solo che nn ci capisco niente Py2EXE
Maurazio è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2008, 20:00   #13
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12919
Se Python segue la logica di Java, il bytecode è il codice di mezzo che viene prodotto dal compilatore, poi questo bytecode viene interpretato da una macchina virtuale.

Per questo non si dice che è compilato o interpretato... in genere è entrambe le cose.

Il compilatore come ogni compilatore dunque compila per una determinata macchina, che in questo caso è la macchina virtuale. La genialata sta nel fatto che basta disporre di una macchina virtuale compilata su più ambienti operativi, affinché il programma compilato una volta sola sul tuo pc possa funzionare ovunque ci sia a disposizione una macchina virtuale capace di interpretare il bytecode.

Questo in linea teorica garantisce la portabilità (anche se ciò non è pienamente vero), ed è uno dei vantaggi principali.

Tra gli svantaggi c'è appunto la possibilità che le prestazioni rispetto al codice nativamente compilato possano risultare inferiori...

Ultima modifica di WarDuck : 08-09-2008 alle 20:05.
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2008, 21:26   #14
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Non vorrrei dire castronerie ma credo che l'interprete Python interpreti proprio codice sorgente Python (infatti in Python puoi scrivere una riga di codice sorgente e mandarla direttamente in esecuzione per "stamparne" l'output come se fossi in una specie di modalità interattiva, e in questo caso credo che entri in gioco proprio l'interprete).

Il bytecode prodotto dal compilatore invece, viene eseguito dalla Virtual Machine quando il programma viene mandato in esecuzione.

Maggiori delucidazioni te le possono fornire altri utenti del forum più esperti che usano Python (uno a caso, cdimauro).
Python interpreta il sorgente soltanto:
- la prima volta che lo legge;
- se ha subito modifiche;
- se è stato immesso da riga di comando;
- in presenza di funzioni di valutazioni (eval, compile) a cui vengono passate stringhe che contengono codice Python.

Ma in ogni caso viene sempre generato il corrispondente bytecode, che viene poi passato alla virtual machine.
Quote:
Originariamente inviato da xciaoatuttix Guarda i messaggi
quindi è una specie di linguaggio di scripting che puo' essere anche compilato in bytecode... vediamo gli esperti che dicono
wikipedia dice che è un linguaggio interpretato tipo java.
Wikipedia sbaglia perché ha dimenticato la definizione di linguaggio di programmazione. Ci sono soltanto due cose che identificano un linguaggio: la sintassi e la semantica.

Un linguaggio NON si può identificare con una (o più) sua implementazione.

Per tornare a Python, l'implementazione ufficiale (supportata dal team di sviluppo del linguaggio) / più diffusa è CPython che traduce il sorgente in bytecode, che dà poi in pasto alla virtual machine.

Ma NON è l'unica implementazione. PyPy, ad esempio, è in grado di generare diverse forme di codice oggetto: si va dal bytecode al linguaggio macchina PowerPC.

Similmente, Java non si può considerare interpretato come linguaggio perché compilatori come GCJ permettono di compilare il sorgente generando codice macchina.

Spero di essere stato chiaro.
Quote:
Originariamente inviato da Maurazio Guarda i messaggi
io ho scaricato quello che ti trasforma il python in un autoeseguibile, ma non un compilatore, solo che nn ci capisco niente Py2EXE
Attenzione: Py2EXE infila nell'exe la virtual machine Python.

Comunque non l'ho usato, per cui non ti saprei dare una mano.
Quote:
Originariamente inviato da WarDuck Guarda i messaggi
Se Python segue la logica di Java, il bytecode è il codice di mezzo che viene prodotto dal compilatore, poi questo bytecode viene interpretato da una macchina virtuale.

Per questo non si dice che è compilato o interpretato... in genere è entrambe le cose.

Il compilatore come ogni compilatore dunque compila per una determinata macchina, che in questo caso è la macchina virtuale. La genialata sta nel fatto che basta disporre di una macchina virtuale compilata su più ambienti operativi, affinché il programma compilato una volta sola sul tuo pc possa funzionare ovunque ci sia a disposizione una macchina virtuale capace di interpretare il bytecode.

Questo in linea teorica garantisce la portabilità (anche se ciò non è pienamente vero), ed è uno dei vantaggi principali.

Tra gli svantaggi c'è appunto la possibilità che le prestazioni rispetto al codice nativamente compilato possano risultare inferiori...
Indubbiamente, ma possono essere anche superiori (e ci sono sempre margini di miglioramento).

Su interpretazione vs compilazione vedi sopra: non esistono linguaggi che si possano espressamente etichettare con questi termini. Esistono i linguaggio, e (alcune) loro implementazioni.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2008, 21:36   #15
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
..
Indubbiamente, ma possono essere anche superiori (e ci sono sempre margini di miglioramento).
...
Teoricamente, direi anche. Su cinque contest, pochissime implementazioni in Python(ci ha provato DanieleC88, nel 5°, ma subito dopo è passato al C).
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2008, 22:17   #16
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Be' a dire il vero ho fatto versione Python/C sia nel quarto che nel quinto Contest.
Poi sono rimasto sul C perché nel contest contava strettamente l'elemento prestazionale, e su questo del codice nativo ben tarato è ancora nettamente superiore a qualsiasi linguaggio che possa essere interpretato in qualche modo. Per completezza mi tocca però dire che il miglioramento registrato con Psyco mi ha colpito parecchio, e se ho lasciato il Python è principalemente perché il PC che posso usare adesso è un pezzo d'antiquariato (e mi rende difficile l'opera di sperimentazione), ma non appena tornerò su per i corsi proverò a darmi meglio da fare con Python, mi sembra un linguaggio interessante. E comunque imparare un linguaggio in più non può farmi che bene

ciao
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2008, 22:29   #17
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da Vincenzo1968 Guarda i messaggi
Teoricamente, direi anche. Su cinque contest, pochissime implementazioni in Python(ci ha provato DanieleC88, nel 5°, ma subito dopo è passato al C).
Per forza: con Python ha ottenuto, con poco sforzo, una versione funzionante fin da subito. Poi si è concentrato sul miglioramento delle prestazioni.

Tu prima di ottenere qualcosa di realmente funzionante in C hai perso un mare di tempo.

Comunque i contest non cambiano la sostanza di quanto ho detto.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2008, 22:58   #18
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Per forza: con Python ha ottenuto, con poco sforzo, una versione funzionante fin da subito. Poi si è concentrato sul miglioramento delle prestazioni.

Tu prima di ottenere qualcosa di realmente funzionante in C hai perso un mare di tempo.

Comunque i contest non cambiano la sostanza di quanto ho detto.
Ho perso un mare di tempo perché, come programmatore C(anzi, come programmatore, in generale ), sono assai scarso. Immagina cosa potrebbe fare il linguaggio in mano a programmatori con i controcabasisi(come rеpne scasb).

Non critico Python ma, dal punto di vista delle prestazioni, il C rimane imbattibile(a parte, ovviamente, l'assembly).
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 09-09-2008, 00:12   #19
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Confrontato a Python sicuramente (d'altra parte non è la velocità d'esecuzione il motivo per cui è nato e per cui viene tanto usato), ma di fronte a C#, Java, ma soprattutto C++/CLR la tua affermazione non è corretta, visto che sempre più ci sono casi di applicazioni che girano meglio delle equivalenti C o C++.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
Le novità ASUS per il 2026 nel settore dei PC desktop Le novità ASUS per il 2026 nel settore de...
Le novità MSI del 2026 per i videogiocatori Le novità MSI del 2026 per i videogiocato...
I nuovi schermi QD-OLED di quinta generazione di MSI, per i gamers I nuovi schermi QD-OLED di quinta generazione di...
Samsung Galaxy S26 Ultra: la ricarica de...
Apple ha un nuovo partner per la sua App...
Trenitalia introduce il prezzo dinamico ...
OnePlus non si ferma più: c'&egra...
DAZN sconta il piano Full per 6 mesi, se...
L'uso dell'IA nei giochi è cancer...
Meta punta sul nucleare USA per alimenta...
Le migliori offerte Amazon del weekend: ...
La crisi dell'hardware spinge i negozi g...
Apple Watch SE 3 scontato su Amazon: il ...
Robot aspirapolvere davvero scontati: si...
DDR5 troppo cara: il passato di AMD potr...
5 sconti TOP nuovi di zecca e altre offe...
Il più venduto e apprezzato: ECOV...
Era e resta un super top di gamma: il TV...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:48.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v