Dividerei il talk in quattro parti:
- [15min] python, è un linguaggio semplice, comodo, figo blablalba...
[15min] python è interpretato o no? -> bytecode (.pyc)
- [25min] piu' python per una distro, come faccio? python-support.
- [25min] piccola digressione: come pacchettizziamo un'app python
- [10min] eventuali soluzioni, PEP, e altre distro.
totale: 90min?
bibliografia:
(1) python / linguaggio semplice.
Disclaimer: questo NON è un talk su python :P
PROS:
- python è un linguaggio di alto livello, pulito con semantica semplice.
- opensouce/crossplaform/objectoriented/introspection/
- stdlib grandissima
- tipizzazione forte. tipizzazione dinamica: oggetti hanno tipi, i nomi no.
- un sacco di robe per ner^W divertirsi: metaclass/decorators/generators/functional
BREVE digressione sul linguaggio:
- file.py/assegnamenti/stringhe-numeri/condizionali/operatori booleani.
- #!/usr/bin/python nome = "asd" nome = 1 print nome if nome != "asd" :
- qualcosaltro = "ASD"
- #!/usr/bin/python nome = "asd" nome = 1 print nome if nome != "asd" :
- cicli/liste/dict/slice/stringhe
- funzioni/classi
- moduli / package
(2) python è interpretato o no? -> bytecode (.pyc)
- - compilato!??! NO. Interpretato? NO.
- compilatore passa da .py a .pyc e interprete che interpreta il bytecode. ( compilazione implicita "java-unlike":P )
=> problemi: versioni di python != hanno diverso bytecode.
- di piu': eistono implementazioni diverse di python.... e ovviamente implementazioni diverse di python hanno diversi bytecode.
E quindi cose succede? python2.4 prova.pyc -> ERRORE! porc.puzz.pyth.
(3) piu' python per una distro, come faccio? python-support.
(4) piccola digressione: come pacchettizziamo un'app python
pacchettizzazione stupida di una stupida app "hello.py"