Non è né unix-like né unix-only, ma Linux-only.
Su FreeBSD pure ci gira. Con linuxulator ovviamente.
vedi sopra: "espressività"
Per essere espressivo è espressivo. Il guaio è che manca di tutti i meccanismi moderni, alcuni dei quali ormai necessari ( vedi le goroutine/canali per implementare il modello CSP in Go ).
Già una volta il Basic è stato rimodernato in chiave procedurale ed object-oriented. L'ha fatto Microsoft con Visual Basic. Il guaio è che oggi non c'è nessuna entità di peso interessata ad implementare nuovi meccanismi in un basic.
--- i due messaggi sono stati uniti ---
Parecchi sono rimasti delusi dalla nuova versione 3, e chi proveniva da Java ci sta ritornando. Meglio pensarci su.
Purtroppo, da assiduo utilizzatore di Python e un tempo anche parecchio fanboy, devo darti ragione. Il linguaggio non sta più evolvendo secondo una precisa direzione. Semplicemente si chiede alla comunità cosa vorrebbe e parecchie cose si buttano dentro senza pensarci troppo.
Sta prendendo la stessa identica strada già presa da Java. Python doveva rimanere un linguaggio di scripting ed implementare il minimo indispensabile per essere produttivi.
Hanno deciso altrimenti e partiti in quarta con decoratori, green threads e altre robe, la cui implementazione si è dovuta scontrare col modello di programmazione del linguaggio. Possiamo rigirarla come vogliamo, ma quel global interpreter lock resterà lì ad impedire una sana e reale implementazione del multithreading.
Il casino con la versione 3, poi, è successo soprattutto per un'altra leggerezza nel design iniziale, ovvero la non presa in considerazione di Unicode al posto di ASCII. Da cui casini con le stringhe in chiave di portabilità. E casini con gli encoder/decoder nella lettura/scrittura su file. Seriamente, quanti linguaggi ci costringono a specificare l'encoding di un file che andiamo a leggere? Python 2 ha questa chicca.