L’ecosistema, Racket e un tutorial

Tin_Woodman
Un post che ho scritto e poi riscritto (stravolgendolo) in seguito a un colloquio con un ex-collega Mr.X che rockz 😀
Inizialmente c’era solo la parte Racket –una delle mie passioni– ma quando Mr.X ha letto la bozza mi ha indotto a cambiare qualcosa, adesso vi conto.

Ci sono cose belle (sexy) ma spesso capita di doverne usare altre perché si usano quelle; cioè dove lavori tutti usano quelle.
Mr.X parla in questo caso di ecosistema. E per lui l’ecosistema e Windows, sempre più 10 ma con ancora qualche 7. E per i linguaggi quelli ammessi sono pochissimi, in funzione del task, si potrebbe parlare di sub-ecosistema. Per esempio per il Web solo HTML, CSS, JavaScript. JavaScript (come NodeJs) potrebbe essere usato anche da se. Altrimenti Java. O il VisualBasic. Assolutamente niente altro, meno che mai Lisp, linguaggi funzionali di moda solo nei blog ma non nella pratica. Ah! niente Python, a meno che usi solo quello, ma non per il Web.
E siccome tutti usano Windows niente Linux.

Ovviamente non sono d’accordo ma riporto questa opinione, credo anzi di approfondire l’argomento in futuro.
Altrettanto ovviamente continuerò peraltro a occuparmi anche delle cose che i piacciono, anche –e specie se– sono fuori della lista delle cose approvate. Per esempio Coconut, Haskell (forse, in futuro) e Racket. Ecco ero partito con Racket, questo che segue.

prl
Twitter vi fornisce consigli e suggerimenti che voi non tweeps non potete minimamente immaginare. Tutto sta nella scelta a chi followare e poi la magia segue, gratis 😀

Comincio dal suggerimento più semplice (e fondamentale): il blog Inside PRL è da seguire. Obbligatorio (se volete, nèh!). Forse non tutti sanno che PRL sta per Programming Research Laboratory e fa parte del College of Computer and Information Science della Northeastern University, quella di Racket, nella città più sexy del Universo.

Nel blog –c’è altro ma devo ancora perlustrare– c’è questo Tutorial: Zero to Sixty in Racket. È per via di questo post che ho scoperto il blog, via questo cinguettio.
Uh! a proposito di @racketlang per me ha 17 Followers you know (su un totale di 220 (circa, numero soggetto a variazioni come il meteo).

OK, vengo al post di Ben Greenman: Racket is excellent for incrementally growing scripts into full-fledged programs. This post steps through the evolution of one small program and highlights the Racket tools that enable incremental advances… E continua, mica posso copiare tutto 😳

Il compito che si pone è un indice KWIC (se non sapete cos’è un motivo in più per andarci, e protrete dire TIL KWIC), roba che secondo la letteratura richiede parecchio tempo (e poi ci sarebbe la Legge di Hofstadter che Ben colpevolmente non cita) ma c’è anche Yannis e –OK, 20 minuti dice Ben.

Siccome Ben è OK da per scontato che l’aspirante racketeer usi l’ambiente integrato, Dr Racket, manco sta a ricordarvelo. Io di solito uso la REPL, quella di una volta, mi sono pure fatto l’alias, alias rre='racket -il xrepl' ma solo perché sono vecchio (però non tanto vecchio da rientrare nella classe “non puoi insegnare un gioco nuovo a un cane vecchio”, nèh!), ma in questo cas è OK.

Nel codice trovate subito un’altra nerdata: λ invece di scrivere lambda. Il codice Unicode di λ è 03BB, per ottenerlo con Linux si sua Ctrl-Maiusc-U, compare una u sottolineata e si scrive il codice voluto. Con Windows chissà… (googlate). Ma potete benissimo scrivere lambda, come facevano i nostri vecchi (e me).

Poi basta seguire Ben, rockz! 😀 Costruisce le funzioni che gli servono, spiegando quello che fa, visualizza il codice completo dello script, 79 righe compresi i commenti. Eseguendolo (tasto run) si ottiene test.txt ma è solo il primo passo.

Ben crea un submodule, lo esegue con raco, passa alla versione typed, aggiunge l’interfaccia per la command-line e testa il tutto. E continuerà –promette– con la documentazione e la creazione del package per condividerlo (shararlo).

I tempi? forse Ben è un po’ troppo ottimista c’è la legge di Hofstadter, io non sono così smart) ma OK: Racket & Ben rockzs 😀
Io sono occupato con cose promesse da finire ma il blog l’ho RSSato subito.

:mrgreen:

Posta un commento o usa questo indirizzo per il trackback.

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.

%d blogger hanno fatto clic su Mi Piace per questo: