Vyšlo v týdeníku Computerworld č. 1/93 v roce 1993
Vytištěno z adresy: http://www.earchiv.cz/a93/a301c120.php3

Prompt

Napadlo by vás někdy bavit se s kusem železa? Ne? Co takhle s kusem křemíku? Či s kouskem křemíku, zapouzdřeným do integrovaného obvodu? Nebo s počítačem? To už je asi jiná - ale není vlastně počítač stále jenom trochou železa, trochou křemíku v integrovaných obvodech, trochou mědi, cínu a dalších prvků, směsí a příměsí?

Jak se vlastně člověk domluví s "holým železem", jak se říkalo v dobách, kdy ještě světu vládly střediskové počítače? Ty byly vybaveny složitými řídícími panely, a s jejich pomocí bylo možné počítači zadávat různé příkazy - například naplnit paměťovou buňku zadaným obsahem, spustit program od zadané adresy apod. Do dnešní doby se z těchto monstrózních řídicích panelů nezachovalo téměř nic - zbylo snad jedině tlačítko RESET, a i to u některých sebevědomých osobních počítačů schází.

Kromě tohoto tlačítka tak vlastně uživatelé nemají žádnou možnost, jak přímo ovládat hardware svého počítače, tedy "bavit se s holým železem". Veškerá jejich komunikace s počítačem - a především pak spouštění nejrůznějších aplikací - se uskutečňuje pouze prostřednictvím vhodného programu, který musí být spuštěn automaticky po spuštění celého počítače (nebo po zmáčknutí onoho tlačítka RESET), a který je určen právě k tomu, aby komunikoval s uživatelem, přijímal od něj příkazy, a zprostředkovával jejich provedení. Jde o program, který je možné vždy považovat za součást operačního systému. Může být označován mnoha různými názvy (např. command processor, console command processor, command language interpreter) nejčastěji však: shell (např. v operačních systémech MS DOS či Unix). Doslova tedy "skořápka" či "slupka", která obaluje operační systém, a má na starosti právě komunikaci s uživatelem. Uživatel tedy předává svůj příkaz shellu, ten se snaží kontrolovat jeho správnost (pokud je to v jeho silách) a předává jej té části operačního systému, která je schopna zajistit provedení zadaného příkazu. Stejně tak zprostředkovává zmíněný shell i komunikaci opačným směrem, tedy od operačního systému k uživateli - pokud si ovšem tuto komunikaci nezajišťují přímo jednotlivé aplikační programy, které si uživatel prostřednictvím svých příkazů vyvolává.

Zde ovšem vyvstává zajímavá otázka - jak uživatel pozná, kdy s ním komunikuje operační systém prostřednictvím shellu, a kdy si s ním "povídá" některý aplikační program? Jak například pozná, že shell čeká na jeho další příkaz, nebo zda po něm dříve spuštěný aplikační program chce, aby mu zadal určitý vstupní údaj? Rozlišit tyto dva případy nemusí být vždy jednoduché. Problém může vyvstat například tehdy, jestliže aplikační program svůj požadavek na zadání vstupu vůbec nijak neoznámí (tj. sám nic nevypíše), a pouze čeká na reakci uživatele.

Zato shell se vždy snaží dát uživateli vhodně najevo, že je připraven přijmout jeho další příkaz. Činí tak tím, že vypíše na obrazovku určitý charakteristický řetězec, kterým svou připravenost signalizuje. Takovýto řetězec se v angličtině označuje obecně jako prompt, což by šlo přeložit nejspíše ve smyslu "vybídnutí" (tj. jako vybídnutí uživatele k zadání příkazu), případně jako "nápověda" či "nápovědný znak". V odborném žargonu se termín "prompt" většinou nepřekládá, a pokud je to při psaném projevu opravdu nezbytné, používá se obvykle termín "nápovědný znak". To ale může být poněkud zavádějící. "Prompt" může skutečně být nápovědným znakem - může jej skutečně tvořit jediný znak (jako je tomu obvykle v Unixu) - ale obecně může jít o celý řetězec znaků, navíc proměnné délky. Například v prostředí operačního systému MS-DOS je prompt standardně tvořen označením logické jednotky a přístupovou cestou k aktuálnímu adresáři, takže má např. tvar:

                 C:\DOS>

Výhodou je pak skutečnost, že uživatel přímo z promptu pozná, jaký je jeho aktuální adresář. Velmi často je ale možné tvar promptu měnit - například právě v MS-DOSu je na to stejnojmenný příkaz PROMPT - takže uživatel si může sám zvolit takový tvar promptu, jaký mu nejlépe vyhovuje.

Dlužno ovšem podotknout, že o promptu neboli o nápovědném znaku se hovoří většinou jen v souvislosti s řádkově orientovaným uživatelským rozhraním. Tedy tehdy, když si operační systém povídá s uživatelem prostřednictvím svého shellu ve znakovém režimu. Také MS-DOS, původně výhradně řádkově orientovaný, již dnes nabízí i grafický shell, který s uživatelem komunikuje v grafickém režimu. Grafické shelly pak mají mnohem větší možnosti, jak uživateli dát najevo svou připravenost, a blíže specifikovat, co od něj očekávají - nabídkou ikon, pomocí nejrůznějších menu, okének a dalších mechanismů. Ale o nich zase až někdy jindy.

--------------------------

P.S. Anglicko-český výkladový slovník výpočetní techniky překládá anglický termín "prompt" jako náznak. Nejsem si jist, zda nejde náhodou o zkratku za "NÁpovědný ZNAK"