Squak Smalltalk [6 * 9 = 42] whileTrue: [World run]
Stopařův průvodce jedním převážně neškodným programovacím jazykem
smalltalk
Swiki
  • Domů
  • Zpět
  • Tento server

    Squeak
  • Úvod
  • Smalltalk
  • Články
  • Knihy
  • Dokumentace
  • FAQ
  • Tutoriály
  • Download
  • Odkazy

    Komunita
  • CSSUG
  • Oznámení
  • Projekty
  • O nás
  • Fórum
  • Kontakt

     

  • Smalltalk

    Co je to Smalltalk

    Smalltalk je čistý objektově orientovaný jazyk/systém, interpretovaný virtuálním strojem (podobně jako Java, C#, ...) a použitelný v podobném okruhu aplikací jako Java (sítě, web, multimédia, vestavěné systémy). Na rozdíl od Javy však jde o jednoduchý dynamický jazyk (co do jednoduchosti a dynamičnosti srovnatelný s LISPem a Prologem) použitelný i pro rychlé prototypování a pro aplikace z oblasti umělé inteligence (mj. protože s programy lze manipulovat jako s daty a mohou za běhu samy sebe modifikovat).

    Jelikož Smalltalk uplatňuje objektovou orientaci naprosto důsledně a bez vyjímek (na rozdíl od Javy nezná pojem "primitivní typ"), je extrémně jednoduchý.
    Na rozdíl od běžného cyklu edit-compile-run-debug, typického pro souborově orientované jazyky obvykle Algolovského typu (Pascal, C, C++, Java) se software ve Smalltalku (což je jazyk Lispovského typu) tvoří inkrementálně a interaktivně za pomoci jednoduchého, leč důmyslného vývojového prostředí, které umožňuje experimentovat i s nehotovým softwarem v raných fázích vývoje (říká se tomu exploratory programming).

    Jazyk a vývojové prostředí tvoří konzistentní celek, zastřešený grafickým uživatelským rozhraním.
    Smalltalk není jen jazyk (na rozdíl od Javy, C#, ...). Jde o systém s vlastnostmi běžně očekávanými od operačního systému. Jazyk je jeho součástí a v tomto jazyce je celý systém vytvořen. Díky tomu je schopen sám sebe svými vlastními prostředky vyvíjet (inkrementálně, za běhu, bez restartu). Je zcela otevřený a přístupný jakýmkoliv modifikacím a rozšířením a to i ve svých nejhlubších vrstvách (plánovač procesů, kompilátor, ...). Celý systém běží na virtuálním stroji a proto se chová bitově/pixelově totožně na všech hardwarových a softwarových platformách a ke své činnosti ani nutně nepotřeboje žádný operační systém (virtuální stroj nijak nezávisí na souborovém systému a může běžet přímo na "holém železe").

    Smalltalk byl vyvinut v 70-tých letech ve výzkumém středisku XEROX Parc, kde tenkrát mimo jiné probíhal vývoj hardwaru i univerzálního softwaru pro osobní počítač. Grafické uživatelské rozhraní Smalltalku později v 80-tých letech inspirovalo vývoj GUI v rámci jiných systémů (Apple Macintosh, Atari, Microsoft Windows a X-Windows v UNIXu).

    Implementace Smalltalku

    Nejznámější komerční implementace Smalltalku jsou VisualWorks (Cincom) a VisualAge (IBM). Jde o velmi kvalitní implementace, v průmyslu hojně používané pro jejich spolehlivost a výkonnost. Srovnatelná open-source free implementace Smalltalku je Squeak. V některých aspektech, jako je např. podpora multimédií, výrazně převyšuje schopnosti komerčních Smalltalků. Je však o něco pomalejší. Navazuje sice bezprostředně na starou klasiku, Smalltalk-80, avšak v současné době v něm probíhá bouřlivý vývoj. Porovnání Squeaku s komerčními Smalltalky dopadá prakticky stejně jako porovnání Linuxu s komerčními UNIXy - v podstatě umí totéž, i když jde trochu jinou (otevřenou) cestou.

    Kromě Squeaku, WisualWorks a VisualAge existuje celá řada dalších komerčních i otevřených implmentací Smalltalku, ale tyto implementace mají, na rozdíl od výše uvedených, některá omezení - některé se hodí jen pro skriptování, některé nejsou zcela portabilní, některé se liší v jiných aspektech.







    Administrátoři: Pavel Křivánek, Zbyněk Křivka