Thursday, July 5, 2012

Perché usare Sage? - Dan Drake

Finalmente il famoso post che da lungo tempo mi proponevo di scrivere. Il proposito è quello di arguire a favore dell'uso del software Sage da parte di un qualsiasi matematico, e la combo argomentativa che mi proponevo prevedeva un attacco congiunto che partendo dalla rispettiva pagina di wikipedia (in INGLESE), passasse a sfoderare i tanti riferimenti disponibili su http://www.sagemath.org/, citando tra le varie cose il corso tenuto a Berkley dallo stesso William Stein e la sfilza di altri corsi disponibili nel rispettivo wiki.
Alla fine, avendo trovando poco tempo, economizzo con una soluzione magari assai migliore: semplicemente tradurre quanto scritto da chi ha già fatto quanto mi propongo, sul sito stesso di Sage.


A fare da apologeta è il prof. Dan Drake, un combinatorista. La traduzione è un po' più letteraria che letterale.


Perché usare Sage?

Risponde il prof. Dan Drake

Per cominciare, due parole su come io stesso uso Sage: per prima cosa lo utilizzo nella mia attività di ricerca, inoltre anche per la mia attività d'insegnamento (l'ho usato in corsi di Calcolo e di Equazioni Differenziali, e il prossimo semestre lo userò in un corso di Matematica Discreta). Principalmente lo utilizzo durante le mie lezioni per fare dimostrazioni, ma spero in futuro di poterlo integrare nei compiti che assegno.

Perché Open Source significa:

Posso installarlo dovunque voglio: nel computer del mio ufficio, sul mio laptop o il computer della sala conferenze, dovunque. Non spreco un solo istante a preoccuparmi se quel che sto facendo è permesso dalla licenza o quando uscirà la prossima versione, e così via.
Libero significa che i miei studenti possono usarlo. All'università in cui mi sono laureato, usavamo Matlab e Mathematica per i nostri corsi d'ingegneria di Calcolo. Durante la prima settimana, avrei voluto potermi aggirare nel laboratorio computer con la pretesa di non sentire chiunque dire "se vuoi usarlo a casa, basta che vai su [qualsivoglia sito/servizio popolare per il software pirata], e lo scarichi." In questo modo gli studenti che altrimenti piraterebbero del software possono trarre beneficio dal non fare qualcosa di illegale (rischiando tra l'altro di installare malware), così come ne trarrà beneficio lo studente onesto. Chiunque può scaricare e usare Sage, per cui io posso prendere una demo da una lezione, pubblicarla, e chiunque può averla a disposizione e interagirci, anziché limitarsi a guardarmi smanettarla. Certo, Mathematica ha la sua applicazione "Player", ma con Sage i miei studenti possono facilmente modificare la demo a loro piacimento, cosa non possibile col Mathematica Player.Libero significa anche che studenti che si laureano e accedono al mondo del lavoro possono continuare ad usarlo. Maplesoft può non essere interessata a querelare uno studente che s'installa Maple sul suo portatile e la cui università però a la licenza, ma se la tua compagnia sta sviluppando un prodotto e usa una copia piratata di Maple per farlo, la cosa non li farà contenti.

Perché Python significa:

Hai familiarità con uno dei migliori e più popolari linguaggi di programmazione che ci siano là fuori, disponibile per ogni piattaforma, e che è ovunque nel mondo del lavoro. Gli studenti del mio corso di matematica che però non sono studenti di matematica e che lavoreranno nel mondo dell'industria, avranno tanto di guadagnato imparando un po' di Python.

Perché Free-as-in-speech + Python significa:

Quando gli studenti incorrono in un bug, potrebbero essere in grado di correggerlo. Invece di limitarsi a restare in attesa finché qualcun'altro risolva il problema per loro, c'è una buona opportunità che un bravo studente possa essere coinvolto nella soluzione. Nell'educazione al giorno d'oggi noi incoraggiamo gli studenti ad essere "allievi attivi" e così via; si parla di "apprendimento basato sulla scoperta". Nello spirito di questa filosofia educativa rientra molto bene il fatto che uno studente incorra in bug, capisca che si tratta proprio di un bug e cerchi di risolverlo.

Perché per gli studenti di livello più alto significa:

Gli studenti di matematica più promettenti possono partecipare alla correzione di errori su più livelli significativi, poiché essi possono capire gli algoritmi che vengono usati o saperne abbastanza di programmazione da poter riparare del codice scorretto. Sage è inteso per un uso professionale e applicato, così per studenti simili lavorare al miglioramento di Sage è un'esperienza applicativa utilissima per gli studenti dopo la laurea. (Chi si vorrebbe ingaggiare? Il ragazzo che ha svolto tutti i compiti assegnati o quello che dice "ho corretto errori e aggiunto caratteristiche a un grande progetto di software usato da decine di migliaia di persone"?)
Inoltre, di questi tempi la ricerca da parte degli undergraduate è un tema importantissimo, e Sage permette agli studenti di essere aggiornati ed efficienti. Studenti che non sono ancora dei programmatori proficienti devono spendere un sacco di tempo per imparare, ad esempio, il C, perdendo un sacco di tempo a raccapezzarsi con l'aritmetica dei puntatori. Sage permette agli studenti più interessati alla matematica che a malloc() di spendere più tempo pensando ad essa che a capire perché il proprio codice restituisce segfaults.

Perché il Sage notebook server significa:

Il notebook permette trasparenza di rete, per cui mi è solo necessario ottenere che Sage lavori bene una volta sola, dopodiché mi basta usare un browser in classe. Con i computer delle sale conferenze, avere il necessario installato è una tortura, ma di sicuro si può confidare che ci sarà già installato un browser (e se ha solo IE6, non ci vuole niente a metterci Firefox). Significa anche che se ho Sage che gira su un computer veloce, traggo i benefici di quel computer quando ci accedo in remoto da qualunque altro posto.

Dan

No comments:

Post a Comment