Co je Smalltalk? / Kio estas Smalltalk?

Programování ve Smalltalku pro úplné začátečníky i pokročilé…
Odpovědět
Zpráva
Autor
Uživatelský avatar
lyn_x
nebeský/á
Příspěvky: 714
Registrován: 19 čer 2008 18:37
Bydliště: La Ter'

Co je Smalltalk? / Kio estas Smalltalk?

#1 Příspěvek od lyn_x » 30 črc 2010 18:02

Smalltalk je, zjednodušeně řečeno, univerzální programovací jazyk, který vznikl v průběhu sedmdesátých let v laboratořích XEROXu. Proč zjednodušeně? Protože Smalltalk je mnohem víc než jen jazyk a i dnes, třicet let od definování jeho "konečné" podoby, je mezi nástroji pro programování do značné míry exotem, který je těžko porovnatelný s jinými nástroji. Říkám záměrně nástroji, protože kromě jazyka a jeho základní knihovny, která v případě Smalltalku vlastně tvoří jazyk samotný, je Smalltalk také integrovaným visuálním prostředím se svými typickými utilitami, grafickým a okenním subsystémem ovládaném kromě klávesnice také myší. Možná vás překvapí, že myš i okenní grafické rozhraní jsou nápady, které pochází právě ze Smalltalku, ze kterého byly později okoukány a převzaty firmou Apple. Smalltalk je také jedním z prvních objektových jazyků. V případě Smalltalku říkáme často "objektových" a ne "objektově orientovaných", protože objektovost je realizována velmi nekompromisně a například v porovnání s jazykem C++, který označujeme za objektově orientovaný, je na nepoměrně vyšší úrovni. Je především integrální součástí jazyka, nikoliv dodatečnou částečnou podporou objektového přístupu k programování.
Připadá vám zvláštní, že vývojové prostředí má svůj grafický a okenní podsystém? Váš podiv je zcela namístě. V tomto je Smalltalk také dosti exotický. Jeho autoři považovali operační systém za nadbytečnou vrstvu, kterou eliminovali. Smalltalk tak vykonává mnohé úkoly, které běžně náležejí operačnímu systému, například imlementuje i svůj interní multitasking.
Z dnes používaných prostředí je Smalltalku blízko například Java a .NET, a to především v tom, že běží na virtuálním stroji a jsou, alespoň teoreticky, přenositelné mezi různými hardwarovými platformami. Mnohé věci realizované ve Smalltalku však vynechávají, například přejímají syntaxi jazyka C, která je hůře čitelná, avšak obecně známá.


Smalltalko estas, simpligite dirite, universala programadolingvo, kiu ekestis en pasado de sepdekaj jaroj en laborejoj de XEROX. Kial simpligite? Tial Smalltalko estas tre pli ol nur lingvo kaj eĉ hodiaŭ, tridek jaroj ekde difinado de ĝia "fina" formo ĝi estas inter iloj por programadon en signifa mezuro ekzoto, kiu estas malfacile komparebla kun aliaj iloj. Mi diras intence iloj, tial krome de lingvo kaj ĝia baza libraro, kiu en okazo de Smalltalko propre kreas la lingvon mem, estas la Smalltalk ankaŭ integrita vizuala programad-medio kun siaj tipaj iloj, kun grafika kaj fenestra subsistemo, mastrita krome de klavaro ankaŭ pere de muso-montrilo. Eble vi surprizos, ke la muso kaj fenestra grafika interfaco estas ideoj, kiuj eliras ĝuste el Smalltalko, el kiu ili estis poste rigarditaj kaj adoptitaj per firmao Apple. Smalltalk ankaŭ estas unu el la unuaj objektaj lingvoj. En okazo de Smalltalko ni ofte diras "objektaj" kaj ne "objektemaj"(uzanta esperanta faktermino por "objekte orientitaj"), tial la objekteco estas realigita tre senkompromise kaj ekzemple en komparo kun komputilolingvo C++ kiu ni nomas "objektema" ĝi estas sur nekompareble pli alta nivelo. Precipe ĝi estas integra parto de la lingvo, ne nur aldonita parta subteno de la objektema stilo de programado.
Ĉu tio ŝajnas stranga al vi, ke la programadilo havas siajn proprajn grafikan kaj fenestran subsistemojn? Via admiro estas tute ĝusta. En tiu-ĉi aspekto la Smalltalko ankaŭ estas iom ekzotika. Ĝiaj aŭtoroj opiniis mastruman sistemon je la redundindan tavolon, kiun ili eliminis. Smalltalk ankaŭ realigas plimulto da taskoj, kiuj kutime apartenas al mastruma sistemo, ekzemple ĝi estras sian propran internan multotaskadon.
El de hodie uzataj programadomedioj proksime de Smalltalk estas ekzemple Java kaj .NET, precipe per tio, ke ili funkcias sur virtuala kumputilo kaj ili estas, almenaŭ laŭteorie, transigeblaj inter diversaj hardvaj platformoj. Multo da aĵoj realizitaj en Smalltalko ili tamen ellasas, ekzemple ili adoptas sintakson de la lingvo C, kiu estas malpli bone legebla, sed ĝenerale konata.



Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host