www.wikidata.uk-ua.nina.az
Smalltalk vimovlyayetsya smo ltok ob yektno oriyentovana mova programuvannya z dinamichnoyu tipizaciyeyu rozroblena v Xerox PARC Alanom Kejem Denom Ingallsom Tedom Keglerom Adel Goldberg u 1970 h rokah Mova bula predstavlena yak Smalltalk 80 i z tih pir shiroko vikoristovuyetsya Smalltalk prodovzhuye aktivno rozvivatisya i zbiraye navkolo sebe spivtovaristvo koristuvachiv Smalltalk istotno vplinula na rozvitok bagatoh inshih mov takih yak Objective C Actor Java ta Ruby Bagato idej 1980 h i 1990 h iz napisannya program z yavilisya v spivtovaristvi Smalltalk Do nih mozhna vidnesti refaktoring shabloni proektuvannya stosovno PZ karti Klas Obov yazki Vzayemodiya i ekstremalne programuvannya v cilomu Zasnovnik koncepciyi Viki Vord Kanningem takozh vhodit v spivtovaristvo Smalltalk SmalltalkParadigma ob yektno oriyentovanaData poyavi Rozrobka pochalasya u 1969Vipusk 1980Tvorci PARC Alan Kej Den Ingalls Ted Kegler Adel GoldbergRozrobnik PARC Alan Kej Den Ingalls Ted Kegler Adel GoldbergOstannij reliz ANSI Smalltalk 19 travnya 1998 1 Sistema tipizaciyi dinamichnoyu tipizaciyeyuOsnovni realizaciyi Squeak VisualWorksPid vplivom vid LISP SimulaVplinula na Objective C Actor Self Oak Java Dylan mova programuvannya AppleScript NewtonScript Python Ruby Scala Zmist 1 Istoriya 2 Osnovni ideyi Smalltalk 3 Prikladi program 3 1 Prostij priklad Privit svite 3 2 Robota z ob yektami 3 2 1 Viznachennya klasu 3 2 2 Viznachennya metodu 3 2 3 Viklik 4 Div takozh 4 1 PosilannyaIstoriya RedaguvatiSmalltalk bula rozroblena grupoyu doslidnikiv ocholyuvanoyu Alanom Keyem v doslidnickomu centri Xerox PARC Persha realizaciya vidoma yak Smalltalk 71 bula stvorena za dekilka misyaciv yak rezultat superechki pro te sho mova programuvannya zasnovana na ideyi posilki povidomlen pidkazanoyu Simuloyu povinna realizovuvatisya na storinci kodu Piznisha versiya dijsno vikoristana dlya doslidnickoyi roboti vidoma zaraz yak Smalltalk 72 Yiyi sintaksis i model vikonannya silno vidriznyalisya vid suchasnogo Smalltalk nastilki sho yiyi treba rozglyadati yak inshu movu Pislya istotnih pererobok yaki zafiksuvali dekilka storin semantiki vikonannya dlya zbilshennya efektivnosti bula stvorena versiya vidoma yak Smalltalk 76 U cij versiyi dodalisya uspadkuvannya sintaksis blizhchij do Smalltalk 80 i seredovishe rozrobki sho vklyuchaye bilshist instrumentiv znajomih zaraz Smalltalk eram U Smalltalk 80 buli dodani metaklassi sho robilo frazu vse ob yekti istinnoyu shlyahom pov yazannya z individualnimi klasami vlastivostej i povedinki napriklad pidtrimka riznih sposobiv stvorennya ekzemplyariv Smalltalk 80 buv pershoyu versiyeyu dostupnoyu za mezhami PARC spochatku yak Smalltalk 80 Version 1 rozdanij nevelikij kilkosti kompanij i universitetiv dlya ekspertnoyi ocinki Piznishe u 1983 buli vipusheni zagalnodostupna realizaciya vidoma yak Smalltalk 80 Version 2 yak obraz nezalezhnij vid platformi fajl sho mistit ob yekti i specifikaciyi virtualnoyi mashini Zaraz isnuye dvi realizaciyi Smalltalk sho ye pryamimi nashadkami Smalltalk 80 Ce Squeak i VisualWorks Osnovni ideyi Smalltalk RedaguvatiOsnovnimi ideyami Smalltalk a ye Vse ob yekti Ryadki cili chisla logichni znachennya viznachennya klasiv bloki kodu steki pam yat vse predstavlyayetsya u viglyadi ob yektiv Vikonannya programi skladayetsya z posilan povidomlen mizh ob yektami Bud yake povidomlennya mozhe buti poslane bud yakomu ob yektovi ob yekt oderzhuvach viznachaye chi ye ce povidomlennya pravilnim i sho treba zrobiti shob jogo obrobiti Vse dostupno dlya zmini Yaksho vi hochete zminiti integrovane seredovishe rozrobki vi mozhete zrobiti ce v pracyuyuchij sistemi bez zupinki perekompilyaciyi i perezapusku Isnuye mozhlivist rozshirennya movi novimi keruyuchimi konstrukciyami U deyakih realizaciyah vi mozhete takozh zminiti sintaksis movi abo sposib roboti zbiracha smittya Model vid kontroler MVC shablon strukturi interfejsu koristuvacha Ostannim chasom vikoristovuyut i inshi koncepciyi realizaciyi interfejsu koristuvacha napriklad Morphic v Squeak i Pollock v VisualWorks Dinamichna translyaciya suchasni komercijni virtualni mashini kompilyuyut bajtkodi v mashinni kodi dlya shvidkogo vikonannya Smalltalk takozh vikoristovuye inshi suchasni ideyi Avtomatichne pribirannya smittya vbudovane v movu i nepomitne rozrobnikovi Programi Smalltalk zazvichaj kompilyuyutsya v bajtkodi i vikonuyutsya virtualnoyu mashinoyu VM sho dozvolyaye vikonuvati yih na bud yakomu ustatkuvanni dlya yakogo isnuye VM Odniyeyu z nespodivanih osoblivostej Smalltalk ye te sho tradicijni konstrukciyi if then else for while tosho ne ye chastinoyu movi Vsi voni realizovani za dopomogoyu ob yektiv Napriklad rishennya uhvalyuyetsya za dopomogoyu posilki povidomlennya ifTrue logichnomu ob yektovi i peredaye upravlinnya fragmentu kodu yaksho logichne znachennya istinne Ye vsogo tri konstrukciyi posilka povidomlennya ob yektovi priznachennya ob yekta zminnij povernennya ob yekta z metodu i dekilka sintaksichnih konstrukcij dlya viznachennya literalnih ob yektiv i timchasovih zminnih Shob krashe zrozumiti yak pracyuye mehanizm obminu povidomlennyami mozhna uyaviti kozhen ob yekt yak vebserver sho vidpovidaye na zapiti Pri comu na zapiti mozhna prosto vidavati zazdalegid zumovlenu vidpovid analog comu vidacha vebstorinki roztashovanoyi za pevnim shlyahom mozhna perenapraviti zapit povidomlennya inshomu ob yektovi analog proksi server zminiti zapit za pevnimi pravilami analog tehnika URL rewriting Yaksho dlya reakciyi na povidomlennya nemaye zumovlenogo metodu to viklikayetsya metod doesNotUnderstand tak samo yak vebserver vidkrivaye storinku z povidomlennyam pro pomilku yaksho storinka za zadanim shlyahom ne isnuye Prikladi program RedaguvatiNastupnij priklad pokazuye poshuk golosnih v ryadku ta ilyustruye stil Smalltalk Simvol viznachaye zminni viznachaye parametri a simvoli i mozhna spershu sprijmati yak analog figurnih duzhok i v S podibnih movah aString vowels aString This is a string vowels aString select aCharacter aCharacter isVowel U ostannomu ryadku posilayetsya povidomlennya select z argumentom u viglyadi bloku kodu Dali jde kod v bazovomu klasi Collection yakij vikonuye robotu newCollection newCollection self species new self do each aBlock value each ifTrue newCollection add each newCollection Vin vidpovidaye na povidomlennya shlyahom pereboru svoyih elementiv ce metod do vikonuyuchi kod aBlock dlya kozhnoyi literi koli vikonuyetsya aBlock aCharacter isVowel vin stvoryuye logichne znachennya yakomu potim posilayetsya ifTrue Yaksho ce znachennya true bukva dodayetsya v ryadok sho povertayetsya Pozayak select viznacheno v abstraktnomu klasi Collection jogo mozhna vikoristovuvati tak rectangles aPoint rectangles OrderedCollection with Rectangle left 0 right 10 top 100 bottom 200 with Rectangle left 10 right 10 top 110 bottom 210 aPoint Point x 20 y 20 collisions rectangles select aRect aRect containsPoint aPoint Prostij priklad Privit svite Redaguvati U comu prikladi pokazano dvi storoni Smalltalk Transcript show Privit svite Pershe ce posilka povidomlennya U Smalltalk vsi obchislennya provodyatsya shlyahom posilki povidomlen ob yektam V danomu vipadku povidomlennya ce show Privit svite i vono posilayetsya Transcript Dlya obrobki cogo povidomlennya bude viklikanij metod Transcript show yakij maye rozglyanuti svij argument ryadok Privit svite i vidobraziti cej argument na Transcript Zauvazhte sho u vas maye buti vidkrite vikno Transcript shob pobachiti rezultat Druge cej priklad pokazuye osnovnij sintaksis posilki povidomlennya v Smalltalk e lt ODERZhUVACh POVIDOMLENNYa gt lt PROBIL gt lt POVIDOMLENNYa gt Na vidminu vid C nemaye krapok pislya oderzhuvacha i nemaye duzhok navkolo argumentiv Robota z ob yektami Redaguvati Viznachennya klasu Redaguvati Object subclass MessagePublisher instanceVariableNames classVariableNames poolDictionaries category Smalltalk Examples Ce proste viznachennya klasu z viznachennyam im yam i kategoriyi Chasto seredovishe rozrobki nadavatime vam veliku chastinu kodu z cogo prikladu Viznachennya metodu Redaguvati publish Transcript show Hello world Ce viznachennya metodu z im yam publish Tilo metodu take zh yak v prostomu prikladi Viklik Redaguvati U comu prikladi stvoryuyetsya ekzemplyar MessagePublisher MessagePublisher new potim jomu posilayetsya povidomlennya publish Zvernit uvagu sho dlya stvorennya ob yekta vikoristovuyetsya ne klyuchove slovo movi yak v C Java C a posilayetsya zvichajne povidomlennya new do klasu MessagePublisher Povidomlennya dlya stvorennya ob yektiv inodi pereviznachayut Napriklad yakijs abstraktnij klas mozhe u vidpovid na new povertati ekzemplyar odin z svoyih konkretnih klasiv MessagePublisher new publishDiv takozh RedaguvatiOb yektno oriyentovane programuvannya Deyaki movi programuvannya stvoreni pid vplivom Smalltalk C Sharp Ruby Pharo Seaside frejmvork Posilannya Redaguvati Standart ANSI Smalltalk Arhivovano 28 veresnya 2007 u Wayback Machine http www smalltalk org angl Arhivovano 13 serpnya 2004 u Wayback Machine http www smalltalk ru ros Arhivovano 28 veresnya 2004 u Wayback Machine http www squeak org angl Arhivovano 24 zhovtnya 2004 u Wayback Machine https wiki squeak org squeak 172 Otrimano z https uk wikipedia org w index php title Smalltalk amp oldid 35735520