Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Python - Perchè Python è interpretato?
Forum - Python - Perchè Python è interpretato?

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Macca96 (Normal User)
Rookie


Messaggi: 26
Iscritto: 08/01/2013

Segnala al moderatore
Postato alle 10:06
Martedì, 06/08/2013
Ciao a tutti.
Python fin da subito si è rivelato un linguaggio molto versatile, potente e di semplice utilizzo. Però io credo che sia stato fortemente castrato dal fatto che funzioni tramite un interprete. Mi chiedo quindi, come mai non è stato progettato per essere compilato? Il linguaggio ne guadagnerebbe.
Perchè è stato scelto un interprete anziché un compilatore? Rimarrebbe comunque multipiattaforma, basterebbe compilare i sorgenti dei programmi per i vari OS.
Che ne pensate?

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 10:25
Martedì, 06/08/2013
esiste py2exe, ma non sono informato su questo progetto, prova a guardare se ha comunque dipendenza da python oppure no. Comunque se hai bisogno di prestazioni e alta campatibilità tra piattaforme usi il C. Sinceramente non aprezzo affatto la sintassi del python ma se c' è a chi piace io dico contenti voi contenti tutti!

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 10:32
Martedì, 06/08/2013
Doppio post, errore di rete.

Ultima modifica effettuata da il 06/08/2013 alle 10:33
PM Quote
Avatar
Macca96 (Normal User)
Rookie


Messaggi: 26
Iscritto: 08/01/2013

Segnala al moderatore
Postato alle 10:34
Martedì, 06/08/2013
grazie della risposta, conoscevo già py2exe, ma crea eseguibili di dimensioni bibliche per programmi scemi.
Io non cerco un compilatore. Mi chiedevo solo perchè intepretarlo, quando se lo si compila in un file eseguibile si sfruttano meglio le risorse del sistema.
Per esempio il C è compilato, ma gli eseguibili sono di dimensioni contenute e sono molto performanti. Perchè ciò non è possibile in Python?

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 10:43
Martedì, 06/08/2013
perchè il C++ esiste da molto tempo, non avrebbe senso reinventare la ruota, pensa se tu dovessi scriverti tutti gli algoritmi che usi, anche solo per uno zip diventeresti matto. Se vuoi fare qualcosa di più performante non usi il python.

PM Quote
Avatar
Macca96 (Normal User)
Rookie


Messaggi: 26
Iscritto: 08/01/2013

Segnala al moderatore
Postato alle 10:57
Martedì, 06/08/2013
Aspetta, forse non mi sono fatto capire, quindi ora ho fatto delle prove per degli esempi pratici:

Ho scritto due sorgenti che svolgono le stesse operazioni in due linguaggi defferenti, C e Python.
I programmi dovranno stampare dei banalissimi Hello World.

il file hello.c pesa 90byte
il file hello.py pesa 22byte

ho compilato il file C con GCC (Sto su linux)
ho compilato il file Py con PyInstaller

ho ottenuto quindi due eseguibili di linux:
quello ottenuto dal C pesa 8,5 KB
quello ottenuto dal Python pesa 697.8 KB

Ora la mia domanda è: Perchè se compilo con Python ottengo un file così grande? La compilazione non dovrebbe avvenire nello stesso modo con cui avviene nel compilatore C? I linguaggi sono diversi, ma le funzioni del programma che ho scritto sono le stesse, di conseguenza il file eseguibile dovrebbe avere la stessa sequenza di codice binario, ma così non è. Why?

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 11:04
Martedì, 06/08/2013
Una parte importante di cui tener conto è l' ottimizzazione del codice da parte del compilatore/traduttore, inoltre un eseguibile compilato con gcc è codice macchina, e richiede pochissime risorse per essere utilizzato, un eseguibile creato con py2exe ha bisogno dell' ambiente python e delle sue librerie che deve richiamare continuamente.

P.S. è la stessa cosa che accade con gli eseguibili .NET, scritti in C#, pesano di più perchè serve il .NET framework, con il suo garbage collector e tutte le sue librerie.

Ultima modifica effettuata da il 06/08/2013 alle 11:06
PM Quote
Avatar
Macca96 (Normal User)
Rookie


Messaggi: 26
Iscritto: 08/01/2013

Segnala al moderatore
Postato alle 11:07
Martedì, 06/08/2013
Si, magari riguardo all'ottimizzazione da parte del compilatore hai ragione.
ma per creare l'eseguibile dal file hello.py non ho utilizzato alcuna libreria, ed il file è stand alone, funzionerebbe anche su un sistema(linux) sprovvisto di python

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 11:10
Martedì, 06/08/2013
no, non lo farà. Per colpa di sta "troiata" devo installare python ogni volta che un progetto è stato reso eseguibile con py2exe

Ultima modifica effettuata da il 06/08/2013 alle 11:11
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo