Smalltalk: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Recupero di 3 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.9.2 |
Nessun oggetto della modifica |
||
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}}</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.
▲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}}</ref>.
▲Inoltre, dal 2008 è iniziato il progetto di creazione del nuovo ambiente DNG (Dolphin Next Generation) <ref>{{cita web|url=http://www.dng.st/|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.
== Descrizione ==
|