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

Storia

Sviluppato allo Xerox PARC da Alan Kay, Dan Ingalls, Ted Kaehler, Adele Goldberg, e altri durante gli anni settanta, Smalltalk ha pesantemente influenzato altri linguaggi come Objective C, C#, Actor, Java, JavaScript e Ruby. Molti concetti attualmente impiegati nello sviluppo del software (es. design patterns, extreme programming, refactoring) derivano dalla comunità Smalltalk.

Smalltalk ha rappresentato un autentico cambio di paradigma rispetto al tradizionale modello procedurale, sostituendo al paradigma tradizionale di Von Neumann (basato sulla separazione dati/programmi) un nuovo paradigma basato sul concetto di oggetto, che contiene, in modo inscindibile, sia dati che programmi. L'elaborazione quindi non è più descritta da una procedura, ma è ottenuta da una "simulazione" del mondo, di cui gli oggetti sono un modello.

Questo cambio radicale non è stato facilmente assimilato dai programmatori tradizionali, abituati a linguaggi come il COBOL o il FORTRAN. I linguaggi derivati sopracitati hanno provveduto a creare un ponte tra il vecchio ed il nuovo paradigma. Tuttavia, questa mediazione ha avuto un costo sulle caratteristiche dei linguaggi stessi, che non raggiungono le caratteristiche di eleganza, semplicità ed efficienza di Smalltalk, da cui hanno importato i concetti innovativi.

Questa difficoltà di passaggio da un paradigma all'altro (peraltro ben nota: si pensi, come esempio estremo, al passaggio dai numeri romani a quelli arabi), unitamente al fenomenale sviluppo delle applicazioni Web (alle quali Smalltalk non era particolarmente orientato) ha fatto ritenere a molti che Smalltalk fosse un linguaggio morto. Nella realtà non è così: la comunità degli utenti Smalltalk è certamente ridotta ma molto attiva e continua a sviluppare applicazioni innovative sfruttando al meglio le caratteristiche di Smalltalk. Si guardino, ad esempio, i framework per applicazioni web Seaside, AIDA o applicazioni futuristiche come Scratch, Sophie o Cobalt.

Dal 2008 è iniziato il progetto di creazione del nuovo ambiente DNG (Dolphin Next Generation) destinato ad unificare due dialetti Smalltalk (VSE di Digitalk e Dolphin di Object Arts) e creare un nuovo ambiente di sviluppo adatto ai prevedibili sviluppi informatici dei prossimi anni.

Descrizione

Smalltalk è stato creato come un linguaggio per sostenere "un nuovo mondo" di programmazione, ovvero come "la simbiosi dell'umano con il calcolatore", come chiaramente espresso in questo passaggio:

Programma di esempio

Il seguente esempio stampa il testo "Hello world!".

Note

Bibliografia

  • Smalltalk/V: aspetti sintattici (JPG), in MCmicrocomputer, n. 105, Roma, Technimedia, marzo 1991, pp. 292-295, ISSN 1123-2714. La rubrica sullo Smalltalk continua nei numeri successivi fino al n° 110.

Altri progetti

  • Wikimedia Commons contiene immagini o altri file su Smalltalk

Collegamenti esterni

  • SMALLTALK, in Dizionario delle scienze fisiche, Istituto dell'Enciclopedia Italiana, 1996.
  • Smalltalk, su Vocabolario Treccani, Istituto dell'Enciclopedia Italiana.
  • small talk, su sapere.it, De Agostini.
  • (EN) Smalltalk, su Enciclopedia Britannica, Encyclopædia Britannica, Inc.
  • (EN) Opere riguardanti Smalltalk (Computer program language), su Open Library, Internet Archive.
  • (EN) Denis Howe, Smalltalk, in Free On-line Dictionary of Computing. Disponibile con licenza GFDL
  • (EN) ESUG European Smalltalk User Group
  • (EN) STIC Smalltalk Industry Council
  • (EN) Smalltalk.org Sito di diffusione Smalltalk
  • (EN) Libri su Smalltalk gratis, su iam.unibe.ch.
  • (EN) The Early History of Smalltalk (storia del linguaggio), su gagne.homedns.org. URL consultato il 3 giugno 2007 (archiviato dall'url originale il 10 luglio 2008).

Smalltalk Fundgrube Bücher Kopp Verlag

5 Tipps für den perfekten Smalltalk

Tipps für einen perfekten Smalltalk » be optician

Smalltalk Übungen, Techniken + Beispiele für Laien und Profis Redenwelt

9 fatale SmalltalkFehler