Smalltalk: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Titoli nelle refs e sezione note
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.9.5
 
(5 versioni intermedie di 4 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.
Molti concetti attualmente impiegati nello sviluppo del software (es. ''[[design patterns]]'', ''[[extreme programming]]'', ''[[refactoring]]'') derivano dalla comunità Smalltalk. 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]].
 
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 certamente le caratteristiche di eleganza, semplicità ed efficienza di Smalltalk, dida cui hanno, più o meno, saccheggiatoimportato i concetti innovativi.
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>.
L'elaborazione quindi non è più descritta da una procedura, ma è ottenuta da una "simulazione" del mondo, di cui gli oggetti sono un modello.
 
Inoltre, dalDal 2008 è iniziato il progetto di creazione del nuovo ambiente DNG (Dolphin Next Generation) <ref>{{cita web|url=https://web.archive.org/web/20101023072029/http://www.dng.st:80/|titolo=DNG - Dolphin-Smalltalk Next Generation|sito=DNG|lingua=en|accesso=3 agosto 2022|dataarchivio=23 ottobre 2010|urlarchivio=https://web.archive.org/web/20101023072029/http://www.dng.st/|urlmorto=sì}}</ref> 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.
Questo cambio radicale non è stato facilmente assimilato dai programmatori tradizionali, abituati a linguaggi come il [[COBOL]] o il [[FORTRAN]].
 
I sopra richiamati linguaggi derivati 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 certamente le caratteristiche di eleganza, semplicità ed efficienza di Smalltalk di cui hanno, più o meno, saccheggiato 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 [[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=https://web.archive.org/web/20171128180906/http://www.aidaweb.si/|titolo=Aida|sito=Aidaweb|lingua=en}}</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=https://web.archive.org/web/20090505005034/http://opensophie.org/|titolo=Sophie|sito=Open Sophie|lingua=en}}</ref> o Cobalt<ref>{{cita web|url=http://www.opencobalt.net/|titolo=Cobalt|sito=Open Cobalt|lingua=en}}</ref>.
 
Inoltre, dal 2008 è iniziato il progetto di creazione del nuovo ambiente DNG (Dolphin Next Generation) <ref>{{cita web|url=https://web.archive.org/web/20101023072029/http://www.dng.st:80/|titolo=DNG - Dolphin-Smalltalk Next Generation|sito=DNG|lingua=en}}</ref> 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 ==
Line 52 ⟶ 40:
== 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