4. Cos’è Python ?
Python è un linguaggio di programmazione ad
alto livello
Supporta diversi paradigmi di programmazione
(OOP con ereditarietà multipla e imperativa)
Python è semplice da imparare
Gestione dinamica ( e automatica ) della
memoria e libreria built-in estremamente ricca
Tipizzazione dinamica
5. Cos’è Python ?
Python è un linguaggio pseudocompilato.
Lo script .py viene trasformato dal bytecode
compiler in un file .pyc contenente istruzioni
comprensibili per la Python virtual machine.
Il modulo bytecode viene
importato dalla Virtual
Machine che, a sua volta,
restituisce l’output del
programma.
Il modulo .pyc viene ricompilato se il timestamp
dello script .py è più recente
6. Python
VS
C
Un po’ di codice
Semplicità contro efficienza
Python
print 'Hello, World!’
C
include <stdio.h>
int main()
{
printf("hello, worldn");
}
7. Cpython - Cython - Jython - IronPython
• Cpython: implementazione più diffusa
( comunemente utilizzata ) di python, scritto
in C
• Cython: linguaggio di programmazione
molto simile al python che permette chiamate
a funzioni C/C++ in maniera diretta
• Jython: successore di JPython, è
un'implementazione del linguaggio di
programmazione Python scritto in Java
• IronPython: implementazione di Python
scritta in C# integrata con .NET
9. Cos’è GitHub
Git GitHub
Progetto open ideato da Linus
Torvalds. Pensato inizialmente come
sistema di back-end utilizzabile da terzi
per la progettazione di un sistema
front-end.
Il Kernel Linux ( ovviamente ) utilizza
Git per il controllo versione.
Piattaforma Web per il controllo della
versione del software (e non solo).
Permette di aggiornare programmi
aggiungendo o eliminando codice
senza dover sovrascrivere alcun file.
Basato sul progetto open soruce Git.
10. Cosa permette di fare GitHub
• Creare repository per hostare il proprio
prodotto software
• Lavorare su branch per apportare in
maniera parallela modifiche al codice
• Commit per confermare dei cambiamenti
• Effettuare Merge per fondere le modifiche
fatte su un branch al repository madre
• Effettuare Pull Request per notificare al
team che una determinata feature
sviluppata su un branch è stata completata
e deve essere revisionata.