[RoLUG] Guida Python

Dario Rigolin drigolin@iol.it
Sab 4 Ott 2003 12:18:31 CEST


On Friday 03 October 2003 18:28, kaos wrote:
> Salve a tutti..
> Ogni tanto anche io mi faccio sentire...ma adesso ho una domada per
> voi..
> Io vorrei cominciare a programmare seriamente (fino a questo momento ho
> solo scherzato :-))....mi hanno sconsigliato di cominciare col C e mi
> hanno detto di cominciare col Python....cosa ne pensate??
> E soprattutto...dove trovo una ottima guida al Python...

Direi che la tua scelta è molto "anomala" ma sicuramente ammirabile.
Python è forse uno dei migliori linguaggi object oriented interpretati.
La vastità delle funzionalità ti permette di sperimentare dai thread alla 
manipolazione di stringhe senza impazzire con moduli da installare.

La sua natura Object Oriented pura lo rende ideale per aiutarti a pensare OO e 
a costruire programmi come tali.

L'obbligo di indentare per dare la struttura semplifica la vita e rende 
"uniforme" la leggibilità dei sorgenti tra programmatori diversi (Lo sa chi 
ha provato a capire programmi scritti in C o Perl da persone che gioivano nel 
risparmiare manciate di bytes in spazi e commenti).

Credo che gli altri ti abbiano dato buoni suggerimenti, e sicuramente non 
ascoltare Ciro quando dice che il C è il LINGUAGGIO da conoscere a tutti i 
costi.

Credo che sia fondamentale disporre di una ottima base algoritmica e di 
analisi OO dei problemi. Il resto: linguaggio da usare, sistema operativo 
sono solo "DETTAGLI IMPLEMENTATIVI".

E' inutile che tu conosca il C a menadito ed impieghi 4 settimane a fare un 
programma con sockets e multithreading quando in Python e pronto in due ore e 
la differenza di prestazione è del 400% a sfavore del Python che impiega solo 
4 millesimi di secondo a gestire a richiesta... Anche se ci fossero 10000 
richieste al giorno il programma in Python sarebbe molto più efficiente e 
sarebbe costato molto meno.

Ad esempio a volte preferisco fare "fast prototyping" di un applicazione o di 
componenti dell'applicazione in Perl/PHP/Python per capire dove sta il collo 
di bottiglia, i numeri dietro ai dati, statistiche. Questa fase mi da delle 
dritte su quale è il linguaggio finale. A volte si costruisce l'applicazione 
direttamente in uno di questi linguaggi se non ci sono particolari esigenze.

Consiglio a tutti coloro che sono interessati riguardo a questa "guerra di 
linguaggi" interessanti articoli:

Riassume i risultati di un articolo molto interessane su diversi linguaggi:
http://php.weblogs.com/discuss/msgReader$2213

Confronta Python, Perl, Java e C++
http://www.flat222.org/mac/bench/

Confronta linguaggi OO: Python, Java e C++
http://www.twistedmatrix.com/users/glyph/rant/python-vs-java.html

Ciao!
-- 
Dario Rigolin
Mobile: +39 347 7232652


Maggiori informazioni sulla lista RoLUG