NEXTSTEP 3.3
"Když v roce 1986 legendární Steve Jobs, spoluzakladatel firmy Apple, odešel od 'nakousnutého jablka' a založil novou firmu, jeho hlavním cílem bylo vyvarovat se známých chyb. Steve se tedy rozhodl zkusit najít novou cestu. Svou novou firmu pojmenoval symbolicky NeXT -- anglicky 'příští' -- a začal se zabývat objektovým programováním." Těmito slovy jsem před asi dvěma lety zahájil pravděpodobně první rozsáhlejší sérii článků, zabývajících se operačním systémem NEXTSTEP -- po technické stránce zřejmě nejzajímavějším operačním systémem, jaký je dnes komerčně k dispozici. Dnes, kdy si NEXTSTEP začíná dobývat své místo i na našem trhu je možná na místě některé zajímavé informace publikovat znovu a doplnit je novinkami a zkušenostmi, získanými při praktickém každodenním využívání NEXTSTEPu.
Tento článek je úvodem pro sérii dalších článků, které proberou podrobně zajímavé vlastnosti NEXTSTEPu. Objektovým prostředím a objektovým programováním jako takovým se budeme zabývat pouze v minimální nezbytně nutné míře, a budeme volně používat objektové pojmy vysvětlené jinde.
1. Trochu historie
Snaha předpovědět vývoj v oblasti výpočetní techniky je velmi často odsouzena k nezdaru; přesto se dá se slušnou pravděpodobností říci, že v nejbližší budoucnosti bude základem tvorby jakéhokoli software objektové programování. Steve Jobs to poznal již před deseti lety a investoval svůj kapitál -- duševní i finanční -- do vývoje nového operačního systému, který by byl na principech objektového programování založen.
Ukázalo se však, že neexistuje hardwareová platforma, na které by nový operační systém mohl úspěšně pracovat. Každý uživatelský a programátorský luxus znamená další nárok na výkon systému; výkon osobních počítačů třídy IBM PC nebo Apple Macintosh však pro takový luxus jaký by Jobse uspokojil prostě nestačil. Pracovní stanice by snad dostatečný výkon dokázaly nabídnout; jejich cena však byla příliš vysoká. Proto firma NeXT zahájila dva projekty najednou -- vývoj objektového operačního systému NeXTstep a vývoj počítačů NeXT.
První počítač NeXTcube byla elegantní černá krychle o straně přesně jedné stopy, pracoval pod systémem NeXTstep 1.0 a jeho srdcem byl mikroprocesor Motorola MC68030. Jako vnější paměť sloužila jednotka magnetooptického disku o kapacitě 256MB. Nový systém měl mnoho zajímavých prvků a operační systém -- jakkoli v první verzi trpěl řadou dětských nemocí -- se rázem stal po technické stránce nejzajímavějším systémem na trhu. Většímu rozšíření nového počítače však bránilo i nemalé množství nevýhod: jakkoli tehdy byl mikroprocesor MC68030 nejlepším mikroprocesorem na trhu, jeho výkon NeXTstepu nestačil a jeden z uživatelů počítače NeXT prohlásil, že "překreslování okna na obrazovce mu připomíná vyvolávání fotografií v temné komoře". Ani magnetooptický disk nebyl nejšťastnější volbou -- jeho poměr ceny a kapacity sice byl zajímavý, ale se spolehlivostí to již bylo horší a rychlost byla velmi, velmi malá.
Dalším modelem, odstraňujícím většinu problémů prvního modelu NeXTcube, byla pracovní stanice NeXTstation. Nizounká 'krabice na pizzu' o výšce necelých sedm centimetrů obsahovala mikroprocesor Motorola MC68040 s taktem 25MHz a digitální signálový procesor Motorola DSP56001 na stejné frekvenci. Na místě magnetooptického disku byl standardní pevný disk s kapacitou 105, 200 nebo 400MB. Stanice NeXTstation byla také osazena disketovou mechanikou typu ED, schopnou pracovat s disketami 720KB, 1.44MB a 2.88MB. Standardem bylo také rozhraní Ethernet a sběrnice SCSI2. Pro ty, kdo požadovali dostatek volného místa v počítači pro rozšiřující karty byl k dispozici inovovaný NeXTcube o stejném výpočetním výkonu, ale s daleko většími rozšiřovacími možnostmi. Operační systém NeXTstep již byl k dispozici ve verzi 2.0, která přinesla řadu nových prvků a výrazně zvýšila stabilitu systému. Stanice NeXTstation se rázem stala počítačem s nejlepším poměrem ceny a výkonu a počítače NeXT se začaly prosazovat v podnicích, které potřebovaly spolehlivé systémy pro kritické aplikace 'na míru'.
Posledním počítačem firmy NeXT byla varianta NeXTstation Turbo, s přepracovanou sběrnicí pro dosažení ještě vyššího výkonu. Pak však výkon špičkových sestav třídy IBM PC dosáhl úrovně potřebné pro běh NeXTstepu; zároveň cena pracovních stanic prolomila magickou hranici $10000; firma NeXT se proto nadále soustředila na vývoj software a práci na počítačích zastavila. Zároveň připravila port NeXTstepu pro počítače kompatibilní s IBM PC a ohlásila porty pro stanice Hewlett-Packard a Sun. NeXTstep pro počítače NeXT je samozřejmě nadále podporován a všechny nové aplikace i nové verze operačního systému samotného jsou k dispozici pro všechny podporované architektury včetně NeXTů.
Poznamenejme, že firma NeXT nevyráběla jen počítače; ani tiskárny NeXT, ani grafický akcelerátor NeXTdimension, řízený procesorem i80860 však již dnes nejsou příliš rozšířeny. Stojí však za zmínku spíše jako příklad, že NeXT zavedl již před lety technologie, které dnes svět ostatních systémů začíná s velkým halasem znovu objevovat: laserové tiskárny neobsahující vlastní interpret PostScriptu, ale řízené z počítače, barevné tiskárny typu inkjet, řízení tiskáren programově a jejich programová odezva (dojde-li v tiskárně papír, ozve se z počítače příjemný ženský hlas "Your printer is out of paper"...) -- to vše bylo standardní součástí systémů NeXT od samého začátku.
Dnes, v roce 1995, je NEXTSTEP dostupný již ve třetí verzi na široké nabídce hardwareových platforem. V době, kdy se objeví první verze jiných objektových systémů jako je Cairo nebo Taligent, bude již pravděpodobně k dispozici NEXTSTEP 4.0, pracující na systémech NeXT, na počítačích třídy IBM PC, na pracovních stanicích Hewlett-Packard s architekturou PA-RISC, na systémech SPARC firmy Sun a na počítačích osazených procesorem DEC Alpha. Firma NeXT navíc podporuje rozvoj a údržbu standardu OpenStep -- standardizovaného plně objektového API pro libovolný dostatečně výkonný operační systém.
2. Co to je vlastně NEXTSTEP
NEXTSTEP je objektový, velmi luxusní operační systém pro osobní počítače a počítačové sítě. Standardně obsahuje velké množství prvků, které pro jiné systémy bývají k dispozici pouze jako komerční dodatečné programové balíky. Navíc je stoprocentně kompatibilní s UNIXem a je plně portabilní. Za všechny výhody se něčím platí -- NEXTSTEP patří mezi nejnáročnější operační systémy na kvalitu hardware. Podívejme se na jednotlivé prvky podrobněji -- nejprve si ukážeme orientační strukturu systému a pak se postupně podíváme na jeho jednotlivé prvky:
2.1. Struktura systému
NEXTSTEP je kompromisem mezi stoprocentně objektovým, ale v praxi obtížně použitelným prostředím jakým je např. SmallTalk ma jedné straně a praktickými požadavky na straně druhé -- např. kompatibility s UNIXem nebo bezproblémové přenositelnosti již existujících klasických programů by v plně objektovém prostředí nebylo možné dosáhnout.
NEXTSTEP má proto strukturu, kterou přibližně vidíme na obrázku: centrem systému je jádro, ovladače a samotné technické vybavení. Nad ním je vrstva knihoven, které zajišťují standardní přístup k systémovým službám, k jednotlivým zařízením a samozřejmě nabízejí množství dalších vlastních služeb. Na další úrovni je rozsáhlá vrstva objektových knihoven (tzv. 'kitů') NEXTSTEPu, které nabízejí aplikacím (a serverům) všechny potřebné služby prostřednictvím objektových rozhraní. Servery -- samostatné tásky, zabezpečující některé činnosti systému -- využívají služeb knihoven a naopak samy některé své služby knihovnám nabízejí (využijeme-li např. knihovní funkci pro kreslení, bude ve skutečnosti požadavek předán WindowServeru). Konečně na nejvyšší úrovni jsou aplikace, které standardně využívají služby objektových knihoven (a jejich prostřednictvím i serverů) a služby ostatních aplikací prostřednictvím objektových vazeb. Je-li to však zapotřebí, může aplikace přímo komunikovat se serverem, nebo využívat API standardních UNIXových nebo Posixových knihoven, které je postaveno na standardním neobjektovém rozhraní knihovních funkcí (a mimo jiné ukrývá objektové služby MACHu).
2.2. Grafika a GUI
Jednou z nejsilnějších stránek NEXTSTEPu jsou jeho grafické schopnosti. Grafický model NEXTSTEPu je samozřejmě postaven na technologii klient-server, která bez problémů umožňuje aby např. program pracoval na velmi výkonném centrálním počítači, ale jeho vstup a výstup byl realizován grafickým serverem na pracovní stanici na našem pracovním stole.
Grafická primitiva, jimž WindowServer -- grafický server NEXTSTEPu -- rozumí, nejsou ad hoc zvolenou sadou primitivních grafických služeb, s jakými se setkáme např. v X Windows. WindowServer namísto toho dokáže interpretovat Display PostScript Level 2 -- jazyk, který je zcela bezkonkurenčním standardem pro všechna výstupní zařízení. Díky tomu v NEXTSTEPu neexistují problémy s rozdíly mezi zobrazením dat na monitoru a jejich tištěnou (nebo faxovanou, nebo svícenou, ...) podobou -- ve všech případech se použije tentýž PostScriptový program, popisující grafický výstup aplikace. Pro ty, kdo PostScript neznají, uvedeme jednoduchý příklad. Zkuste na svém počítači vytvořit s využitím jeho základních grafických primitiv:
pak se podívejte na odpovídající pětiřádkový program v PostScriptu:
/Times-Italic findfont 120 scalefont setfont
/printIt {0 0 moveto (NeXT) show} def
60 10 translate
.98 -.02 0 {setgray printIt -1 .5 translate} for
2 3 div setgray printIt
NEXTSTEP je pravděpodobně jediným dnešním operačním systémem, jehož grafický systém standardně dokáže pracovat i s třírozměrnou grafikou. Součástí WindowServeru je interaktivní interpret jazyka Pixar RenderMan pro popis třírozměrných scén; pošleme-li tedy WindowServeru například následující krátký prográmek
##RenderMan RIB-Structure 1.0
##CameraOrientation 1.169 2.022 1.72 0.696 1.239 1.31 -0.199809 -0.357082 0.912452
WorldBegin
Color .7 0 .7
Torus .5 .4 0 360 300
WorldEnd
zobrazí WindowServer toto:
Chceme-li takový obrázek vytisknout, nepoužije se interaktivní renderování, ale fotorealistické renderování, které je také součástí NEXTSTEPu. Máme-li k dispozici počítačovou síť, můžeme si samozřejmě vyžádat fotorealistické renderování na nejvýkonnějším počítači -- fotorealistický renderovač je realizován opět jako server.
Další zajímavostí grafického modelu NEXTSTEPu je jeho schopnost práce s barvami v libovolném z běžně užívaných formátů: RGB, CMYK nebo HSB. Volíme-li barvu prostřednictvím GUI, můžeme samozřejmě použít i klasický barevný kruh nebo můžeme barvu sejmout z libovolného bodu obrazovky. Ti, kdo se zabývají profesionálně grafikou, však pravděpodobně zvláště ocení schopnost NEXTSTEPu pracovat s barvami podle standardu PANTONE.
Poslední specialitou grafického systému NEXTSTEPu o které se zde zmíníme je jeho schopnost pracovat s tzv. alfa kanálem, tj. mírou průhlednosti. Použijeme-li např. barevný model RGB, nemá barva v NEXTSTEPu tři složky, ale čtyři -- červenou, zelenou, modrou a alfa; má-li alfa hodnotu 0, je barva zcela průhledná, při hodnotě 1 je zcela neprůhledná. Hodnoty mezi nulou a jedničkou reprezentují více či méně průsvitnou barvu. Na dalším obrázku například vidíme výřez z aplikace Concurrence, která umožňuje textový drag&drop a tažený blok textu zobrazuje nad pozadím v 'průsvitné bílé barvě':
2.3. Standardní aplikace
NEXTSTEP standardně obsahuje řadu aplikací, usnadňujících práci uživatele i programátora. Můžeme je pro lepší přehlednost rozdělit do čtyř skupin: uživatelské aplikace, aplikace pro administrátora systému, programátorské aplikace a demonstrační aplikace. Takové dělení samozřejmě není zcela funkční -- např. editor Edit využije běžný uživatel pro psaní libovolných dokumentů stejně jako programátor pro praní zdrojových textů -- udržíme si však díky němu lepší přehled.
Uživatelské aplikace pomáhají běžnému uživateli při každodenní práci se systémem -- např. tento článek je vytvořen ve standardním editoru NEXTSTEPu. Editoru se budeme podrobněji věnovat v dalších dílech našeho seriálu; prozatím se proto spokojíme s ilustračním obrázkem jeho okna:
Mezi uživatelskými aplikacemi nalezneme i takové 'fajnovosti' jako je ilustrovaný Websterův výkladový slovník:
Slovník je opravdu kompletní Webster a málo jiných programů je tak praktických při čtení anglických textů. Slovník je kombinován s thesaurem; pokud tedy v angličtině sami píšeme, oceníme i jeho nabídku synonym a antonym k zadanému slovu. Píšeme-li anglicky, oceníme jistě i univerzální korektor pravopisu, použitelný díky objektové technologii v rámci libovolné aplikace která pracuje s textem (česká varianta korektoru existuje a je k dispozici jako komerční doplněk). Mimochodem, ti, kdo se zabývají anglickou literaturou, naleznou v NEXTSTEPu nejen oxfordský slovník citátů, ale dokonce i kompletní díla Williama Shakespeara, oindexovaná pro rychlé vyhledání libovolného textu:
Mezi uživatelské aplikace musíme počítat také WorkspaceManager -- špičkový a velmi pohodlný grafický interpret uživatelských příkazů; i jím se budeme podrobně zabývat později. Ti, kdo jsou zvyklí práci s UNIXem, jistě zařadí mezi své oblíbené uživatelské aplikace Terminal, který umožní otevřít libovolné množství oken, z nichž každé reprezentuje UNIXový terminál. Aplikace Mail umožňuje komunikaci prostřednictvím elektronické pošty; zprávy mohou být multimediální, a Mail si rozumí s kterýmkoli systémem, který odpovídá standardu MIME:
Druhá skupina aplikací je určena pro systémového administrátora. Pomocí aplikace Installer se instalují nové softwareové balíky do NEXTSTEPu; Installer však toho umí víc: jednou instalovaný balík můžeme kdykoli zkomprimovat nebo zcela odstranit ze systému:
Aplikace BuildDisk nejen umožní vytvořit jiný bootovatelný disk, ale navíc umožní uživateli vybrat ze seznamu všech instalovaných softwareových balíků které mají být na nový disk přeneseny a které ne:
NEXTSTEP se velmi důsledně snaží zjednodušit administrativu na nejnutnější minimum -- máme-li např. samostatný systém, který využíváme pouze sami, nemusíme ani vědět že nějaká administrativa existuje -- NEXTSTEP se v takovém případě navenek tváří stejně jako běžné jednouživatelské systémy typu OS/2. Do administrace se musíme pustit teprve ve chvíli, kdy potřebujeme konfigurovat lokální síť nebo umožnit práci více uživatelů. I tehdy se však NEXTSTEP snaží nám ušetřit práci: např. aplikace UserManager nabízí natolik intuitivní grafické uživatelské rozhraní, že její pomocí může správu uživatelských účtů zajišťovat i ten, kdo s víceuživatelskými systémy dosud neměl žádné zkušenosti. Aplikace SimpleNetworkStarter umožní kompletní konfiguraci lokální sítě i naprostému laikovi -- na obrázku vidíme konfiguraci serveru; konfigurace klienta je ještě daleko jednodušší. Teprve komplikovanější administrativa, jakou je např. konfigurace rozsáhlé heterogenní sítě nebo vytvoření klonu serveru vyžadují určité zkušenosti.
NEXTSTEP nabízí i aplikaci Configure, která umožňuje uživatelsky co možná nejpohodlnějším způsobem konfigurovat zařízení, připojená k počítači. Nemáme-li sběrnici PCI -- jejíž automatickou konfiguraci NEXTSTEP samozřejmě podporuje -- nevyhneme se žonglování s IRQ, porty a DMA kanály; aplikace Configure však za nás alespoň hlídá případné neshody:
Třetí skupinou pak jsou aplikace určené pro programátory. Inteligentní nadstavba pro správu projektu ProjectBuilder skrývá komplikované ovládání UNIXovského 'make', aniž by snížila jeho flexibilitu; navíc usnadňuje tvorbu lokalizovatelných aplikací. Na obrázku vidíme volbu dokumentů, které bude aplikace zpracovávat, a jejich ikon.
Základem programování pod NEXTSTEPem však je aplikace InterfaceBuilder, ve které můžeme velmi pohodlným a efektivním způsobem vytvářet objektové sítě (s IconBuilderem se podrobně seznámíme později, ušetříme si proto zatím obrázek, který by nám bez podrobnějších informací o objektovém systému nic neřekl).. Navíc NEXTSTEP nabízí řadu pomocných aplikací, usnadňujících programování -- další obrázek nám např. ukazuje aplikaci FileMerge, která slouží pro porovnávání dvou dokumentů a pro slučování do jediného výsledného dokumentu (mnoho let před vznikem zdaleka ne tak dobrého windiffu):
Poslední skupina aplikací je relativně nejméně zajímavá: jedná se o demonstrace schopností a výkonu NEXTSTEPu. Nalezneme zde několik her různé úrovně, od od varianty klasické 'zdi' známé již z počítačů ZX-81, kdy míčkem bouráme zeď sestavenou z cihel (pod NEXTSTEPem samozřejmě s multimediálními efekty) až po velmi kvalitní šachy, se kterými má i dobrý šachista co dělat -- a jejichž grafické zpracování má samozřejmě NeXTí kvalitu:
Mezi demonstračními aplikacemi nalezneme řadu dalších více či méně zajímavých drobností -- je zde aplikace umožňující přehrávání zvukových CD i aplikace na prohlížení obrázků z Kodak Photo CD disků; nalezneme tu i jednoduchý editor samplovaných zvuků. Je zde správce distribuovaného zpracování náročných výpočtů (jeho pomocí byla např. numericky prokázána velká Fermatova věta až do exponentu 1000000 nebo bylo faktorizováno Brentovo číslo -- 13^101 + 1 = 2 * 7 * 3327037444864439 * 7425107270430419 * 9320615531279027221853 * 14560861044113847497319380951 * 686686445425016030757228727087). Chceme-li zaměstnat nějak počítač zatímco přemýšlíme nad vážnou prací, můžeme využít animovaný screensaver BackSpace, který umí pracovat i na pozadí obrazovky za okny, nebo si můžeme nechat počítat a zobrazovat úseky Mandelbrotovy množiny:
Řada demonstračních aplikací je k dispozici i ve zdrojovém tvaru.
3. Nabídka aplikací
Zastánci MS Windows často argumentují "to je sice všechno hezké, ale my máme k dispozici milióny hotových aplikací". Tento argument snad měl jakousi váhu před lety; dnes však neobstojí -- NEXTSTEP již je zavedeným operačním systémem s bohatou aplikační základnou; díky bezproblémové přenositelnosti jsou pro NEXTSTEP na libovolné architektuře k dispozici prakticky všechny aplikace, které byly kdy pro NEXTSTEP vyvinuty (s výjimkou aplikací, které přímo využívaly DSP procesor počítačů NeXT). Nemám k dispozici přesné údaje, považuji však za pravděpodobné, že pro NEXTSTEP je dnes k dispozici daleko více 'plně dvaatřicetibitových' aplikací, než jich mají uživatelé Windows NT.
V NEXTSTEPu je navíc běžný standard, že se aplikace distribuují v omezené formě jako freeware; zadáním licenčního řetězce (za který již je samozřejmě nutné zaplatit) se omezení zruší a aplikace začne nabízet plnou škálu služeb. Kompaktní disk, plný takovýchto omezených aplikací, dostanete automaticky koupíte-li si NEXTSTEP. Díky tomu není obvykle problém si aplikaci před koupí důkladně vyzkoušet; řada aplikací je dokonce v omezené formě velmi dobře využitelná pro méně náročné úkoly.
3.1. Emulace
Ti, kdo mají hotovou agendu pro jiné prostředí a přesto by rádi přešli na NEXTSTEP, se nemusí obávat -- pro NEXTSTEP existují emulátory všech významnějších systémů:
Emulátor SoftPC od firmy Insignia Solutions zajišťuje emulaci prostředí počítače třídy IBM PC s operačním systémem MS DOS nebo MS Windows; SoftPC může pracovat s plným výkonem v celé obrazovce, nebo v okně NEXTSTEPu:
Kromě bezproblémové emulace fungují korektně i vzájemné vazby -- můžeme např. bez problémů spouštět DOSovské programy přímo z WorkspaceManageru poklepáním myší, nebo můžeme přenášet data mezi aplikacemi NEXTSTEPu a aplikacemi pod Windows pomocí schránky. SoftPC je již k dispozici ve verzi 4.
NEXTSTEP je pravděpodobně jediný operační systém pracující na počítačích třídy IBM PC, který je schopen emulovat počítače Apple Macintosh díku emulátoru Executor.
Pro ty, kdo dosud pracovali v jiném UNIXu využívajícím prostředí X Windows, je k dispozici několik emulátorů; podobně jako SoftPC mohou pracovat na vlastní obrazovce s přepínáním do a z "režimu NEXTSTEP" podle potřeby, nebo za cenu velmi mírného zpomalení mohou být Xová okna umístěna v oknech NEXTSTEPu.
4. Čeština
NEXTSTEP nabízí nejluxusnější prostředí pro práci s vícejazyčnými systémy, se kterým jsem se až dosud setkal; bohužel však s jednou omezující podmínkou: všechny jazyky musí vystačit se standardní znakovou sadu NEXTSTEPu, což je v zásadě kódová tabulka Latin1. Pro češtinu (nebo slovenštinu) tedy standardní jazykové prostředky NEXTSTEPu nestačí, přinejmenším tak dlouho, dokud nebude NEXTSTEP plně implementovat UNICODE (omezené implementace je k dispozici již nyní, plná by měla být součástí verze 4).
Proto byl vyvinut program NewEncoding, který dokáže standardní znakovou sadu NEXTSTEPu podle potřeby změnit. NEXTSTEP díky němu dokáže potenciálně pracovat s libovolnou znakovou sadou; pro češtinu byla zvolena jako standard znaková sada Windows EE (CP1250). V případě zájmu sice není problém podporovat libovolnou jinou sadu (již pracují NEXTSTEPy se znakovou sadou Latin2 (CP852) nebo ISO Latin2); nedoporučujeme to však kvůli vzájemné kompatibilitě českých textů a doporučujeme spíše převody znakových tabulek na vstupu a na výstupu (které jsou samozřejmě k dispozici).
NEXTSTEP zatím není lokalizován (tj. standardní aplikace komunikují s uživatelem anglicky -- nebo, podle jeho volby, německy, francouzsky, španělsky nebo italsky).
5. Nevýhody
Dosavadní text shrnoval spíše výhody NEXTSTEPu oproti ostatním prostředím; NEXTSTEP však samozřejmě má i své nevýhody.
Jako v každém větším programu jsou samozřejmě i v NEXTSTEPu chyby. Jejich seznam i s popisem obejití problému však je součástí on-line dokumentace a aktualizované verze tohoto seznamu jsou k dispozici prostřednictvím Internetu.
Další nevýhodou je to, že -- jak již víme- NEXTSTEP dosud není lokalizován. Problém zde spočívá v tom, že množství údajů, které je třeba přeložit, je značné -- standardních aplikací je mnoho, každá je vybavena rozsáhlou nápovědou... a nezapomínejme, že standardní součástí NEXTSTEPu jsou i desítky megabytů on-line dokumentace.
Za asi nejvýznamnější problém NEXTSTEPu -- problém, který však bude běhěm času stále méně významný -- je jeho náročnost na zdroje. Na počítačích třídy IBM PC je minimem procesor 80486, 8MB operační paměti a asi 200MB pevný disk; chceme-li pracovat s plnou developerskou verzí NEXTSTEPu, potřebujeme pevný disk dvojnásobné velikosti. Chceme-li využít plně grafických schopností NEXTSTEPu, potřebujeme kvalitní videoadaptér na lokální sběrnici s 2-4MB videopaměti; algoritmy, které NEXTSTEP využívá pro interpretaci PostScriptu jsou sice extrémně rychlé, ale zároveň paměťově náročné -- pro dvaatřicetibitový truecolor firma NeXT doporučuje alespoň 32MB operační paměti (16MB pro šestnáctibitový truecolor, 8MB stačí pouze pro grayscale). Základním distribučním médiem je samozřejmě CD; NEXTSTEP na disketách prostě neexistuje (také by na takový počet disket musel mít kupující docela slušný batoh). Ani cena samotného NEXTSTEPu není zcela zanedbatelná, ačkoli ve třídě systémů pro kritické aplikace nepatří mezi nejvyšší: NEXTSTEP stojí přibližně 25000Kč, vývojářská verze 100000Kč. Ti, kdo by mohli mít o NEXTSTEP největší zájem a zároveň nejméně peněz -- totiž studentni -- však mohou zůstat klidní; firma NeXT nabízí akademické slevy dosahující 90%, takže kompletní instalace NEXTSTEPu v developerské verzi přijde na pouhých 10000Kč.