VisualWorks - VisualWorks

VisualWorks je multiplatformní implementace jazyka Smalltalk . Je implementován jako vývojový systém založený na „obrazech“, což jsou dynamické sbírky softwarových objektů, z nichž každý je obsažen v obraze systému .

Linie VisualWorks sahá až k první implementaci Smalltalk-80 od Xerox PARC . Na konci 80. let se skupina vývojářů Smalltalk-80 otočila od společnosti ParcPlace Systems, aby dále rozvíjeli Smalltalk-80 jako komerční produkt. Komerční produkt se původně nazýval ObjectWorks a poté VisualWorks. 31. srpna 1999 byl produkt VisualWorks prodán společnosti Cincom . VisualWorks běží v mnoha operačních systémech, včetně Windows , Mac OS X , Linux a několika verzích Unixu .

VisualWorks má velmi aktivní komunitu vývojářů třetích stran s verzí licence PUL (Personal Use License) k dispozici zdarma. Verze PUL má většinu výkonu a funkčnosti komerční verze. V obou verzích, stejně jako ve všech Smalltalks, může uživatel zobrazit celý zdrojový kód. To zahrnuje všechny systémové třídy, včetně prohlížeče a nástroje pro tvorbu grafického uživatelského rozhraní.

VisualWorks podporuje vývojové projekty napříč platformami, protože má integrované funkce pro více platforem. Například aplikaci GUI je třeba vyvinout pouze jednou a poté ji lze přepnout na různé styly widgetů. Aplikaci VisualWorks lze spustit na všech podporovaných platformách bez jakýchkoli úprav. Pouze virtuální stroj je závislý na platformě.

Výhody a nevýhody

VisualWorks umožňuje velmi rychlý vývoj aplikací, protože jednotlivé metody lze kompilovat, i když běží program, který má být vyvinut. Kompilace metody Smalltalk obvykle trvá podstatně méně než sekundu, zatímco to samé pro projekt C ++ trvá obvykle minutu nebo více a nelze ji snadno provést bez restartování procesu. Různé prohlížeče kódu VisualWorks pomáhají vývojáři rychle najít třídu nebo metodu zájmu.

Výkon a propustnost programů Smalltalk se může přiblížit výkonu statických jazyků, jako je C ++ , Fortran , Pascal nebo Ada, pomocí kompilátoru just-in-time generováním strojového kódu, který se specializuje na často používané typy, ale numerické zpracování a programy, které mají prospěch z přesného rozložení paměti může stále běžet pomaleji. Generační sběrač odpadků minimalizuje většinu pauz sběru, ale nemusí být vhodný pro tvrdé požadavky v reálném čase a determinismus, protože může dojít k dlouhým úplným sbírkám, což může zastavit svět v řádu desítek až stovek milisekund úměrných velikosti haldy. Uvolňování paměti je však výhodnější než ruční správa paměti v objektově orientovaném jazyce a programátor může provádět různé akce, aby určil, kdy a jak dlouho dojde k uvolňování paměti; za většiny okolností tedy odpadky nejsou problémem.

Instalace

Všechny součásti systému VisualWorks jsou nainstalovány ve Windows 7 nebo novějším v adresáři Program Files \ Cincom pojmenovaném podle čísla verze nainstalovaného systému - například vw7.5nc . Tento adresář obsahuje několik podadresářů včetně bin, doc , příkladů a mnoha dalších.

Myš tlačítka a nabídky

VisualWorks předpokládá-li třítlačítkovou myš s tlačítky s logické názvy <Select> , <Operate> a <Window> . I když lze použít jedno nebo dvě tlačítka myši společně s klávesami Ctrl , Option nebo Command . <Select> vybere libovolný objekt rozhraní. <Operate> vyvolá nabídku operací pro aktuální zobrazení / výběr. <Window> iniciuje akce (přesun, zavření ...) v oknech VisualWorks.

Formát souboru

Formát souboru je původní formát Smalltalk pro reprezentaci tříd jako textových souborů. Ty lze „zaevidovat“ do IDE VisualWorks a vygenerovat všechny třídy, které ještě nejsou obsaženy v obrazu Smalltalk . Každý souborový dokument poskytuje jednoduchou textovou reprezentaci třídy Smalltalk nebo tříd v textovém souboru s .st příponou. Je stále podporován ve VisualWorks, ale byl nahrazen mechanismem Parcels. V podadresáři examples jsou příklady ve formátu souboru.

Pozemky

Balíky jsou externí reprezentace souborů balíků.

Prohlížeč příkladů je poskytován jako balík v adresáři příkladů. K dispozici je několik přepínačů úrovně obrazu pro určení načítání balíků při spuštění obrazu. Cesta k balíku je seznam adresářů, kde VisualWorks hledá balíčky. To lze nastavit pomocí nástroje Nastavení systému.

Pozemky poskytují technologii komponent pro VisualWorks. Balíčky a svazky organizují kód a modelují obsah balíků. Balíky se vytvářejí publikováním balíků / svazků. Termín komponenty ve sféře VisualWorks se používá k označení balíků, balíčků a svazků, pokud to není nutné specificky.

Organizace balíkového kódu při načítání je určena jeho vytvořením. Pokud byl vytvořen publikováním balíčku, načte se do stejného balíčku. Pokud je vytvořen ze svazku, lze jej znovu načíst jako svazek nebo jako jeden balíček.

Pořadí načítání balíčku je:

  1. Načtou se všechny nezbytné součásti.
  2. Provádí se libovolná akce před načtením (např. Inicializovány nedeklarované proměnné).
  3. Objekty v balíčku jsou nainstalovány.
  4. Každá třída v balíku je odeslána zpráva postLoad: thePackage a všechny provedené akce. Často se jedná o spuštění aplikace.

