[Python] "Go or Unladen Swallow? " Cosa ne pensate ?

Daniele Varrazzo piro a develer.com
Mer 11 Nov 2009 17:54:34 CET


On Wed, 11 Nov 2009 16:57:47 +0100, luigi scarso <luigi.scarso a gmail.com>
wrote:
> 2009/11/11 Daniele Varrazzo <piro a develer.com>:

> lua + C == stabilità del linguaggio
> lua non cambia nel tempo, e neppure C (beh, calma, tutto cambia)
> 
> Ma ovviamente ti curi platform + threading, ovvero fine tuning della
> tua application,
> devi essere disciplinato per grossi progetti
> e non è vero OO (beh lua è un po' quel che vuoi)
> Insomma : STABILITA' del linguaggio anche rispetto ai cambiamenti
> tecnologici

Non considero la bellezza del linguaggio nella sua immutabilità. Il C mi
piace, ma non PER la sua immutabilità (e infatti il C++ non mi piace perché
non ha avuto il coraggio di separarsene quando ha potuto).

Non conosco nessuna libreria Python che non esista nella versione 2.4:
basta non andare continuamente dietro all'ultima versione uscita se si
desidera la massima stabilità. Se avessi bisogno di stabilità in un
progetto, stabilirei delle policy che lo riguardano, non sceglierei un
linguaggio che ha deciso di concludere la propria evoluzione. E non sono
neanche sicuro che LUA sia uno di questi (forse sbaglio, ma credo la sua
linea guida sia quello di avere un runtime leggero, per cui è probabilmente
più indicato del Python in ambiente embedded, ma non lo considero
esattamente uno scenario quotidiano - non il mio).


> CPython -- ok vai con l'acqua santa  -- cambia troppo per i miei gusti:
> "CPython ?  QUALE CPython ? "
> Guardate Plone: Plone4.0 avrà Python 2.6
> ma il 3.3 ha il python 2.4 e la mia Ubuntu LTS ha il 2.5
> Ora voi mi direte che non cambia nulla da 2.4 a 2.5 a 2.6
> -- ed allora perché cambia numero ? Insomma vi capisco... ma non mi
> piace, mi fa acidità
> e quindi mi adeguo.

Questi problemi con le diverse versioni del ramo 2.x di Python le ha avute
solo Zope: è un suo problema specifico. Python non ha mai funzionato bene
come linguaggio "safe", tutte le estensioni per renderlo tale che conosco
sono state deprecate il giorno prima di uscire. Forse proprio perché
estensioni e non core design.

Io ho avuto il problema inverso del tuo: proprio perché un paio di anni fa
volevo provare Zope non ho potuto usare Python 2.5 di sistema per un anno
buono sulla mia Gentoo di allora. Non che fosse stato un vincolo
insormontabile: diverse versioni di python possono coesistere senza alcun
problema nella stessa macchina. Avrei potuto usare un 2.4+zope non da
package, e penso che per lo sviluppo e la distribuzione di un sistema
server (e una soluzione basata su Zope lo è, no?) sia un approccio
tranquillamente praticabile.

Il numero cambia perché il linguaggio si estende. Cambia solo la seconda
cifra perché la compatibilità col passato è largamente mantenuta. Zope non
usa python come linguaggio, lo usa come una specie di piattaforma e gli
mette le mani direttamente nell'implementazione. Se tutta l'infrastruttura
è basata su un leak implementativo è normale che non possa esserci
evoluzione.


> Python 3,poi...,

...e quello è un altro discorso. Che puoi evitare tranquillamente, tanto
in qualunque progetto usi più di 3 librerie di terze parti almeno una non è
stata ancora portata. Python 3 è una possibilità per tutti e non è un
problema per nessuno, tranne per chi decide di porselo.


-- 
Daniele Varrazzo - Develer S.r.l. 
http://www.develer.com


Maggiori informazioni sulla lista Python