Smalltalk

Questo è un post lungo ~25 anni 8)

Non so se può interessare qualcuno (oltre a t-Lex) ma devo postarlo. Davvero.
Mi spiego: il 24 gennaio 1984 esce il MacIntosh, oggi universalmente conosciuto come Mac. Ma il Mac era stato preceduto da Lisa e un mio collega ne era stato folgorato e parlava solo di quello; poi è finito a fare il gestionale e non usava nemmeno più il ‘puter, ma questa è un’altra storia.

Lisa, Mac e famiglia erano Apple ma le loro origini vanno ricercate in Xerox PARC, con tantissimi altri aggeggi (es.: la stampante laser) senza i quali la vita di tutti i giorni sarebbe quasi completamente diversa. E al PARC c’era il Learning Research Group con Alan Kay (et al.).
E questi usavano Smalltalk. Allora non c’era tutto questa roba open source che siamo abituati a trovare sul Web, anzi non c’era nemmeno il Web 😦

Io avevo letto qualcosa su Smalltalk ma senza mai andare a fondo anche perché il mondo informatico aveva recepito le idee e i concetti di LRG –la programmazione orientata agli oggetti– ma con altri linguaggi. A dire il vero ricordo che un mio amico me ne parlava, in relazione a OS/2 ma poi non se ne fece niente.

Poi una decina di giorni fa FSM mi instilla nella mente Squeak. E Squeak (prossimamente su questo blog, forse) è Smalltalk. Ed eccomi qua 🙂

Per installare GNU/Smalltalk con Ubuntu basta dare nel terminale

sudo apt-get install gnu-smalltalk

e avrete a disposizione l’interprete, invocabile con gst 😀

Smalltalk è un linguaggio di programmazione orientato agli oggetti con gestione dinamica dei tipi e con un paradigma di programmazione riflessivo.

dice Wilipedia. Ed ha una sintassi particolare, tutta sua. Ma siamo fortunati: esiste un manuale dovuto a Canol Gökel veramente ottimo, con esempi, non troppo lungo: “Computer Programming using GNU Smalltalk“. Lo potete scaricare da qui con tantissimi altri.

Ho provato a riassumerlo ma non ci sono riuscito: secondo me è impossibile. E poi, dai, sono un centinaio di pagine chiare, semplici, fondamentali.

In ogni caso, anche per rispetto alla tradizione, ecco la schermata della mia prima sessione

e questo è il codice per hello_world.st

"hello_world.st"
"scrive 'Hello World!' nel terminale."

'Hello World!' printNl

Questo è il mio contributo per l’anniversario del Mac, buon compleanno Mac! 😀
E domani è il compleanno di mio padre: buon compleanno papà! 😀

Posta un commento o usa questo indirizzo per il trackback.

Commenti

  • glipari  Il 24 gennaio 2011 alle 21:30

    uh, uh, lo sai che uno dei libri di testo consigliati al mio corso, e uno dei più famosi libri di programmazione di sempre, porta gli esempi PRIMA in smalltalk, e poi in Java, e qualche volta in C++?

    Il libro è questo:

    http://en.wikipedia.org/wiki/Design_Patterns_%28book%29

    Prima o poi ne parlerò anch’io!

    • juhan  Il 25 gennaio 2011 alle 17:22

      Ottimo!
      Smalltalk è razionale ma “diverso”. Non so se l’ho trattato bene, ma certe cose sull’OOP le ho capite solo scrivendo quel post 😉
      Sto vedendo Squeak, anche se non mi sembra tanto immediato, o sono io che sono diversamente portato per certe cose 8)

  • Nino Galante  Il 24 gennaio 2011 alle 22:40

    Se vi interessa Smalltalk, eccovi un paio di link

    un buon punto di partenza per esplorare il mondo Smalltalk

    http://www.world.st

    e in particolare al seguente link

    http://www.world.st/books

    potrete scaricare (gratuitamente e legalmente) un po’ di libri in pdf messi a disposizione dalla community mondiale di smalltalkers.

    • juhan  Il 31 gennaio 2011 alle 14:22

      chissà perché a Akismet non piaceva il tuo commento? Scusa il ritardo ma è stata dura, ci hai litigato? o c’è qualche parola sospetta, tipo “legalmente”?

      • Nino Galante  Il 12 febbraio 2011 alle 22:29

        Credo che i termini incriminati siano proprio “smalltalkers” e “smalltalk” la cui traduzione inglese sta per chiacchiere, insulsaggini.

        Un paio di settimane fa Facebook mi ha impedito la pubblicazione di un post contenete i due termini considerando il testo del messaggio come volgare e offensivo; ho inviato un messaggio spiegando che Smalltalk è un linguaggio di programmazione object oriented ma non ho ricevuto risposta.

  • juhan  Il 13 febbraio 2011 alle 09:33

    Nino (ehi! condividiamo il nome 😉 ) aka as Pico (ehi! condividi il nome con il mio collaboratore a quattro zampe che adesso sta russando sotto il tavolo 😉 ) sarei davvero interessato ad avere un tuo parere circa Smalltalk (Akismet non sto chiacchierando, capito?).
    È possibile contattarti per email? Se sì questa è la mia: n1n0 <dot> aegis <at> gmail <dot> com. (Sì “Nino” io lo scrivo così “n1n0” da 30 anni).

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: