|
|
(Basata sulla FAQ aggiornata al 28 Giugno 1999)
Per saperne di più la cosa migliore è iniziare a leggere il tutorial, presente nella documentazione ufficiale [lo potrete trovare a breve sul nostro sito in italiano NdT] (si veda qualche domanda più avanti).
Si veda anche la domanda 1.17. Cos'è capace di fare Python?.
Il file INDEX contiene un indice della directory ftp menzionata. Una versione HTML dell'indice si trova in ftp://ftp.python.org/pub/python/index.html.
Il sorgente LaTeX della documentazione è compreso nella distribuzione dei sorgenti. Se non avete LaTeX, l'intera documentazione Python, nella versione più recente, è disponibile in vari formati (postscript, html ecc.) a mezzo ftp anonimo - si consulti l'URL soprariportato per i link alle versioni correnti.
In un file PostScript a parte sul sito ftp, nluug-paper.ps, si può trovare una descrizione ad alto livello di Python [titolo: Un'introduzione a Python per Programmatori Unix/C NdT].
USA:
ftp://ftp.python.org/pub/python/ ftp://gatekeeper.dec.com/pub/plan/python/ ftp://ftp.uu.net/languages/python/ ftp://ftp.wustl.edu/graphics/graphics/sgi-stuff/python/ ftp://ftp.sterling.com/programming/languages/python/ ftp://uiarchive.cso.uiuc.edu/pub/lang/python/ ftp://ftp.pht.com/mirrors/python/python/ ftp://ftp.cdrom.com/pub/python/Europe:
ftp://ftp.cwi.nl/pub/python/ ftp://ftp.funet.fi/pub/languages/python/ ftp://ftp.sunet.se/pub/lang/python/ ftp://unix.hensa.ac.uk/mirrors/uunet/languages/python/ ftp://ftp.lip6.fr/pub/python/ ftp://sunsite.cnlab-switch.ch/mirror/python/ ftp://ftp.informatik.tu-muenchen.de/pub/comp/programming/languages/python/Australia:
ftp://ftp.dstc.edu.au/pub/python/
Maggiori informazioni sul newsgroup e sulla mailing list, e su altre liste, possono essere trovate presso: http://www.python.org/psa/MailingLists.html.
Gli archivi del newsgroup sono conservati da Deja News e accessibili attraverso la pagina web "Python newsgroup search", http://www.python.org/search/search_news.html. Tale pagina contiene anche dei puntatori ad altre raccolte di archivi.
[Presenteremo una RFD per it.comp.lang.python a settembre, votatela! Abbiamo anche aperto una lista di discussione in italiano, iscrivetevi sulla pagina apposita del ns. sito! NdT]
Se si desidera consultare la documentazione in formato HTML in locale sulla propria macchina, essa è disponibile, debitamente impacchettata, a mezzo ftp anonimo, come:ftp://ftp.python.org/pub/python/doc/html.tar.gz e mirror vari.
Un insieme di file nel formato Emacs-INFO, contenente il manuale della libreria è ugualmente disponibile via ftp anonimo, presso ftp://ftp.python.org/pub/python/doc/lib-info.tar.gz e mirror vari.
+ Internet Programming with Python by Aaron Watters, Guido van Rossum, and James Ahlstrom MIS Press/Henry Holt publishers ISBN: 1-55851-484-8 First published October, 1996
+ Programming Python by Mark Lutz O'Reilly & Associates ISBN: 1-56592-197-6 First published October, 1996
+ Das Python-Buch (in German) by Martin von Loewis and Nils Fischbeck Addison-Wesley-Longman, 1997 ISBN: 3-8273-1110-1Ne stanno per uscire altri:
+ Python Pocket Reference by Mark Lutz O'Reilly & Associates ISBN 1-56592-500-9 1st Edition October 1998 (est.) 80 pages (est.), $6.95 (est.)
La maggior parte delle pubblicazioni su Python sono raccolte sul sito web di Python:
http://www.python.org/doc/Publications.htmlNon è più raccomandato di consultare un vecchio articolo dell'autore di Python:
Guido van Rossum and Jelke de Boer, "Interactively Testing Remote Servers Using the Python Programming Language", CWI Quarterly, Volume 4, Issue 4 (December 1991), Amsterdam, pp 283-303.
Le versioni beta hanno un suffisso addizionale "betaN" con N numero piuttosto piccolo. Si noti che (per esempio) tutte le versioni classificate come 1.4betaN precedono l'effettiva release 1.4 . 1.4b3 è un'abbreviazione di 1.4beta3 .
Le release alpha sono disponibili solo ai membri PSA. Si veda http://www.python.org/psa/ per informazioni su come entrare a farne parte ($50/anno).
In particolare, se si rispettano le regole del copyright, sono permessi usi commerciali di Python, come vendere copie di Python in forma di sorgenti o binari, o vendere prodotti che costituiscono miglioramenti di Python o lo incorporano in qualche forma (totalmente o in parte). Nondimeno vorrei venire a conoscenza di tutti gli usi commerciali di Python!
Ho fatto molta esperienza nell'implementazione di un linguaggio interpretato nel gruppo ABC presso CWI, e lavorando con questo gruppo ho imparato molto circa la progettazione di linguaggi. Queste sono le origini di molte caratteristiche di Python, compreso l'uso dell'indentazione [o "rientro" NdT] per raggruppare le istruzioni e l'inclusione di tipi di dati di altissimo livello (sebbene i dettagli in Python siano totalmente diversi).
C'erano cose del linguaggio ABC che non mi andavano giù, ma apprezzavo anche molte delle sue caratteristiche. Era impossibile estendere ABC (o la sua implementazione) per rimediare a quello che non mi andava a genio -- in effetti la carenza di estensibilità era uno dei suoi problemi più grossi. Avevo una qualche esperienza nell'utilizzo di Modula-2+ e parlai con i progettisti di Modula-3 (e lessi il rapporto M3). M3 è l'origine della sintassi e della semantica usate per le eccezioni, e di alcune altre caratteristiche di Python.
Stavo lavorando nel gruppo del sistema operativo distribuito Amoeba presso il CWI. Avevamo bisogno di effettuare l'amministrazione di sistema in un modo migliore che scrivendo programmi in C o script per la shell Bourne, dato che Amoeba aveva un'interfaccia propria alle chiamate di sistema che non era facilmente accessibile dalla shell Bourne. La mia esperienza con la gestione degli errori in Amoeba mi rese acutamente consapevole dell'importanza [del trattamento NdT] delle eccezioni come caratteristica di un linguaggio di programmazione.
Mi venne in mente che un linguaggio di script con una sintassi come quella di ABC ma con accesso alle chiamate di sistema Amoeba sarebbe stato un'ottima soluzione. Capii che sarebbe stato sciocco scrivere un linguaggio specifico per Amoeba, così decisi che avevo bisogno di un linguaggio che fosse estensibile in generale.
Durante le vacanze di Natale del 1989 avevo un mucchio di tempo a disposizione, così decisi di provarci. Durante l'anno successivo, mentre ancora ci stavo lavorando sopra, perlopiù durante il mio tempo libero, Python fu usato nel progetto Amoeba con crescente successo, e i suggerimenti dei miei colleghi mi permisero di aggiungere molti miglioramenti allo stadio iniziale.
Nel Febbraio 1991, dopo poco più di un anno di sviluppo, decisi di inviare un messaggio su USENET. Il resto si trova nel file Misc/HISTORY.
Le due ragioni principali per usare Python sono:
- la portabilità - la facilità di apprendimentoLe tre ragioni principali per usare Python sono:
- la portabilità - la facilità di apprendimento - la potente libreria standard(E le belle uniformi rosse).
E ricordatevi, non c'è nessuna regola numero sei [rif. allo sketch "The Bruces" dei MP NdT].
Nell'area della manipolazione di semplice testo, Python puro (senza alcuna estensione `non-core') è più semplice da usare di qualsiasi altro linguaggio ed è all'incirca ugualmente veloce. Ciò rende Python una buona scelta per molti compiti del tipo amministrazione di sistema, per la programmazione CGI e per altre aree applicative in cui sia fondamentale il trattamento di testo e stringhe, e così via.
Quando gli si aggiungono estensioni standard (come PIL, COM, Numeric, oracledb, kjbuckets, tkinter, win32api, ecc.) o estensioni per scopi particolari (che è possibile scrivere, utilizzando strumenti come SWIG, o protocolli ad oggetti come ILU/CORBA o COM) Python diventa un ottimo linguaggio di "gluing" o di "steering", che permette di far lavorare assieme gruppi eterogenei di pacchetti software che non hanno rapporti tra di loro. Ad esempio, combinando Numeric con oracledb diventano possibili analisi statistiche sul proprio database SQL, o anche trasformate di Fourier. Una delle caratteristiche che rendono Python un eccellente linguaggio di "gluing" è la sua semplice, usabile e potente API C runtime.
Inoltre molti sviluppatori utilizzano largamente Python come strumento di sviluppo di interfacce grafiche utente.
http://www.python.org/ftp/python/src/py152.tgz
http://www.python.org/emacs/python-mode/index.htmlSono possibili molte altre scelte, per Unix, Windows o Macintosh. Richard Jones ha compilato una tabella prendendo spunto dai messaggi apparsi sul newsgroup di Python:
http://www.bofh.asn.au/~richard/editors.html
Si veda anche la domanda 7.10 per alcune opzioni in più per Mac e Win.