Měl Bill Gates rozbitý psací stroj?

Analýza některých technických aspektů softwaru nám může přinést nečekané detaily o životě jejich tvůrců. A jak na tom byli Steve Jobs a Linus Torvalds?

Měl Bill Gates rozbitý psací stroj?


Určité prvky světa staré techniky se nám zachovaly a přenesly do dnešní ultramoderní IT přítomnosti. Týká se to třeba ASCII tabulky znaků, jejíž kořeny sahají do časů prvních dálnopisů. V její první části jsou řídicí znaky, jejichž názvy odkazují ještě na mechanickou konstrukci tehdejších komunikačních technologií, katerá byla podobná psacím strojům. Konkrétně si všimneme dvou znaků, kterými jsou CR (carriage return, tedy návrat vozíku) a LF (line-feed, tedy posun řádku).

Na psacím stroji moderní konstrukce, který se běžně vyráběl od počátku 20. století (viz obrázek), se tyto dvě operace se provádějí společně pomocí velké páky umístěné na vozíku. Starší stroje mohly mít tuto páku i vpravo – pak se ovládala palcem pravé ruky – většina strojů ji má ale vlevo tak, aby se ovládala dlaní ruky levé. Při stlačení páky zleva doprava se nejprve páka vychýlí a pomocí zubového mechanismu se pootočí válec s papírem. Po dosažení zarážky se pohyb páky vůči vozíku zastaví a další tlak na páku zvýšenou silou posune celý vozík doprava tak, aby bylo možné opět psát od levého okraje papíru. Z technického hlediska se tedy provádí nejprve příkaz LF, který je pak následován příkazem CR.

Psací strojKdyž se podíváme na operační systém DOS, tak s překvapením shledáváme, že tam se pro konec řádku v textových souborech používá právě opačná sekvence, tedy CR+LF. Můžeme z toho dovodit něco o tvůrci systému? Jednou z možných hypotéz je to, že Bill Gates měl rozbitý psací stroj a jeho páka s poškozeným zubovým mechanismem neotáčela válcem. Taková závada byla běžná; v takovém případě je nutné nejprve pákou posunout vozík a pak ručně pootočit válcem. Bylo by nepraktické udělat to v obráceném pořadí; na konci řádku je totiž kolečko pro otáčení válce na pravé straně špatně přístupné, jak je názorně vidět na obrázku. Nejpřirozenější je tedy použít nejprve levou ruku pro posun vozíku pákou a pak použít pravou ruku pro otočení válce na nový řádek. Tím se ve skutečnosti vlastně provede ona zmíněná neobvyklá posloupnost příkazů CR+LF, která je charakteristická pro DOS a Windows.

Naproti tomu Steve Jobs měl zřejmě svůj psací stroj v pořádku, tak si ani neuvědomoval, že by páka pro návrat vozíku nemusela fungovat správně. Vždy bezchybné otočení válce na nový řádek považoval pravděpodobně za zcela samozřejmé pro funkci této páky. A důsledek? Možná právě proto počítače Apple používají úspornější přístup k označení konce řádku, kterým je samotný znak CR. Současný příkaz pro posun na nový řádek byl asi z Jobsova pohledu nadbytečný.

Linus Torvalds začal pracovat na svém operačním systému linux v době studií, kdy mu bylo 22 let. Je dosti pravděpodobné, že jako student vlastně do té doby ani psát na stroji nemusel a tedy s ním ani neměl rozsáhlejší zkušenosti, které by jej zásadním způsobem ovlivnily. Naopak ještě mohl mít v živé paměti pokyn paní učitelky: „A teď, děti, napíšeme na další řádek..." Tehdy malý Linus, stejně jako jeho spolužáci, začal na novém řádku psát zase hezky od levého okraje. Úplně automaticky a přirozeně, asi jsme to tak dělali všichni. Proto asi taky nikoho nepřekvapí, že se  v linuxu používá pro označení konce řádku znak LF.

Možná vám přijdou tyto vývody příliš odvážné na tak chatrné indicie, ale myslím, že právě k dnešnímu dni si je mohu dovolit. Naopak si při této příležitosti můžeme uvědomit, že leckdo často vynáší soudy mnohem závažnější na základě argumentů mnohem chatrnějších. A to i v jiné dny, než je 1. dubna.


Úvodní foto: public domain




Komentáře