Autor: Michal Pohorelsky Uverejneno: BAJT 01/94, str. 41-42 Novy UNIX na Intelu - NeXTSTEP 3.1 (2)
Divim se, proc NT-manie zachvatila vsechny pocitacove casopisy a na jejich strankach se kazdy vyspely OS hned porovnava s Windows NT. Copak lze porovnavat fungujici program s nejakou horkou novinkou, jenz ma porad chyby ? Operacni systemy NeXTSTEP a OS/2 se jiz pouzivaji delsi dobu, coz vede k predpokladu, ze obsahuji podstatne mene chyb nez je tomu u Windows NT.
Na Invexu v Brne jsem mel moznost mluvit s nekolika lidmi primo od firmy Digital, ktera prezentovala Windows NT na pracovni stanici Alpha AXP a pri neformalnim rozhovoru se systemovym programatorem Windows NT vyslo na svetlo par "detailu". System obsahuje radu drobnych chyb. Na pracovni stanici Alpha AXP, jejiz cena je minimalne 200 000 korun, pracuji Windows NT pod emulatorem procesoru 286 (!!), coz znamena, ze mate k dispozici pouze standardni rezim Windows 3.1. Emulace MS-DOS je oproti originalu znatelne pomalejsi a navic komunikace se svetem Unix pomoci standartu POSIX odpovida pouze znakovemu rezimu bez X-Window. Windows NT nema a podle mluvciho firmy Microsoft ani nebude mit v nejblizsi budoucnosti podporu 3D grafiky.
V minulem dile jsme si popsali zakladni vlastnosti operacniho systemu NeXTSTEP a jeho nekolik uzivatelskych programu. Dnes v tom budeme pokracovat a popiseme si take zakladni vyvojove nastroje, coz je vec, ktera povysuje NeXTSTEP nad vsechny ostatni OS. Jednim z dalsich uzivatelskych nastroju je sazeci program
TEX
TEX, jehoz autorem je genialni matematik Donald Knuth, slouzi predevsim pro snadnou sazbu komplikovanych matematickych textu. TEX neni prilis uzivatelsky pritulny, ale lepsi sazeci program proste neexistuje. TEX je svym zpusobem programovaci jazyk pro velmi presny popis stranky. Umi rozpoznat ve zdrojovem textu priblizne 300 zakladnich povelu (muzeme jim rikat "primitivni funkce"), ktere umoznuji nejen primo ovlivnovat tvorbu stranky, ale take ovlivnovat chovani TEXu pri zpracovani vstupniho textu a tim dosahovat ruznych efektu, jenz casto zjednodusuji pripravu vstupniho textu. Vsechny povely pro TEX se zapisuji do zdrojoveho textu ve forme ASCII znaku. Primitivni funkce je mozne rozdelit do nekolika skupin:
Program TEX nelze ovladat mysi, takze ovladatelnost programu trochu vybocuje z jednotneho uzivatelskeho prostredi, ale v zadnem pripade by nemel uniknout vasi pozornosti. Moznosti TEXu presahuji schopnosti rady komercnich DTP programu.
- Primitivni funkce pro ovlivnovani zlomu odstavcu (vcetne deleni slov).
- Primitivni funkce pro upravu stranky - velikost a umisteni stranky, ruzne zpusoby umistovani poznamek a obrazku, ovlivneni zlomu stranky.
- Primitivni funkce ovlivnujici velikosti ruznych mezer, coz umi nejen mezi odstavci ci slovy, ale take mezery v matematickymi objekty ruznych typu.
- Primitivni funkce umoznujici ruzna srovnavani textu - treba vytvareni matic nebo tabulek.
- Primitivni funkce umoznujici zadavani novych symbolickych nazvu pro ruzne objekty (objektem je jak kus textu, tak novy font apod.)
- Primitivni funkce umoznujici menit chovani TEXu.
- Primitivni funkce umoznujici ovladat praci TEXu - predevsim znama makra oznacovana jako PlainTEX, LATEX nebo AMS-TEX.
Digital Webster
Digital Webster predstavuje digitalni implementaci Websterova vykladoveho slovniku. Websteruv slovnik a tezaurus vam mohou pomoci, kdyz narazite na nejakou nesrozumitelnost ve velmi rozsahlem HELP systemu kazdeho uzivatelskeho nastroje. Je rovnez vyhodny pri caste praci s rozsahlymi anglickymi texty. Zajimavym pro podnikatele urcite bude FaxReader, coz je program automaticky prijimajici dosle FAX dokumenty. Fax muzete snadno odesilat z libovolne aplikace nebo rozesilat elektronickou postou. Pokud si potrebujete prohlednout nebo vytisknout libovolne Postscriptove soubory pouzijte program Preview. Program umi to same s obrazky formatu TIFF a jeho pouzivani je snadne.
Digital Librarian
I kdyz to neni na prvni pohled zrejme Digital Librarian patri mezi nejdulezitejsi nastroje hlavne pro spravce systemu a programatory. Jde o relativne jednoduchy indexovy system, jenz umoznuje rychle prohledavat velke mnozstvi dokumentace. Digital Librarian je v kompletni verzi OS NeXTSTEP doplnen o kompletni dokumentaci k operacnimu systemu. Jste spravcem NeXTSTEPu a potrebujete svuj vykonny pocitac propojit v siti s pocitacem Apple Macintosh ? Zadny problem, ponevadz staci spustit Digital Librarian a zadat treba souslovi - "Macintosh File System". Za nekolik sekund se vam zobrazi seznam vsech dokumentu obsahujicich zminku o systemu souboru Macintoshe. S Digital Librarianem muze samozrejme stejnym zpusobem pracovat i programator.
Configure
Sluzby aplikace Configure ocenime az pri nutnosti zmenit konfiguraci pracovni stanice. Kdykoliv muzeme instalovat novy ovladac zarizeni, zmenit parametry aktualniho ovladace nebo zrusit stary nepotrebny ovladac. Krome toho jsou vsechny ovladace v NeXTSTEPu znacne inteligentni, ponevadz presne "vedi" jake naroky mohou uplatnovat vuci systemu. Jednotlive ovladace nelze v zadnem pripade pripojit k zarizeni, ktere samy neumeji ovladat.
Objektove programatorske nastroje
Vyvojove prostredi NeXTSTEPu obsahuje vsechny nastroje, ktere potrebujete pri vytvareni aplikaci. Interface Builder je velmi pokrocilym vyvojovym nastrojem, jenz vam umozni vytvorit grafickou aplikaci a otestovat jeji uzivatelske rozhrani ve velmi kratke dobe. Cely proces vytvareni, ladeni a upravovani ridi Project Builder. Project Builder vam zaroven dava naprostou svobodu pri vytvareni aplikaci. Vyvojove prostredi NeXTSTEPu samozrejme take obsahuje graficky debugger a kompilatory objektove orientovanych jazyku Objective C a Objective C++. Obrovskou vyhodou integrovaneho vyvojoveho prostredi je fakt, ze kazda vytvorena aplikace ma prakticky identicke ovladani, coz ostre kontrastuje s chaosem v oblasti MS-DOS.
Project Builder
Project Builder slouzi k vytvareni, ladeni a udrzovani projektu aplikace. Udrzuje vsechny soubory a zdroje spojene s aplikaci. Project Builder dovede sam pripravit zakladni rozhrani, ktere je spolecne vetsine aplikaci. Project Builder take umi vygenerovat Makefile. Make je velmi silny nastroj pro spravu projektu, ktery je soucasti temer kazde implementace UNIX systemu. Jestlize pri kompilaci projektu se objevi chyba, Project Builder se okamzite postara, aby se kriticka cast kodu prenesla do integrovaneho editoru EDIT, kde muzeme chybu opravit. Navic NeXTSTEP obsahuje mnoho hotovych projektu, ktere programator muze studovat jako priklady. S pomoci Project Builderu muzete tyto projekty modifikovat a vyuzit pri vytvareni vlastni aplikace.
Interface Builder
Potrebujete vytvorit prijemne graficke prostredi v kazde aplikaci ? Pokud ano, zacnete intenzivne pouzivat Interface Builder umoznujici vytvorit design celeho programu. Interface Builder maximalne vyuziva objektove podstaty NeXTSTEPu, coz vzhledem k ostatnim operacnim systemum, umoznuje provadet veci dosud nevidane. Objektove prostredi je zalozeno na samostatnych objektech, ktere si libovolne mohou posilat ruzne zpravy, data, obrazky nebo cokoliv jineho. To ve svem dusledku znamena zasadni zmenu pri vytvareni aplikaci. Pomoci mnoziny vzajemne komunikujicich objektu si uzivatel muze vytvorit napr. slozitou ekonomickou agendu bez napsani jedine radky programu ! Staci proste vzit mys a objekty vhodnym zpusobem spojit. Interface Builder rovnez podporuje vytvareni interaktivni napovedy a lokalizaci aplikaci do jednotlivych narodnich jazyku. Pokud se rozhodneme skutecne napsat nejaky program, Interface Builder nam opet vyznamne zjednodussi praci. Zvolime si urcity objekt a vytvorime k nemu novou podtridu (novy typ objektu). Do nove podtridy se okopiruji vlastnosti puvodniho objektu a my doplnime dalsi vlastnosti objektu. Kdyz vytvorime program, musime predpokladat, ze obsahuje radu programovych chyb. Chyby je samozrejme nutne odstranit - k tomu pouzijeme
Graphical Debugger
Vykonny Graphical Debugger umoznuje ladit optimalizovany kod a prerusovaci body v programu. GDB debugger je plne integrovan s editorem EDIT a Project Builderem, vcetne podpory mysi pri nastavovani prerusovacich bodu, zkusebnich dat, zastavovani a spousteni programu nebo pri dalsich ladicich operacich.
Application Kit
Potrebujete vytvorit zakladni kostru aplikace ? Osetrit v aplikaci ruzne udalosti ? Jestlize ano, zacnete vyuzivat objekty z Application Kit. Objekty z Application Kit zajisti v aplikaci standardni system pro bezne ovladani, ovladani a rizeni udalosti, spravu jednotlivych oken programu. Objekty nam rovnez zajisti ovladani tisku a dokonce FAXU. Ponevadz jsou vsechny objekty vytvoreny v jazyku Objektive C, muze je uzivatel libovolne upravovat a rozsirovat pocet jejich funkci. Application Kit take obsahuje navrhy mnoha jednoduchych ovladacich prvku (buttons) a posuvnych seznamu (scrollers). Sdileni dat operacemi CUT, COPY, PASTE je automaticky podporovano mezi vsemi aplikacemi. S pomoci distribuovanych objektu z Application Kit lze pomerne snadno do libovolne aplikace zabudovat technologii Client/Server !
Database Kit
Database Kit je objektove orientovany nastroj pro vyvoj databazovych aplikaci. Umoznuje vytvaret databaze s nezavislou vnitrni architekturou, coz vyznamne usnadni prenaseni aplikaci do odlisneho databazoveho prostredi. Diky tomu lze provozovat prenesenou aplikaci bez zmeny uzivatelskeho rozhrani a logiky ovladani. Uvedena vlastnost radikalne redukuje cas potrebny k vytvoreni a implementaci grafickeho prostredi v interaktivnich databazovych programech. V soucasne dobe je mozne vytvaret databaze v prostredi ORACLE a SYBASE. V databazovych aplikacich je mozne uplatnit mnoho ruznych typu dat - jednoduchy text, RTF text, cisla, obrazky nebo dokonce zvuk. Database Kit spolupracuje s DBModelerem, coz je graficky nastroj pro vytvareni databazovych modelu. Database Kit rozsiruje oblast pouzitelnosti objektoveho programovani i na hromadne zpracovani dat, kde zatim objektove databaze nebyly prilis uspesne.
3D Graphics Kit
Jak uz napovida sam nazev jedna se o sadu objektu a nastroju pro tvorbu grafickych aplikaci ve 3D. Tento 3D Kit pouziva patentovanou technologii RenderMan firmy Pixar. 3D Kit nabizi radu nastroju pro interaktivni vytvareni trirozmerne grafiky a tisk vyslednych obrazku se provede pomoci integrovaneho jazyka 2D PostScript. Teprve kdyz obycejny clovek pozoruje na monitoru, jak jsou dva nadherne obrazky prekryty rotujici trojrozmernou krychli, pochopi silu 3D grafiky.
Programovaci jazyk Objective C
Objective C nabizi mnoho vlastnosti jazyka SmallTalk s vykonnosti jazyka C. Objektove C nabizi moznost dynamickeho vytvareni programu, coz je podstatne pri programovani flexibilniho GUI a vytvareni vzdalenych zprav (na jiny pocitac v ramci pocitacove site). Rozsirene vyhody objektu v distribuovanem pocitacovem prostredi dovoluji aplikacim zasilat zpravy (informacni objekty) jinym aplikacim v siti. To prinasi moznost ridit udalostmi celou pocitacovou sit. Zdrojovy kod programu je automaticky optimalizovan a ulozen ve proveditelnem formatu. V NeXTSTEPu existuje vedle Objective C, take jeho rozsirena varianta Objective C++ a prumyslovy standart ANSI C, ktery je zarazen pouze kvuli zpetne kompatibilite.
Prvni dojmy
Jak napovida titulek, zde jiz nenajdete popis zadneho programatorskeho nastroje, ale dozvite se nekolik cerstvych postrehu. NeXTSTEP je schopen se s vami domluvit sesti svetovymi jazyky, ale cesky jazyk je mu cizi. Tento nedostatek by mela odstranit systemova aplikace New Encoding - Slavic version, jejiz autorem je ceska firma QUIRES. New Encoding resi podporu jazyku stredni a vychodni Evropy, avsak cena neni (v dobe psani clanku) jeste znama. V soucasne dobe se prodava NeXTSTEP verze 3.1 a predpoklada se uvedeni vylepsene verze 3.2 na konci roku 1993. Soucasti verze 3.2 by mel byt take emulator MSDOSu a Windows od spolecnosti Insignia Software. Programy site na miru NeXTSTEPu se uz zacinaji objevovat. Neni bez zajimavosti, ze soucasny tabulkovy hit - Lotus Improv for Windows je s uspechem pouzivan v prostredi NeXTSTEPu uz od roku 1991 !
Zakladni pozadavky na hardware jsou zmineny v prvni dile. Je ovsem treba pocitat s nakupem dalsich doplnku, ktere se ve svete PC zatim bezne nepouzivaji. Jedna se predevsim o zvukovou kartu a jednotku CD-ROM, ponevadz na CD-ROM je distribuovan vlastni NeXTSTEP. Pro optimalni zobrazovani technologie True Color je velmi vhodne si poridit 17-palcovy monitor. Pouzivani NeXTSTEPu je prijemne, pokud pocitac ma alespon 20 MB RAM. S pameti 16 MB sice lze NeXTSTEP provozovat , ale kazdou operaci doprovazi caste smatrani na disku. Jediny nedostatek, se kterym jsem se setkal v NeXTSTEPu je nekompatibilita grafickeho formatu TIFF s beznym PC standardem, coz zpusobilo problemy pri manipulaci s obrazky.
Zaver
NeXTSTEP 3.1 for Intel prinasi na platformu PC fascinujici objektovou technologii, ktera je uzce provazana s 24 bitovou grafikou. NeXTSTEP prinasi spickove prostredi a vykonnost pro nejnarocnejsi uzivatele. Pokud se v podniku pouziva 5 az 15 PC pocitacu je vyhodne sahnout po systemu OS/2 nebo Windows for Workgroups.
Jestlize je v podniku vice nez 20 PC pocitacu, nastal cas premyslet o vyhodach NeXTSTEPu. Osobne si myslim, ze znacna investice do NeXTSTEPu se Vam rychle vrati, protoze ten svymi schopnostmi lehce zastini ostatni operacni systemy.