Smalltalk: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.1 |
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.9.5 |
||
(11 versioni intermedie di 10 utenti non mostrate) | |||
Riga 14:
== Storia ==
Sviluppato allo [[Xerox PARC]] da [[Alan Kay]], [[Dan Ingalls]], [[Ted Kaehler]], [[Adele Goldberg]], e altri durante gli [[Anni 1970|anni settanta]], Smalltalk ha pesantemente influenzato altri linguaggi come [[Objective C]], [[Linguaggio C Sharp|C#]], [[Actor (linguaggio)|Actor]], [[Java (linguaggio di programmazione)|Java]], [[JavaScript]] e [[Ruby (linguaggio di programmazione)|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 [[John von Neumann|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
▲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.
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 [[applicazione web|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<ref>{{cita web|url=http://www.seaside.st|titolo=Seaside|sito=Seaside|lingua=en}}</ref>, AIDA<ref>{{cita web|url=http://www.aidaweb.si/|titolo=Aida|sito=Aidaweb|lingua=en|accesso=18 luglio 2020|dataarchivio=28 novembre 2017|urlarchivio=https://web.archive.org/web/20171128180906/http://www.aidaweb.si/|urlmorto=sì}}</ref> o applicazioni futuristiche come Scratch<ref>{{cita web|url=https://www.scratch.mit.edu/|titolo=Scratch|sito=Scratch|lingua=en}}</ref>, Sophie<ref>{{cita web|url=http://opensophie.org/|titolo=Sophie|sito=Open Sophie|lingua=en|accesso=19 maggio 2018|dataarchivio=5 maggio 2009|urlarchivio=https://web.archive.org/web/20090505005034/http://opensophie.org/|urlmorto=sì}}</ref> o Cobalt<ref>{{cita web|url=http://www.opencobalt.net/|titolo=Cobalt|sito=Open Cobalt|lingua=en|accesso=18 gennaio 2019|dataarchivio=19 gennaio 2019|urlarchivio=https://web.archive.org/web/20190119174337/http://www.opencobalt.net/|urlmorto=sì}}</ref>.
▲Tuttavia, questa mediazione ha avuto un costo sulle caratteristiche dei linguaggi stessi, che non raggiungono certamente le caratteristiche di eleganza, semplicità ed efficienza di Smalltalk di cui hanno, più o meno, saccheggiato i concetti innovativi.
▲Inoltre, dal 2008 è iniziato il progetto di creazione del nuovo ambiente DNG (Dolphin Next Generation) [https://web.archive.org/web/20130601003806/http://dng.st/] 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 (informatica)|programmazione]], ovvero come "la simbiosi dell'umano con il calcolatore", come chiaramente espresso in questo passaggio:
{{Q|[...] Chiunque vorrebbe poter programmare utilizzando un dispositivo alla stregua di un libro/foglio per gli appunti in un modo non certo possibile su
== Programma di esempio ==
Il seguente esempio stampa il testo "[[Hello world|Hello world!]]".
<
Transcript show: 'Hello World!'
</syntaxhighlight>
==Note==
<references/>
== Bibliografia ==
* {{RivistaVG|mc|105|292-295|3|1991|titolo=Smalltalk/V: aspetti sintattici}} La rubrica sullo Smalltalk continua nei numeri successivi fino al n° 110.
== Altri progetti ==
{{interprogetto}}
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC}}
*{{en}} [http://www.esug.org ESUG] European Smalltalk User Group
*{{en}} [http://www.stic.st/ STIC] Smalltalk Industry Council
|