SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Downloaden Sie, um offline zu lesen
Giugno 2006




                          Include le seguenti caratteristiche:


Programmazione ad Oggetti                                 Programmazione Funzionale
(C++, Modula, ecc..)                                      (Scheme, ecc..)




Linguaggio di Scripting
(Perl, Tcl, ecc..)



                                  Loris Michielutti                            1
http://www.python.org




E' facile da imparare
Porta con se un semplice approccio alla programmazione ad oggetti
Ha una efficiente struttura dati
Una elegante sintassi
E' ideale per lo scripting
Si possono sviluppare in modo rapido applicazioni anche complesse




                    Loris Michielutti                               2
perche' Python


Python e' stato creato da Guido Van Rossum nel 1990
- ricercatore di Amsterdam lavorava ad un un progetto di un linguaggio
  di programmazione a scopi didattici di nome ABC
Viene definito un linguaggio di scripting orientato agli oggetti
- porta con se la flessibilita' e la semplicita' di questi linguaggi,
  la potenza di elaborazione,
  la ricchezza di funzioni dei linguaggi di programmazione di sistema
E' Libero
- libero da licenze
  condivide in pieno la filosofia di Open Source

E' Portabile
- e' stato scritto in ANSI C
  questo ha permesso la facile trasportabilita' in diversi sistemi quali:
  Unix, Linux, MS-DOS, MS-Windows, Macintosh, Amiga, BeOS, OS/2, VMS, QNX
  recentemente e' stato scritto un interprete anche in java e anche sui Palmari



                                  Loris Michielutti                           3
perche' Python


E' Veloce
- nonostante sia un linguaggio interpretato il bytecode e' molto efficiente.
  in realta' python e' sia interpretato che compilato.
- la prima volta che un modulo viene richiesto questo viene compilato
  e convertito in bytecode con lo stesso nome del file ma con estensione .pyc
- molte strutture dati e funzioni sono componenti intrinseche del linguaggio.
  chiamate "built-in types and tools"
  sono state sviluppate con molta accuratezza per ottenere il massimo dell'efficienza
  (es: gestione dei file)

Garbage collection
- la gestione della memoria e' automatica, come in java il programmatore
  non se ne deve piu' preoccupare

Sintassi chiara
- presenta una sintassi pulita e sintetica.
  l'indentazione diventa l'unico strumento per strutturare il codice
  questo permette un apprendimento piu' veloce e una maggiore facilita'
  nel leggere il codice scritto da altri.

                                  Loris Michielutti                               4
perche' Python


E' ricco di librerie
- la dotazione standard e quella che si trova in internet
  (HTML, PDF, XML, formati grafici, CGI e anche interi web servers)
- questo sta convincendo molti grandi attori del mercato informatico
  ad impiegarlo nello loro applicazioni:

* Red Hat, Gentoo (tool di installazione).
* Infoseek (ricerca sul web).
* Yahoo! (servizi di internet).
* La NASA (sistemi di controllo delle proprie missioni).
* Zope (intere applicazioni)

Esistono compilatori Python che producono codice per altre macchine virtuali:
- Jython produce bytecode per una JVM (file .class)
- Python.NET produce il codice-intermedio MSIL tipico della piattaforma .NET
- C-Python e' la versione-base essendo stata scritta in C




                                  Loris Michielutti                             5
perche' Python


Per finire agli amici del Perl posso offrire queste definizioni:

