Smalltalk

Wikipediasta
Siirry navigaatioon Siirry hakuun
Tämä artikkeli kertoo ohjelmointikielestä. Kevyestä keskustelusta kertoo artikkeli small talk.
Smalltalk
Paradigma olio-ohjelmointi
Merkittävimmät toteutukset Dolphin Smalltalk; Cincom Smalltalk; VA Smalltalk; GNU Smalltalk; Squeak
Vaikutteet Lisp, Simula
Vaikuttanut Common Lisp, Objective-C, Python
Murteet Smalltalk-72, Smalltalk-76, Smalltalk-80

Smalltalk on oliopohjainen ohjelmointikieli ja -ympäristö.

Historia[muokkaa | muokkaa wikitekstiä]

Smalltalk on 1970-luvulla kehitetty ohjelmointikieli, joka on kehitetty Xerox-yhtiön tutkimuskeskus PARC:issa Yhdysvalloissa.[1]

Kielen konseptin kehitti Alan Kay, joka kehitti Dynabook-prototyyppiä ja graafista käyttöliittymää joka sopisi myös lapsille.[2] Dan Ingalls vaikutti Smalltalkin toteuttamiseen.[3]

Kehittäjiin kuuluivat lisäksi Dave Robson, Adele Goldberg, Peter Deutsch[4], Ted Kaehler ja Scott Wallace. Smalltalk sai runsaasti vaikutteita Norjassa kehitetystä Simula-kielestä, jota pidetään kaikkien olio-ohjelmointikielten kantamuotona.

Xerox julkaisi Smalltalk-kielen nimellä Smalltalk-80. Sen jälkeen Hewlett-Packard tuotti ensimmäisen kaupallisen version.[4] Vuonna 1986 Digitalk-yhtiö julkaisi Smalltalk/V:n, joka oli ensimmäinen laajasti saatavilla ollut versio henkilökohtaisille tietokoneille.[5] Digitalk päätyi myöhemmin ParcPlacen omistukseen[6].

Kielen kehittäminen siirtyi Xerox PARCin tutkimuskeskuksesta ohjelmoijien perustamalle ParcPlace-yhtiölle, joka kehitti siitä VisualWorks-nimisen tuotteen. VisualWorks on samalla sekä kieli että kehitysympäristö, samaan tapaan kuin Eclipse ja Java ovat yhdessä Javan kehitysympäristö. Tuotetta myydään edelleenmilloin? ja sen omistaa nykyään Cincom. 1990-luvulla VisualWorks-kehitysympäristöllä kehitettiin lukuisia pitkään yritysten käytössä olleita sovelluksia.

Vuonna 1996 muun muassa Apple-yhtiöllä Alan Kay kehitti Smalltalkin pohjalta Squeakin. Squeakiä seurasi vuonna 2008 tiiviimpi versio Pharon.

Smalltalkin ANSI-standardi valmistui vuonna 1998.

Olioperustaisuus[muokkaa | muokkaa wikitekstiä]

Smalltalkilla kirjoitetut ohjelmat ovat olioperustaisia. Smalltalkia pidetään puhtaana olio-ohjelmointikielenä.lähde? Muiden ohjelmointikielten tapaan Smalltalk on syntaktiselta ytimeltään hyvin pieni ja koko kielen voima perustuu varsin laajaan luokkakirjastoon.

Useimmat olio-ohjelmointikielet, esimerkiksi Java ja COBOLin olioversio, ovat ottaneet mallia Smalltalkista[4]. Java onkin rakenteeltaan hyvin lähellä Smalltalkia.lähde? Kummassakin kieltä ajetaan tulkkaavasti virtuaalikoneessa, mikä tekee niistä suhteellisen hitaita.

Dynaaminen tyypitys[muokkaa | muokkaa wikitekstiä]

Smalltalkissa muuttujat on tyypitetty dynaamisesti, eli käännösajan sijaan ajoaikana. Smalltalk ei vaadi muuttujien ja argumenttien tietotyyppien määrittelyä. Joidenkin mukaanselvennä tyypitys tekisi ohjelmista luotettavampia, mutta Smalltalkin käyttäjien mukaan tyypin määrittely vain sotkee ohjelmia ja hidastaa työtä[4].

Smalltalkissa on graafinen ohjelmointiympäristö.

Nykyinen käyttö[muokkaa | muokkaa wikitekstiä]

Smalltalkia käyttävät verkkotietokantaohjelma DabbleDB[7] sekä CMS-järjestelmät Cmsbox[8] ja Pier[9].

Toteutukset[muokkaa | muokkaa wikitekstiä]

Smalltalkin eri toteutuksia ovat: Smalltalk MT; Dolphin Smalltalk; Cincom Smalltalk; Instantiations VA Smalltalk (uudelleenbrändätty IBM VisualAgeSmalltalk[6]); GNU Smalltalk;[10] Squeak on Smalltalk-80-versioon perustuva avoimen lähdekoodin toteutus eri käyttöjärjestelmille.[11] SmallScript toimii osana Microsoftin NET-alustaa.[4]

Lähteet[muokkaa | muokkaa wikitekstiä]