Správce balíků

Správce balíků se používá k načtení a vyložení všech balíků na cestě k balíku. Zobrazení Návrhy obsahuje seznam kategorií obsahujících klíčové balíčky - výběrem kategorie získáte seznam doporučených balíků. Například UI Painter je umístěn v kategorii Essentials. K dispozici je také pohled adresářového stromu na cestu k balíku, který slouží k vyhledání balíků mimo zobrazení Návrhy. Načtené zobrazení obsahuje seznam všech balíků již na obrázku. Lze procházet pouze naložené balíky.

Podporovaný balík produktů VisualWorks je reprezentován ikonou, která vypadá jako balíček. Balíky od jiných prodejců vypadají jako nákupní pytel. Vzhledem ke spletité historii vývoje třídy Smalltalk to může být velmi užitečné. Například ikona balíku označuje, že hypertextový systém Arbor je nyní podporován VisualWorks.

Balíčky lze také načíst a uvolnit programově z aplikace.

Balíčky

Když je zásilka načtena, je uspořádána jako balíček nebo svazek balíků. Při hledání kódu načteného z balíku lze v prohlížeči systému vyhledat balíček nebo balíček se stejným názvem. Balíčky jsou kategorie, které organizují třídy do souvisejících skupin podle komponent. Balíčky lze seskupit do balíčků. Balíčky a svazky lze ukládat (publikovat) jako balíčky nebo do úložiště zdrojového kódu.

Načítání knihoven kódů

Počáteční obrázek visual.im obsahuje minimální vývojová zařízení využívající knihovny základních tříd . Další knihovny tříd poskytují VisualWorks nebo dodavatelé třetích stran, obvykle jako soubory balíků. U většiny vývojových prostředí jiných než Smalltalk se knihovny kódu importují v době kompilace pomocí příkazu include . V Smalltalk jsou knihovny kódu načteny do běžícího systému a stávají se součástí prostředí. Například malíř UI je načten jako balík.

Spouštěč VisualWorks

Spouštěč VisualWorks, který se obvykle nazývá Spouštěč , je ovládacím centrem systému VisualWorks. Je to odrazový můstek pro všechny hlavní nástroje.

Základy Smalltalk

Smalltalk je čistě objektově orientovaný programovací jazyk , což znamená, že jediným způsobem, jak se v Smalltalku něco stát, je posílání zpráv objektům. VisualWorks standardně používá jazyk Smalltalk-80, ale přichází s vlastní sadou tříd a metod. Takže i základní třídy, jako Object, se liší od těch v jiných IDE Smalltalk-80, jako je Squeak a Dolphin Smalltalk . Názorné příklady zde fungují v VisualWorks Smalltalk, ale nemusí fungovat v jiných Smalltalks, protože třídy a / nebo metody se mohou lišit.

Procházení a úpravy kódu Smalltalk

V tradičních objektově orientovaných programovacích prostředích vývojář přímo upravuje soubor zdrojového kódu prostého textu obsahující definice tříd a metod . V VisualWorks, stejně jako všechny Smalltalks, je vše vykonávající objekt , včetně tříd. Při procházení tříd Smalltalk vývojář shromažďuje definice ze spouštění objektů. Hlavním prohlížečem / editorem ve VisualWorks je systémový prohlížeč. Umožňuje vývojářům procházet třídy buď v celkové hierarchii tříd, nebo prostřednictvím jejich balíčků. Spouští se z aplikace VisualWorks Launcher.

Podokna seznamu v prohlížeči systému umožňují vývojářům přejít na definice tříd a metod. Poté je lze zobrazit nebo upravit v zobrazení kódu nebo upravit pomocí nových definic.

Nehlášené proměnné

Když je proměnná odstraněna, zatímco odkazy na ni stále existují, nebo je načtena prostřednictvím balíku, ale nikdy nebyla deklarována, její název vstoupí do prostoru nevyhlášených jmen. Nehlášené proměnné mohou způsobit určité chyby programu.

Řetězec a soubory

První výukový program společnosti Cincom pro VisualWorks ukazuje, jak lze VisualWorks použít k manipulaci se soubory protokolu serveru . Ilustruje, jak lze věci, jako jsou řetězce a soubory, snadno zahrnout do struktury objektu v rámci VisualWorks. Zvažte Smalltalk výraz :

'ws000101.log' asFilename edit

Jeden výraz lze vyhodnotit tak, jak je, v pracovním prostoru VisualWorks pomocí jednoho příkazu v nabídce ovládání. Tím se vytvoří:

  1. Objekt třídy ByteString obsahující řetězec (jako bajtů ) a metod pro manipulaci jej;
  2. Objekt třídy NTFS Název souboru (ve Windows XP ); a
  3. Objekt editoru.

Posledně jmenovaný je jednoduchý editor připomínající notebook, který obsahuje obsah souboru. To znamená, že hodnocení vytvořilo objekt názvu souboru jako bránu do souboru ws000101.log a otevřelo do něj editor. Samotný editor je objekt, stejně jako všechny jeho komponenty (až po znaky v jeho nabídkách včetně). Zdrojový kód je k dispozici pro všechny tyto objekty a VisualWorks má nepřeberné množství inspektorů, prohlížečů a dalších nástrojů pro kohokoli k vyhodnocení a kontrolu kódu ve statickém nebo dynamickém režimu.

Návody

Pro Cincom Smalltalk jsou vytvářeny denní výukové programy a je zde také výuka Seaside .

Reference

externí odkazy