Perl: "post-moderno"
- (come e' stato descritto dal suo stesso inventore Larry Wall)
  ricco, gioioso, caotico nella sintassi e nella semantica, complesso, ridondante
- il suo motto ("C'e' piu' di un modo di farlo!") .

Python: "neo-classico"
- snello, limpido, cristallino
  inteso ad offrire un modo (clamorosamente "giusto")
  di svolgere un qualsiasi compito.
Link di riferimento:
 - http://www.python.org/                                          # sito ufficiale
 - http://www.planetpython.org/                                    # discussioni giornaliere
 - http://wiki.python.org/moin/Documentation                       # documentazione
 - http://groups.google.com/group/it.comp.lang.python              # gruppo di discussione
 - http://www.faqts.com/knowledge_base/index.phtml/fid/199         # faq
 - http://lists.python.it/pipermail/python/                        # mail-list archivio

                                    Loris Michielutti                                  6

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Py a2 python-documentazione
Py a2 python-documentazionePy a2 python-documentazione
Py a2 python-documentazione
 
Py a6 python-database
Py a6 python-databasePy a6 python-database
Py a6 python-database
 
Py t3 python-oggetti
Py t3 python-oggettiPy t3 python-oggetti
Py t3 python-oggetti
 
Inferno Limbo Italian
Inferno Limbo ItalianInferno Limbo Italian
Inferno Limbo Italian
 
Python@Unina - Theory
Python@Unina - TheoryPython@Unina - Theory
Python@Unina - Theory
 
T7 librerie
T7 librerieT7 librerie
T7 librerie
 
Spyppolare o non spyppolare
Spyppolare o non spyppolareSpyppolare o non spyppolare
Spyppolare o non spyppolare
 
Pe t4 perl-oggetti
Pe t4 perl-oggettiPe t4 perl-oggetti
Pe t4 perl-oggetti
 
T3 esempio runtime
T3 esempio runtimeT3 esempio runtime
T3 esempio runtime
 
Corso Python Deltapromo lezione 1
Corso Python Deltapromo   lezione 1Corso Python Deltapromo   lezione 1
Corso Python Deltapromo lezione 1
 
Pe t3 perl-moduli
Pe t3 perl-moduliPe t3 perl-moduli
Pe t3 perl-moduli
 
Pe a3 perl-metaprogramming
Pe a3 perl-metaprogrammingPe a3 perl-metaprogramming
Pe a3 perl-metaprogramming
 
OOP with C#
OOP with C#OOP with C#
OOP with C#
 
C# Language Evolution
C# Language EvolutionC# Language Evolution
C# Language Evolution
 
Pycon
PyconPycon
Pycon
 
Lezione 1: I/O in Java
Lezione 1: I/O in JavaLezione 1: I/O in Java
Lezione 1: I/O in Java
 
MS_corso base iOS iPhone_partI
MS_corso base iOS iPhone_partIMS_corso base iOS iPhone_partI
MS_corso base iOS iPhone_partI
 
Introduzione a Python
Introduzione a PythonIntroduzione a Python
Introduzione a Python
 
Functional Programming in Java - Le Espressioni Lambda
Functional Programming in Java - Le Espressioni LambdaFunctional Programming in Java - Le Espressioni Lambda
Functional Programming in Java - Le Espressioni Lambda
 
11 I File
11   I File11   I File
11 I File
 

Ähnlich wie 2006 Py01 intro

Le Basi di Python.pdf
Le Basi di Python.pdfLe Basi di Python.pdf
Le Basi di Python.pdfalessigreco
 
php day 2008 - Introduzione agli ez components
php day 2008 - Introduzione agli ez componentsphp day 2008 - Introduzione agli ez components
php day 2008 - Introduzione agli ez componentsGaetano Giunta
 
Meego Italian Day 2011 - Francesco Baldassarri (1)
Meego Italian Day 2011 - Francesco Baldassarri (1)Meego Italian Day 2011 - Francesco Baldassarri (1)
Meego Italian Day 2011 - Francesco Baldassarri (1)Francesco Baldassarri
 
GNU/Linux for embedded system
GNU/Linux for embedded systemGNU/Linux for embedded system
GNU/Linux for embedded systemMarco Ferrigno
 
Free software & Open Source (FLOSS)
Free software & Open Source (FLOSS)Free software & Open Source (FLOSS)
Free software & Open Source (FLOSS)Piergiorgio Borgogno
 
Linux per la Computer Forensics: i motivi di una scelta
Linux per la Computer Forensics: i motivi di una sceltaLinux per la Computer Forensics: i motivi di una scelta
Linux per la Computer Forensics: i motivi di una sceltadenis frati
 
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Daniele Falamesca
 
Elio Tondo - Linux In Azienda
Elio Tondo - Linux In AziendaElio Tondo - Linux In Azienda
Elio Tondo - Linux In AziendaBetter Software
 
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsMirko Mancin
 
Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19Giuseppe Vizzari
 
Corso Python Django
Corso Python DjangoCorso Python Django
Corso Python Djangobarmassimo
 
Fabio Riccio - Un'esperienza di free-software nelle scuole
Fabio Riccio - Un'esperienza di free-software nelle scuoleFabio Riccio - Un'esperienza di free-software nelle scuole
Fabio Riccio - Un'esperienza di free-software nelle scuoleMaurizio Antonelli
 
Un Grande Informatico
Un Grande InformaticoUn Grande Informatico
Un Grande Informaticoguest7f82ed
 
5 - Introduzione al Web (2/2) - 17/18
5 - Introduzione al Web (2/2) - 17/185 - Introduzione al Web (2/2) - 17/18
5 - Introduzione al Web (2/2) - 17/18Giuseppe Vizzari
 
La scelta di Plone per la comunicazione istituzionale dell'INAF
La scelta di Plone per la comunicazione istituzionale dell'INAFLa scelta di Plone per la comunicazione istituzionale dell'INAF
La scelta di Plone per la comunicazione istituzionale dell'INAFPlone for Research and University
 
Introduzione al software libero
Introduzione al software liberoIntroduzione al software libero
Introduzione al software liberoStefano Sabatini
 

Ähnlich wie 2006 Py01 intro (20)

Le Basi di Python.pdf
Le Basi di Python.pdfLe Basi di Python.pdf
Le Basi di Python.pdf
 
php day 2008 - Introduzione agli ez components
php day 2008 - Introduzione agli ez componentsphp day 2008 - Introduzione agli ez components
php day 2008 - Introduzione agli ez components
 
Meego Italian Day 2011 - Francesco Baldassarri (1)
Meego Italian Day 2011 - Francesco Baldassarri (1)Meego Italian Day 2011 - Francesco Baldassarri (1)
Meego Italian Day 2011 - Francesco Baldassarri (1)
 
GNU/Linux for embedded system
GNU/Linux for embedded systemGNU/Linux for embedded system
GNU/Linux for embedded system
 
Plone Cms
Plone CmsPlone Cms
Plone Cms
 
Free software & Open Source (FLOSS)
Free software & Open Source (FLOSS)Free software & Open Source (FLOSS)
Free software & Open Source (FLOSS)
 
Foss ieri e oggi
Foss ieri e oggiFoss ieri e oggi
Foss ieri e oggi
 
Linux per la Computer Forensics: i motivi di una scelta
Linux per la Computer Forensics: i motivi di una sceltaLinux per la Computer Forensics: i motivi di una scelta
Linux per la Computer Forensics: i motivi di una scelta
 
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
 
Elio Tondo - Linux In Azienda
Elio Tondo - Linux In AziendaElio Tondo - Linux In Azienda
Elio Tondo - Linux In Azienda
 
S354 php-5.x-e-my sql-5.x
S354 php-5.x-e-my sql-5.xS354 php-5.x-e-my sql-5.x
S354 php-5.x-e-my sql-5.x
 
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
 
Erlug
ErlugErlug
Erlug
 
Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19
 
Corso Python Django
Corso Python DjangoCorso Python Django
Corso Python Django
 
Fabio Riccio - Un'esperienza di free-software nelle scuole
Fabio Riccio - Un'esperienza di free-software nelle scuoleFabio Riccio - Un'esperienza di free-software nelle scuole
Fabio Riccio - Un'esperienza di free-software nelle scuole
 
Un Grande Informatico
Un Grande InformaticoUn Grande Informatico
Un Grande Informatico
 
5 - Introduzione al Web (2/2) - 17/18
5 - Introduzione al Web (2/2) - 17/185 - Introduzione al Web (2/2) - 17/18
5 - Introduzione al Web (2/2) - 17/18
 
La scelta di Plone per la comunicazione istituzionale dell'INAF
La scelta di Plone per la comunicazione istituzionale dell'INAFLa scelta di Plone per la comunicazione istituzionale dell'INAF
La scelta di Plone per la comunicazione istituzionale dell'INAF
 
Introduzione al software libero
Introduzione al software liberoIntroduzione al software libero
Introduzione al software libero
 

2006 Py01 intro

  • 1. Giugno 2006 Include le seguenti caratteristiche: Programmazione ad Oggetti Programmazione Funzionale (C++, Modula, ecc..) (Scheme, ecc..) Linguaggio di Scripting (Perl, Tcl, ecc..) Loris Michielutti 1
  • 2. http://www.python.org E' facile da imparare Porta con se un semplice approccio alla programmazione ad oggetti Ha una efficiente struttura dati Una elegante sintassi E' ideale per lo scripting Si possono sviluppare in modo rapido applicazioni anche complesse Loris Michielutti 2
  • 3. perche' Python Python e' stato creato da Guido Van Rossum nel 1990 - ricercatore di Amsterdam lavorava ad un un progetto di un linguaggio di programmazione a scopi didattici di nome ABC Viene definito un linguaggio di scripting orientato agli oggetti - porta con se la flessibilita' e la semplicita' di questi linguaggi, la potenza di elaborazione, la ricchezza di funzioni dei linguaggi di programmazione di sistema E' Libero - libero da licenze condivide in pieno la filosofia di Open Source E' Portabile - e' stato scritto in ANSI C questo ha permesso la facile trasportabilita' in diversi sistemi quali: Unix, Linux, MS-DOS, MS-Windows, Macintosh, Amiga, BeOS, OS/2, VMS, QNX recentemente e' stato scritto un interprete anche in java e anche sui Palmari Loris Michielutti 3
  • 4. perche' Python E' Veloce - nonostante sia un linguaggio interpretato il bytecode e' molto efficiente. in realta' python e' sia interpretato che compilato. - la prima volta che un modulo viene richiesto questo viene compilato e convertito in bytecode con lo stesso nome del file ma con estensione .pyc - molte strutture dati e funzioni sono componenti intrinseche del linguaggio. chiamate "built-in types and tools" sono state sviluppate con molta accuratezza per ottenere il massimo dell'efficienza (es: gestione dei file) Garbage collection - la gestione della memoria e' automatica, come in java il programmatore non se ne deve piu' preoccupare Sintassi chiara - presenta una sintassi pulita e sintetica. l'indentazione diventa l'unico strumento per strutturare il codice questo permette un apprendimento piu' veloce e una maggiore facilita' nel leggere il codice scritto da altri. Loris Michielutti 4
  • 5. perche' Python E' ricco di librerie - la dotazione standard e quella che si trova in internet (HTML, PDF, XML, formati grafici, CGI e anche interi web servers) - questo sta convincendo molti grandi attori del mercato informatico ad impiegarlo nello loro applicazioni: * Red Hat, Gentoo (tool di installazione). * Infoseek (ricerca sul web). * Yahoo! (servizi di internet). * La NASA (sistemi di controllo delle proprie missioni). * Zope (intere applicazioni) Esistono compilatori Python che producono codice per altre macchine virtuali: - Jython produce bytecode per una JVM (file .class) - Python.NET produce il codice-intermedio MSIL tipico della piattaforma .NET - C-Python e' la versione-base essendo stata scritta in C Loris Michielutti 5
  • 6. perche' Python Per finire agli amici del Perl posso offrire queste definizioni: Perl: "post-moderno" - (come e' stato descritto dal suo stesso inventore Larry Wall) ricco, gioioso, caotico nella sintassi e nella semantica, complesso, ridondante - il suo motto ("C'e' piu' di un modo di farlo!") . Python: "neo-classico" - snello, limpido, cristallino inteso ad offrire un modo (clamorosamente "giusto") di svolgere un qualsiasi compito. Link di riferimento: - http://www.python.org/ # sito ufficiale - http://www.planetpython.org/ # discussioni giornaliere - http://wiki.python.org/moin/Documentation # documentazione - http://groups.google.com/group/it.comp.lang.python # gruppo di discussione - http://www.faqts.com/knowledge_base/index.phtml/fid/199 # faq - http://lists.python.it/pipermail/python/ # mail-list archivio Loris Michielutti 6