Nový Unix na Intelu - NeXTSTEP 3.1 (2)

Z Multimediaexpo.cz

Autor: Michal Pohořelský
Uveřejněno: BAJT 01/94, str. 41-42


Divím se, proč NT-mánie zachvátila všechny počítačové časopisy a na jejich stránkách se každý vyspělý OS hned porovnává s Windows NT. Copak lze porovnávat fungující program s nějakou horkou novinkou, jenž má pořád chyby ? Operační systémy NeXTSTEP a OS/2 se již používají delší dobu, což vede k předpokladu, že obsahují podstatně méně chyb než je tomu u Windows NT.

Na Invexu v Brně jsem měl možnost mluvit s několika lidmi přímo od firmy Digital, která prezentovala Windows NT na pracovní stanici Alpha AXP a při neformálním rozhovoru se systémovým programátorem Windows NT vyšlo na světlo pár "detailů". Systém obsahuje řadu drobných chyb. Na pracovní stanici Alpha AXP, jejíž cena je minimálně 200 000 korun, pracují Windows NT pod emulátorem procesoru 286 (!!), což znamená, že máte k dispozici pouze standardní režim Windows 3.1. Emulace MS-DOS je oproti originálu znatelně pomalejší a navíc komunikace se světem Unix pomocí standardu POSIX odpovídá pouze znakovému režimu bez X-Window. Windows NT nemá a podle mluvčího firmy Microsoft ani nebude mít v nejbližší budoucnosti podporu 3D grafiky.

V minulém díle jsme si popsali základní vlastnosti operačního systému NeXTSTEP a jeho několik uživatelských programů. Dnes v tom budeme pokračovat a popíšeme si také základní vývojové nástroje, což je věc, která povyšuje NeXTSTEP nad všechny ostatní OS. Jedním z dalších uživatelských nástrojů je sazecí program

TEX

TEX, jehož autorem je geniální matematik Donald Knuth, slouží především pro snadnou sazbu komplikovaných matematických textů. TEX není příliš uživatelsky přítulný, ale lepší sázecí program prostě neexistuje. TEX je svým způsobem programovací jazyk pro velmi přesný popis stránky. Umí rozpoznat ve zdrojovém textu přibližně 300 základních povelů (můžeme jim říkat "primitivní funkce"), které umožňují nejen přímo ovlivňovat tvorbu stránky, ale také ovlivňovat chování TEXu při zpracování vstupního textu a tím dosahovat různých efektů, jenž často zjednodušují přípravu vstupního textu. Všechny povely pro TEX se zapisují do zdrojového textu ve formě ASCII znaků. Primitivní funkce je možné rozdělit do několika skupin:

  • Primitivní funkce pro ovlivňování zlomu odstavců (včetně dělení slov).
  • Primitivní funkce pro úpravu stránky - velikost a umístění stránky, různé způsoby umisťování poznámek a obrázků, ovlivnění zlomu stránky.
  • Primitivní funkce ovlivňující velikosti různých mezer, což umí nejen mezi odstavci či slovy, ale také mezery v matematickými objekty různých typů.
  • Primitivní funkce umožňující různá srovnávání textu - třeba vytváření matic nebo tabulek.
  • Primitivní funkce umožňující zadávání nových symbolických názvů pro různé objekty (objektem je jak kus textu, tak nový font apod.)
  • Primitivní funkce umožňující měnit chování TEXu.
  • Primitivní funkce umožňující ovládat práci TEXu - především známá makra označovaná jako PlainTEX, LATEX nebo AMS-TEX.

Program TEX nelze ovládat myší, takže ovladatelnost programu trochu vybočuje z jednotného uživatelského prostředí, ale v žádném případě by neměl uniknout vaší pozornosti. Možnosti TEXu přesahují schopnosti řady komerčních DTP programů.

Digital Webster

Digital Webster představuje digitální implementaci Websterova výkladového slovníku. Websterův slovník a tezaurus vám mohou pomoci, když narazíte na nějakou nesrozumitelnost ve velmi rozsáhlém HELP systému každého uživatelského nástroje. Je rovněž výhodný při časté práci s rozsáhlými anglickými texty. Zajímavým pro podnikatele určitě bude FaxReader, což je program automaticky přijímající došlé FAX dokumenty. Fax můžete snadno odesílat z libovolné aplikace nebo rozesílat elektronickou poštou. Pokud si potřebujete prohlédnout nebo vytisknout libovolné Postscriptové soubory použijte program Preview. Program umí to samé s obrázky formátu TIFF a jeho používání je snadné.

Digital Librarian

I když to není na první pohled zřejmé Digital Librarian patří mezi nejdůležitější nástroje hlavně pro správce systému a programátory. Jde o relativně jednoduchý indexový systém, jenž umožňuje rychle prohledávat velké množství dokumentace. Digital Librarian je v kompletní verzi OS NeXTSTEP doplněn o kompletní dokumentaci k operačnímu systému. Jste správcem NeXTSTEPu a potřebujete svůj výkonný počítač propojit v síti s počítačem Apple Macintosh ? Žádný problém, poněvadž stačí spustit Digital Librarian a zadat třeba sousloví - "Macintosh File System". Za několik sekund se vám zobrazí seznam všech dokumentů obsahujících zmínku o systému souborů Macintoshe. S Digital Librarianem může samozřejmě stejným způsobem pracovat i programátor.

