strategie evolutive

ciò che non ci uccide ci lascia storpi e sanguinanti

Buoni propositi per l’anno nuovo: una gita al Pharo

6 commenti

E se io cominciassi a portarmi avanti, e a mettere in cantiere i buoni propositi per il 2021 a dicembre del 2020?
Chi ha tempo non aspetti tempo, e tutto quel genere di cose, e complici un paio di disavventure lavorative, il tempo al momento è tutto quello che ho, ma magari a gennaio le cose cambieranno.
E allora avanti…

Come di solito succede quando mi trovo sepolto qui fra i colli dell’Astigianistan con un sacco di tempo libero, raggomitolato sotto ad uno spesso strato di coperte, con una teiera fumante e il vuoto esistenziale che ulula nella notte, avevo pensato di seguire un corso di qualche genere. Imparare una lingua, magari – magari il coreano.
È interessante il coreano.

Imparare una lingua diversa – specie se è una lingua MOLTO diversa – è un buon modo per provare a pensare in maniera diversa, ad acquisire diversi schemi di comunicazione, diverse maniere di mettere ordine nelle idee.
Può essere interessante.
Come cantava Grace Slick (ammettiamolo, non nel suo album migliore)

When I was young and had the time
I used to rearrange my mind

Però c’è anche quest’altra faccenda – che sto rispolverando il mio vecchio corso di statistica per scienze ambientali e naturali, con l’idea di rimetterlo in circolazione con l’anno nuovo – certamente come corso online, magari come corso su Udemy.
Sto leggendo “per lavoro e diporto” dei libri di statistica.
Per cui sarebbe bello studiare qualcosa che in qualche modo arricchisca ciò che sto mettendo in piedi, mi aiuti a rendere il mio corso più interessante, e nei limiti del possibile unico.
Qualcosa che sia divertente.

Perché, ammettiamolo, analisi dati con Python la fanno tutti.

E poi, per motivi completamente diversi, ho scoperto Pharo.
Pharo – che si pronuncia “farò”, perché è francese – è un fork di Squeak, che a sua volta è un dialetto di Smalltalk (in particolare di Smalltalk-80), e Smalltalk – in una forma o in un’altra – è da quasi quindici anni una mia piccola ossessione.

Smalltalk è un linguaggio di programmazione, risalente al 1972 (sì, davvero preistoria), un linguaggio a oggetti dinamico e riflessivo (che detto così pare stiamo parlando del fidanzato di mia cugina, o cose del genere).
Ho cincischiato a lungo con Smalltalk e Squeak una decina abbondante di anni or sono, ed ora sarebbe bello, mi sono detto, provare a rispolverare quelle nozioni scompagnate messe assieme quando ancora speravo di poter usare Smalltalk per farci qualcosa in università…

Pharo ha di buono che è gratuito, gira su qualunque cosa (anche sul mio vecchio PC che va coon Linux), ed è ben supportato online – c’è un corso di sette settimane disponibile gratuitamente, tutorial interattivi programmati in Pharo, una vasta biblioteca di testi di riferimento disponibili in digitale a costo zero, e una comunità che può aiutare in caso di disperazione.

E proprio come il suo antenato Smalltalk, Pharo è caratterizzato da una sintassi che sta tutta su una cartolina.

Imparare un linguaggio di programmazione è come imparare una nuova lingua (lasciamo allo studente il compito di discutere come una lingua possa essere un linguaggio di programmazione per chi la usa – punti extra per chi citerà in maniera pertinente Samuel R. delany e Jack Vance), ed in questo caso mi permette di prendere i leggendari due piccioni con la famigerata unica fava – imparare una nuova lingua, con l’effetto collaterale di rimuovere la ruggine dagli ingranaggi del mio cervello, e imparare un linguaggio che, chissà, potrebbe servire anche a fare altro.
E farlo rapidamente, e divertendomi.

Smalltalk – in tutti i suoi dialetti – è particolarmente interessante, perché si porta dietro non solo una vastissima letteratura, ma una filosofia di fondo che enfatizza il concetto di “mastery” da parte del programmatore e la trasparenza del sistema – il che lo rende al contempo interessante quasi a livello letterario, ed anche straordinariamente adatto alla didattica, che è quello che avrei voluto fare nel 2008, e che mi piacerebbe fare ancora adesso.
Anche perché passando per Smalltalk e per Pharo potrei poi mettere al lavoro Grafoscopio – e con Grafoscopio, l’analisi dei dati ambientali e naturalistici diventa qualcosa di completamente diverso.
(ma questa naturalmente è un’altra storia)

Perciò, eccoci qui: ho installato Pharo, scaricato Pharo by Example, e seguito la prima lezione del MOOC.
Buon proposito per il 2021 – entro il 2020 riuscire a masticare abbastanza Pharo da riuscire a farci qualcosa di sensato.
Portiamoci avanti col lavoro.
Cosa c’è di meglio da fare, in alternativa, in questa coda lunga del 2020?

Magari ascoltare Grace Slick?
Dopotutto quella citazione arriva da un disco intitolato Software

E chi tiene conto di queste cose sarà interessato nello scoprire che “I don’t know and I don’t care”, che si sente nella canzone, si trova anche spesso reiterata nella documentazione di Pharo …

Beginning Smalltalk programmers often have trouble because they think they need to understand all the details of how a thing works before they can use it. This means it takes quite a while before they can master Transcript show: ’Hello World’. One of the great leaps in OO is to be able to answer the question “How does this work?” with ”I don’t care”

Pharo by Example, pagina 3

Curioso, vero?

Autore: Davide Mana

Paleontologist. By day, researcher, teacher and ecological statistics guru. By night, pulp fantasy author-publisher, translator and blogger. In the spare time, Orientalist Anonymous, guerilla cook.

6 thoughts on “Buoni propositi per l’anno nuovo: una gita al Pharo

  1. Non dev’essere un linguaggio per control freaks… shouldn’t I care though?

    • Come scrisse Dan Ingalls (il primo sviluppatore di Smalltalk) nell’81, “If a system is to serve the creative spirit, it must be entirely comprehensible to a single individual.”
      Per cui il controllo esiste, ma si esprime attraverso l’esperienza del programmatore sul campo.

  2. Ho incrociato la strada con Smalltalk negli anni ’90 in ambito professionale, realizzando un paio di progetti, poi le nostre strade si sono decisamente separate. Ai tempi mi era servito per allargare i miei orizzonti alla programmazione ad oggetti, che andava a ribaltare l’approccio delle analisi a cui ero abituato. Poi sono regredito alla forma mainframe.
    Però ieri ho seguito la seconda parte di un corso su AI, Natural Language Processing e Sentiment Analysis sentendomi decisamente obsoleto. 😀

  3. Complimenti, Davide. Da te c’è tutto da imparare.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.