20 Největší vynálezy v oblasti počítačového programování
V jednom z rozhovorů, které jsem měl s naším vyšším editorem, jsem se na něco zeptal, “Jak první programátor program?” To vedlo k diskusi o Babbage a Ada Lovelace, na jejímž konci jsem byl přidělen k výzkumu jak to vše začalo - to je mnoho prvenství v počítačové historii.
Vykopal jsem do knih a webových stránek a setkal jsem se s mnoha odhaleními: Babbage není technicky vynálezce počítače, FORTRAN rozhodně nebyl první programovací jazyk na vysoké úrovni a používali jsme stylusy pro obrazovky CRT (opravdu).
Byl jsem také překvapen, když jsem zjistil, jak zásadní jsou války, které napomáhají rychlému rozvoji vývoje počítačů, plus příspěvek mnoha žen, které se naše učebnice rozhodli zanedbávat. Proto, abych vyplnil mezery v historii počítačů a programů, dal jsem dohromady 20 prvních ve světě výpočetní techniky, od bowlingových koulí až po WW2 a vše, co je mezi nimi.
1. První počítač: “Diferenciální motor” (1821)
“Diferenciální motor” byl navržený mechanický počítač pro výstup matematických tabulek. Charles Babbage (aka Otec počítače), který byl pověřen britskou vládou, na něm začal pracovat, ale vzhledem ke svým vysokým výrobním nákladům bylo financování zastaveno a stroj nebyl nikdy dokončen.
2. První univerzální počítač: “Analytický motor” (1834)
“Analytický motor” byl také navržený mechanický počítač, jehož vstup měl být děrován kartami, s programy a data děrovaná na nich. Další mozek Charlese Babbageho, tento stroj také nebyl dokončen.
3. První počítačový program: algoritmus pro výpočet Bernoulliho čísel (1841 - 1842)
Ada Lovelace (první počítačový programátor na světě) začala v roce 1841 překládat záznamy italského matematika Luigi Menabrea o analytickém stroji Babbage. Během překladu se začala zajímat o stroj a zanechala poznámky s překladem. Jedna z poznámek - poznámka G, obsahoval algoritmus počítat Bernoulli čísla analytickým strojem, považovaný za úplně první počítačový program.
4. První programovatelný počítač: Z3 (1941)
Konrad Zuse (vynálezce počítačů) již měl pracovní mechanický počítač Z1, ale pracoval jen několik minut najednou. Použití jiné technologie - relé, vedlo k Z2 a případně Z3. Z3 byl elektromagnetický počítač, pro který byl program a data uložena na externích děrovaných páskách. Jednalo se o tajný projekt německé vlády, který byl použit Německým institutem pro výzkum letadel. Původní stroj byl zničen při bombardování Berlína v roce 1943.
5. První elektronický počítač: Atanasoff-Berry Computer (ABC) (1942)
Vytvořil John Vincent Atanasoff & Clifford Berry, proto pojmenovaný Atanasoff-Berry Computer nebo ABC byl použit k nalezení řešení pro současné lineární rovnice. Byl to úplně první počítač, který namísto mechanického ukazoval data a elektronické přepínače. Počítač však nebyl programovatelný.
6. První programovatelný elektronický počítač: Kolos (1943)
Kolos vytvořený Tommymi květinami, byl stroj vytvořený pomáhat Britům dešifrovat německé zprávy, které byly zašifrované Lorenz šifrou, zpět ve druhé světové válce. Byl naprogramován elektronickými spínači a zástrčkami. Kolos přinesl čas na rozluštění zašifrovaných zpráv z týdnů na pouhé hodiny.
7. První univerzální programovatelný elektronický počítač: ENIAC (1946)
Financován americkou armádou, ENIAC nebo Elektronický numerický integrátor a počítač byl vyvinut v Moore School of Electrical Engineering, University of Pennsylvania John Mauchly & J. Presper Eckert. ENIAC byl 150 stop široký a mohl být naprogramován pro provádění složitých operací, jako jsou smyčky; programování bylo provedeno změnou elektronických spínačů a kabelů. Používal čtečky karet pro vstup a děrování karet pro výstup. Pomohlo to výpočtům proveditelnosti první vodíkové bomby na světě.
8. První trackball: (1946/1952)
Proč dva roky pro první trackball? Dovolte mi to vysvětlit.
První rok byl rok daný Ralph Benjamin, kdo prohlašoval, že vytvořil první trackball světa, když on pracoval na monitorovacím systému pro nízko letící letadla v roce 1946. Vynález popsal používal míč řídit XY souřadnice kurzoru na obrazovce. Design byl patentován v roce 1947, ale nikdy nebyl vydán, protože je považován za “vojenské tajemství”. Místo toho armáda zvolila joystick.
Druhý soutěžící pro první trackball na světě, používaný v kanadském námořnickém systému DATAR v roce 1952, byl vynalezen Tomem Cranstonem a spol. Tento trackball design měl falešný, který využil kanadskou bowlingovou kouli “vzduchová ložiska” (viz obrázek níže).
9. Počítač s prvním uloženým programem: SSEM (1948)
K překonání nedostatků zpožděné paměti vyvinuli Frederic C. Williams a Tom Kilburn první digitální paměťové zařízení založené na standardu CRT. SSEM (Manchester Experimentální stroj malého rozsahu) bylo použito k implementaci tohoto úložného zařízení pro praktické použití. Programy byly zadávány v binární podobě pomocí 32 přepínačů a jejich výstupem byl CRT.
10. První programovací jazyk na vysoké úrovni: Plankalkül (1948) \ t
Ačkoli Konrad Zuse začal pracovat na Plankalkül od roku 1943, bylo to teprve v roce 1948, kdy o něm vydal dokument. Bohužel to příliš nezajímalo. To by trvalo téměř tři desetiletí později pro kompilátor být implementován pro to, jeden vytvořený Joachim Hohmann v disertační práci \ t.
11. První montér: “Počáteční objednávky” pro EDSAC (1949)
Assembler je program, který převádí mnemoniku (nízkoúrovňovou) na číselnou reprezentaci (strojový kód). Počáteční objednávky v EDSAC (Automatická kalkulačka s automatickým zpožděním) byl prvním takovýmto systémem. Byl použit pro sestavení programů z vstupu papírové pásky do paměti a spuštění vstupu. Programy byly v mnemotechnických kódech namísto strojových kódů, což se děje “počáteční kód” vůbec první assembler zpracováním symbolického programového kódu nízké úrovně do strojového kódu.
12. První osobní počítač: “Simone” (1950)
“Simone” Edmund Berkeley byl první dostupný digitální počítač, který mohl provádět čtyři operace: sčítání, negace, větší než a výběr. Vstup byl děrovaný papír a program běžel na papírové pásky. Jediným výstupem bylo pět světel.
13. První překladač: A-0 pro UNIVAC 1 (1952)
Kompilátor je program, který převádí jazyk na vysoké úrovni do strojového kódu. Systém A-0 byl program vytvořený legendárním Grace Hopperem pro převod programu určeného jako posloupnost podprogramů a argumentů do strojového kódu. A-0 později se vyvinul do A-2 a byl propuštěn k zákazníkům s jeho zdrojovým kódem dělat to možná velmi první open source software.
14. První Autocode: Autocode společnosti Glennie (1952)
Autocode je programovací jazyk na vysoké úrovni, který používá kompilátor. První autocode a jeho kompilátor se objevil na University of Manchester, aby bylo programování stroje Mark 1 srozumitelnější. To bylo vytvořeno Alick Glennie, proto jméno Glennie je Autocode.
15. První grafický displej v reálném čase: AN / FSQ-7 od IBM (1951)
AN / FSQ-7 byl založen na jednom z prvních počítačů, které ukazovaly výstup v reálném čase, Whirlwind. To se stalo záchranným lanem pro americký systém protivzdušné obrany známý jako Semi-automatické zemní prostředí (SAGE). Počítače ukazovaly stopy pro cíle a automaticky ukázaly, které obrany byly v dosahu. AN / FSQ-7 měl 100 systémových konzol; zde je jeden (obrázek níže), situační displej OA-1008 (SD), se světelnou pistolí používanou k výběru cílů na obrazovce pro další informace.
16. První programovací jazyk na vysoké úrovni: FORTRAN (1957)
Pokud zkontrolujete učebnice, najdete FORTRAN jako první programovací jazyk na vysoké úrovni. Díky tomu, že John W. Backus, který neměl rád programy na psaní a rozhodl se vytvořit programovací systém, který by usnadnil proces, bylo použití FORTRANu značně sníženo množství programových příkazů potřebných pro spuštění počítače. 1963, více než 40 FORTRAN kompilátorů bylo už dostupné.
17. První myš (1964)
To bylo zatímco seděl v zasedání konference na počítačové grafice že nápad myši přišel k Douglas Engelbart v roce 1964. On vymyslel zařízení s párem malých kol (jeden se otočí vodorovně jiný svisle) který může být používán pohybovat se. kurzor na obrazovce. Prototyp (viz níže) byl vytvořen jeho vedoucím inženýrem, Billem Angličanem, ale anglicky a Engelbart nikdy nedostaly licenční poplatky za design, protože technicky patřily k zaměstnavateli SRI, Engelbertovi zaměstnavateli..
18. První komerční stolní počítač: Programma 101 (1965)
Také známý jako Perottina, Programma 101 byl první komerční PC na světě. Může provádět sčítání, odčítání, násobení, dělení, odmocninu, absolutní hodnotu a zlomek. Pro všechno, co by mohla udělat, byla cena stanovena na 3 200 dolarů (bylo to velmi odlišné období) a podařilo se jí prodat 44 000 kusů. Perottina vynalezl Pier Giorgio Perotto a vyrábí ji italský výrobce Olivetti.
19. První dotykový displej (1965)
Nevypadá to moc, ale tohle byl první dotykový displej, jaký kdy svět poznal. Je to kapacitní panel s dotykovou obrazovkou, bez citlivosti na tlak (je zde buď kontakt, nebo žádný kontakt) a registruje pouze jeden bod kontaktu (na rozdíl od multitouch). Koncepce byla přijata pro použití řídícími letového provozu ve Velké Británii až do 90. let.
20. První objektově orientovaný programovací jazyk: Simula (1967) \ t
Ole-Johan Dahl & Kristen Nygaard na základě konceptu třídních konstruktů C. A. R. Hoareho aktualizovali své “SIMULA I” programovací jazyk s objekty, třídami a podtřídami. Výsledkem bylo vytvoření SIMULA 67, která se stala prvním objektově orientovaným programovacím jazykem.
Závěrečné myšlenky
Stejně jako tento příspěvek byl o tom, co bychom se mohli dozvědět o mnoha prvcích v historii počítačů, je těžké se ponořit do samotné historie. Jako výsledek, alespoň pro mě, my více oceňují práci generací před naším, a můžeme lépe pochopit, co pohání mnoho změn, které formují svět, ve kterém dnes žijeme.
Doufám, že vás tento post inspiruje stejně jako mě inspiroval. Podělte se o své myšlenky o těchto prvcích, a pokud jsem vynechal nějaké, což jsem si jistý, že ano, přidejte je do komentářů.