Bibliografia


Testi   Siti Web   Idee per progetti   Approfondimenti  

Testi

Python

Learning Python
Mark Lutz - O'Reilly press. È probabilmente il migliore dei libri sulla programmazione in Python se già conoscete altri linguaggi di programmazione. È nel tipico stile "O'Reilly", quindi se non vi piace potreste preferirgli:

Internet Programming with Python
Guido Van Rossum et al - John Wiley & Sons. Scritto dall'autore del linguaggio con un deciso orientamento alla programmazione internet inclusi HTML, CGI e socket in generale. Però include una introduzione generale al linguaggio nella prima parte.

Programming Python
Mark Lutz - O'Reilly press. Il testo classico. Descrive le basi del linguaggio meglio degli altri, il punto di forza è la trattazione dei moduli e la programmazione ad oggetti. Include anche un'introduzione alla programmazione di interfacce grafiche.

Per programmatori più esperti esiste anche un eccellente testo in linea: Dive into Python [in traduzione italiana, N.d.t.].

[L'unico volume su Python disponibile in traduzione italiana al febbraio 2003 è: "Python 2.1: tutto & oltre" di Dave Brueck e Stephen Tanner; Apogeo, 2002. N.d.t]

Tcl

Tcl and the Tk toolkit
John Ousterhout - Addison Wesley. Il testo classico su Tcl scritto dall'autore del linguaggio. Praticamente un manuale di riferimento ma un po' obsoleto. Occorrerebbe una seconda edizione. La parte relativa a Tk è interessante per qualunque utilizzatore di Tk indipendentemente dal linguaggio di programmazione (Tk è una libreria GUI ed ha implementazioni in Tcl, Perl e Python).

Esistono molti altri testi su Tcl/Tk ma non ho conoscenza diretta di nessuno di essi escluso quello di Ousterhout.

[L'unico testo su Tcl in traduzione italiana al febbraio 2003 è: "TCL/TK. Guida di riferimento" di Raines Paul e Tranter Jeff; Apogeo, 2000. N.d.t]

BASIC

Esistono molti testi sul BASIC che trattano ciascuno dei suoi numerosi dialetti. Se avete serie intenzioni di programmare in BASIC in particolare su Personal Computer allora vi raccomando caldamente di usare Visual Basic e di studiarlo utilizzando uno dei numerosissimi testi che riguardano questa particolare versione.

[Un testo in italiano su Visual Basic: "Visual basic 6.0: guida alla programmazione" di Julia Case Bradley e Anita C. Millspaugh; McGraw-Hill libri Italia, 2000. N.d.t]

Programmazione in generale

Esistono molti testi classici sulla programmazione che ogni serio programmatore dovrebbe procurarsi e rileggere di quando in quando. Ecco quelli che preferisco:

Code Complete
Steve McConnell - Microsoft Press.

[Trad.it: La grande guida alla costruzione del software; Jackson, 1996. N.d.t]

La più completa trattazione di tutto ciò che riguarda la scrittura di codice che io conosca. L'ho letto dopo molti anni di esperienza, mi è sembrato del tutto affidabile e mi ha insegnato anche alcuni trucchi che non conoscevo. Mi ha fatto letteralmente cambiare il modo di scrivere programmi. Compratelo subito!

Programming Pearls
Jon Bentley - Addison Wesley. Due volumi, entrambi indispensabili. Bentley mostra come migliorare l'efficienza dei vostri programmi in ogni modo possibile, dalla concezione alla progettazione alla implementazione.

Fanno parte di una collana sulla programmazione scaturita dai laboratori Bell negli anni '80 in corrispondenza della nascita di Unix. La collana comprende un numero cosí notevole di veri classici che dirò semplicemente che qualunque testo di Ken Thompson, Jon Bentley, Dennis Ritchie, Andrew Keonig e gli altri del gruppo dei laboratori Bell merita di essere letto. Lo stile può variare, ma ciascuno vale tanto oro quanto pesa.

Algorithms di Donald Knuth
Si tratta di una raccolta di volumi che descrivono gli algoritmi fondamentali che vengono usati dai programmatori in innumerevoli occasioni. Un po' pesante e un po' orientato alla matematica, ma se volete occuparvi dell'efficienza dei vostri programmi e della loro assoluta correttezza vale la pena di procurarseli. La raccolta è stata recentemente ristampata con alcuni aggiornamenti.

Programmazione ad oggetti

Questi sono stati già citati, ma li ripeto anche qui:

Object Oriented Analysis
Peter Coad & Ed Yourdon.

[Trad.it: OOD : progettazione dei sistemi orientati agli oggetti; Prentice Hall, 1993. N.d.t]

Una ampia introduzione ai concetti OO con una semplice notazione per tracciare i vostri progetti. Come ulteriore vantaggio la notazione è assai simile al nuovo linguaggio standard UML (Unified Modelling Language) che viene adottato in molti testi, ambienti di programmazione e riviste.

Object Oriented Analysis and Design with Applications
Grady Booch - Benjamin Cummings. Un altro eccellente testo che affronta in modo più approfondito gli aspetti del progetto delle classi e degli oggetti. Nella prima edizione, se riuscite a trovarla, le lezioni vengono illustrate usando cinque diversi linguaggi OO mentre la seconda edizione utilizza solo C++ e sotto questo aspetto non è la migliore. Utilizza una notazione propria di Booch che secondo me è la migliore di tutte, anche se adesso è messa in secondo piano da UML e quindi per questo aspetto il testo risulta obsoleto. Sembra che Booch stia preparando una nuova edizione che utilizza UML, ma è una notizia che circola da parecchio tempo...

Object Oriented Software Construction (2nd Ed)
Bertrand Meyer.

[Trad.it: La produzione del software object oriented; Jackson, 1991. N.d.t]

Meyer utilizza un linguaggio di sua invenzione, Eiffel, per insegnare la programmazione OO in modo assai efficace. Poiché Eiffel è un linguaggio (immeritatamente) poco diffuso il libro richiede uno sforzo un po' maggiore. Ma è senza dubbio valido per l'ampio respiro con cui tratta tutti gli aspetti correnti della programmazione OO.

Altri testi potenzialmente utili:

Object Oriented Design Patterns
Gamma, Johnson et al. Un testo considerato rivoluzionario alla sua prima uscita. Riporta numerosi tipici schemi di programmazione OO e, cosa forse più importante, utilizza una particolare notazione per documentarli. Sono in corso attive discussioni relative agli schemi di programmazione; a questo argomento è dedicato un sito web contenente molti altri schemi e variazioni di quelli trattati nel libro.

From Clouds to Code
Jesse Liberty (Wrox Press). Questo testo guida il lettore nel processo di costruzione di una reale applicazione OO fin nei minimi dettagli. Somiglia al nostro capitolo relativo all'esempio pratico, ma è molto più esteso ed include l'uso di strumenti di progettazione come l'UML.

Siti Web da visitare

Linguaggi

Python

  • Il sito di Python [La Versione italiana, N.d.t]
  • Mark Hammond's Python Starship Python in ambiente MS Window.
  • Introduzione alle GUI con Tkinter
  • Zope: un ambiente di sviluppo per server web che utilizza Python.

    Tcl

    Il sito Tcl per definizione vale mentre scriviamo, ha l'abitudine di cambiare indirizzo!

    BASIC

    Il sito web di Microsoft per quanto riguarda VB.

    Esistono altri siti web relativi a VB contenenti programmi, suggerimenti, liste di discussione, ecc.

    Altri linguaggi interessanti

    java, javascript, perl, smalltalk, Borland

    Programmazione in generale

    provate a cercare le pagine relative alla programmazione su Yahoo, ecc. Ne troverete molte di buona qualità, non ho una preferenza particolare.

    Programmazione ad oggetti

  • La pagina di Cetus di nuovo

    alcuni in particolare

  • Rational Corp produce applicazioni commerciali e contiene utili informazioni sui metodi di sviluppo OO e sulla nuova notazione UML.

    Idee per progetti

    Nei capitoli precedenti sono contenute molte idee di progetti. Aggiungo qui alcune altre idee più o meno in ordine crescente di difficoltà. Quasi tutte possono essere affrontate con quanto avete appreso da queste pagine, ma tutte possono essere migliorate cercando possibili modi alternativi nella documentazione che trovate insieme a Python. Un paio di queste richiedono sicuramentre ricerche da parte vostra: ricordate che una delle qualità del buon programmatore è la curiosità


    Approfondimenti

  • GUI utilizzando Tk
  • Programmazione Web. CGI
  • Toolkit [Librerie per lo sviluppo di GUI, N.d.t.]
  • Framework [Librerie di classi, N.d.t.]
  • Basi di dati

    E questo è tutto.


    Se avete domande o suggerimenti relativi a questa pagina mandate un e-mail all'autore:
    alan.gauld@yahoo.co.uk o al traduttore italiano: lfini@arcetri.astro.it

    E ... grazie per avermi seguito!