Configure

Služby aplikace Configure oceníme až při nutnosti změnit konfiguraci pracovní stanice. Kdykoliv můžeme instalovat nový ovladač zařízení, změnit parametry aktuálního ovladače nebo zrušit starý nepotřebný ovladač. Kromě toho jsou všechny ovladače v NeXTSTEPu značně inteligentní, poněvadž přesně "vědí" jaké nároky mohou uplatňovat vůči systému. Jednotlivé ovladače nelze v žádném případě připojit k zařízení, které samy neumějí ovládat.

Objektové programátorské nástroje

Vývojové prostředí NeXTSTEPu obsahuje všechny nástroje, které potřebujete při vytváření aplikací. Interface Builder je velmi pokročilým vývojovým nástrojem, jenž vám umožní vytvořit grafickou aplikaci a otestovat její uživatelské rozhraní ve velmi krátké době. Celý proces vytváření, ladění a upravování řídí Project Builder. Project Builder vám zároveň dává naprostou svobodu při vytváření aplikací. Vývojové prostředí NeXTSTEPu samozřejmě také obsahuje grafický debugger a kompilátory objektově orientovaných jazyků Objective C a Objective C++. Obrovskou výhodou integrovaného vývojového prostředí je fakt, že každá vytvořená aplikace má prakticky identické ovládání, což ostře kontrastuje s chaosem v oblasti MS-DOS.

Project Builder

Project Builder slouží k vytváření, ladění a udržování projektu aplikace. Udržuje všechny soubory a zdroje spojené s aplikací. Project Builder dovede sám připravit základní rozhraní, které je společné většině aplikací. Project Builder také umí vygenerovat Makefile. Make je velmi silný nástroj pro správu projektů, který je součástí téměř každé implementace UNIX systému. Jestliže při kompilaci projektu se objeví chyba, Project Builder se okamžitě postará, aby se kritická část kódu přenesla do integrovaného editoru EDIT, kde můžeme chybu opravit. Navíc NeXTSTEP obsahuje mnoho hotových projektů, které programátor může studovat jako příklady. S pomocí Project Builderu můžete tyto projekty modifikovat a využít při vytváření vlastní aplikace.

Interface Builder

Potřebujete vytvořit příjemné grafické prostředí v každé aplikaci ? Pokud ano, začněte intenzivně používat Interface Builder umožňující vytvořit design celého programu. Interface Builder maximálně využívá objektové podstaty NeXTSTEPu, což vzhledem k ostatním operačním systémům, umožňuje provádět věci dosud nevídané. Objektové prostředí je založeno na samostatných objektech, které si libovolně mohou posílat různé zprávy, data, obrázky nebo cokoliv jiného. To ve svém důsledku znamená zásadní změnu při vytváření aplikací. Pomocí množiny vzájemně komunikujících objektů si uživatel může vytvořit např. složitou ekonomickou agendu bez napsání jediné řádky programu ! Stačí prostě vzít myš a objekty vhodným způsobem spojit. Interface Builder rovněž podporuje vytváření interaktivní nápovědy a lokalizaci aplikací do jednotlivých národních jazyků. Pokud se rozhodneme skutečně napsat nějaký program, Interface Builder nám opět významně zjednodušší práci. Zvolíme si určitý objekt a vytvoříme k němu novou podtřídu (nový typ objektu). Do nové podtřídy se okopírují vlastnosti původního objektu a my doplníme další vlastnosti objektu. Když vytvoříme program, musíme předpokládat, že obsahuje řadu programových chyb. Chyby je samozřejmě nutné odstranit - k tomu použijeme

Graphical Debugger

Výkonný Graphical Debugger umožňuje ladit optimalizovaný kód a přerušovací body v programu. GDB debugger je plně integrován s editorem EDIT a Project Builderem, včetně podpory myši při nastavování přerušovacích bodů, zkušebních dat, zastavování a spouštění programu nebo při dalších ladících operacích.

Application Kit

Potřebujete vytvořit základní kostru aplikace ? Ošetřit v aplikaci různé události ? Jestliže ano, začněte využívat objekty z Application Kit. Objekty z Application Kit zajistí v aplikaci standardní systém pro běžné ovládání, ovládání a řízení událostí, správu jednotlivých oken programu. Objekty nám rovněž zajistí ovládání tisku a dokonce FAXU. Poněvadž jsou všechny objekty vytvořeny v jazyku Objektive C, může je uživatel libovolně upravovat a rozšiřovat počet jejich funkcí. Application Kit také obsahuje návrhy mnoha jednoduchých ovládacích prvků (buttons) a posuvných seznamů (scrollers). Sdílení dat operacemi CUT, COPY, PASTE je automaticky podporováno mezi všemi aplikacemi. S pomocí distribuovaných objektů z Application Kit lze poměrně snadno do libovolné aplikace zabudovat technologii Client/Server !

Database Kit

Database Kit je objektově orientovaný nástroj pro vývoj databázových aplikací. Umožňuje vytvářet databáze s nezávislou vnitřní architektůrou, což významně usnadní přenášení aplikací do odlišného databázového prostředí. Díky tomu lze provozovat přenesenou aplikaci bez změny uživatelského rozhraní a logiky ovládání. Uvedená vlastnost radikálně redukuje čas potřebný k vytvoření a implementaci grafického prostředí v interaktivních databázových programech. V současné době je možné vytvářet databáze v prostředí ORACLE a SYBASE. V databázových aplikacích je možné uplatnit mnoho různých typů dat - jednoduchý text, RTF text, čísla, obrázky nebo dokonce zvuk. Database Kit spolupracuje s DBModelerem, což je grafický nástroj pro vytváření databázových modelů. Database Kit rozšiřuje oblast použitelnosti objektového programování i na hromadné zpracování dat, kde zatím objektové databáze nebyly příliš úspěšné.

3D Graphics Kit

Jak už napovídá sám název jedná se o sadu objektů a nástrojů pro tvorbu grafických aplikaci ve 3D. Tento 3D Kit používá patentovanou technologii RenderMan firmy Pixar. 3D Kit nabízí řadu nástrojů pro interaktivní vytváření třírozměrné grafiky a tisk výsledných obrázků se provede pomocí integrovaného jazyka 2D PostScript. Teprve když obyčejný člověk pozoruje na monitoru, jak jsou dva nádherné obrázky překryty rotující trojrozměrnou krychlí, pochopí sílu 3D grafiky.

Programovací jazyk Objective C

Objective C nabízí mnoho vlastností jazyka SmallTalk s výkonností jazyka C. Objektové C nabízí možnost dynamického vytváření programů, což je podstatné při programování flexibilního GUI a vytváření vzdálených zpráv (na jiný počítač v rámci počítačové sítě). Rozšířené výhody objektu v distribuovaném počítačovém prostředí dovolují aplikacím zasílat zprávy (informační objekty) jiným aplikacím v síti. To přináší možnost řídit událostmi celou počítačovou síť. Zdrojový kód programu je automaticky optimalizován a uložen ve proveditelném formátu. V NeXTSTEPu existuje vedle Objective C, také jeho rozšířená varianta Objective C++ a průmyslový standard ANSI C, který je zařazen pouze kvůli zpětné kompatibilitě.

První dojmy

Jak napovídá titulek, zde již nenajdete popis žádného programátorského nástroje, ale dozvíte se několik čerstvých postřehů. NeXTSTEP je schopen se s vámi domluvit šesti světovými jazyky, ale český jazyk je mu cizí. Tento nedostatek by měla odstranit systémová aplikace New Encoding - Slavic version, jejíž autorem je česká firma QUIRES. New Encoding řeší podporu jazyků střední a východní Evropy, avšak cena není (v době psaní článku) ještě známa. V současné době se prodává NeXTSTEP verze 3.1 a předpokládá se uvedení vylepšené verze 3.2 na konci roku 1993. Součástí verze 3.2 by měl být také emulátor MSDOSu a Windows od společnosti Insignia Software. Programy šité na míru NeXTSTEPu se už začínají objevovat. Není bez zajímavosti, že současný tabulkový hit - Lotus Improv for Windows je s úspěchem používán v prostředí NeXTSTEPu už od roku 1991 !

Základní požadavky na hardware jsou zmíněny v první díle. Je ovšem třeba počítat s nákupem dalších doplňků, které se ve světě PC zatím běžně nepoužívají. Jedná se především o zvukovou kartu a jednotku CD-ROM, poněvadž na CD-ROM je distribuován vlastní NeXTSTEP. Pro optimální zobrazování technologie True Color je velmi vhodné si pořídit 17-palcový monitor. Používání NeXTSTEPu je příjemné, pokud počítač má alespoň 20 MB RAM. S pamětí 16 MB sice lze NeXTSTEP provozovat , ale každou operaci doprovází časté šmátrání na disku. Jediný nedostatek, se kterým jsem se setkal v NeXTSTEPu je nekompatibilita grafického formátu TIFF s běžným PC standardem, což způsobilo problémy při manipulaci s obrázky.

Závěr

NeXTSTEP 3.1 for Intel přináší na platformu PC fascinující objektovou technologii, která je úzce provázána s 24 bitovou grafikou. NeXTSTEP přináší špičkové prostředí a výkonnost pro nejnáročnější uživatele. Pokud se v podniku používá 5 až 15 PC počítačů je výhodné sáhnout po systému OS/2 nebo Windows for Workgroups.

Jestliže je v podniku více než 20 PC počítačů, nastal čas přemýšlet o výhodách NeXTSTEPu. Osobně si myslím, že značná investice do NeXTSTEPu se Vám rychle vrátí, protože ten svými schopnostmi lehce zastíní ostatní operační systémy.