20 najväčších vynálezov v programovaní počítača
V jednej z rozhovorov, ktoré som absolvoval s našim vedúcim redaktorom, bola položená otázka, “Ako programovali prví programátori?” To viedlo k diskusii o Babbage a Ada Lovelace, na konci ktorej som bol pridelený výskumu ako to všetko začalo - to je veľa prvých v oblasti výpočtu histórie.
Vykopal som do kníh a webových stránok a stretol som sa s mnohými odhaleniami: Babbage nie je technicky vynálezca počítača, FORTRAN rozhodne nebol prvým programovacím jazykom na vysokej úrovni a používali sme štúdie pre obrazovky CRT (skutočne).
Bol som tiež prekvapený, že som zistil, aké dôležité vojny podporujú rýchly rozvoj počítačového vývoja, ako aj prínos mnohých žien, ktorých sa naše učebnice rozhodli zanedbávať. Preto vyplniť medzery v histórii počítačov a programov som dal dohromady 20 prvencov vo svete výpočtovej techniky, od bowlingových loptičiek po WW2 a všetko, čo je medzi.
1. Prvý počítač: “Rozdielový motor” (1821)
“Rozdiel motora” bol navrhnutý mechanický počítač, ktorý má byť použitý na výstup matematických tabuliek. Komisárka britskej vlády, Charles Babbage (aka otec počítača) začal pracovať na tom, ale vzhľadom na jeho vysoké výrobné náklady, financovanie bolo zastavené a stroj nebol nikdy dokončený.
2. Prvý univerzálny počítač: “Analytický motor” (1834)
“Analytický motor” bol tiež navrhovaným mechanickým počítačom, ktorého vstupom mali byť dierované karty, s programami a dátami, ktoré boli na nich vyrazené. Ďalšou myšlienkou Charlesa Babbageho, tento stroj nebol dokončený.
3. Prvý počítačový program: algoritmus na výpočet Bernoulliho čísla (1841 - 1842)
Ada Lovelace (prvý počítačový programátor na svete) začala prekladať záznamy o talianskom matematike Luigi Menabreovej o analytickom motore Babbage v roku 1841. Počas prekladu sa o neho zaujímala stroj a poznámky s jej prekladom. Jedna z poznámok - poznámka G, obsahoval algoritmus na výpočet Bernoulliho čísel analytickým motorom, považovaným za prvý počítačový program.
4. Prvý pracovný programovateľný počítač: Z3 (1941)
Konrad Zuse (vynálezca počítačov) už mal pracovný mechanický počítač Z1, ale pracoval len niekoľko minút. Použitie inej technológie - relé, viedlo k Z2 a prípadne Z3. Z3 bol elektromagnetický počítač, pre ktorý bol program a dáta uložené na vonkajších dierovaných páskach. Bol to tajný projekt nemeckej vlády a dal ho použiť nemecký letecký výskumný ústav. Pôvodný stroj bol zničený v bombardovaní Berlína v roku 1943.
5. Prvý elektronický počítač: Atanasoff-Berry Computer (ABC) (1942)
Vytvoril John Vincent Atanasoff & Clifford Berry, teda názvom Atanasoff-Berry Computer alebo ABC bol použitý na nájdenie riešenia pre súčasné lineárne rovnice. Bol to prvý počítač, ktorý používal binárne, aby reprezentoval dáta a elektronické spínače namiesto mechanických. Počítač však nebol programovateľný.
6. Prvý programovateľný elektronický počítač: Kolos (1943)
Colossus, ktorý vytvoril Tommy Flowers, bol stroj vytvorený tak, aby pomohol Britom dešifrovať nemecké správy, ktoré boli šifrované Lorenzovou šifrou, z druhej svetovej vojny. Bol naprogramovaný elektronickými spínačmi a zástrčkami. Kolos priniesol čas na dešifrovanie šifrovaných správ od týždňov až po hodiny.
7. Prvý programovateľný elektronický počítač s všeobecným účelom: ENIAC (1946)
Financované americkou armádou, ENIAC alebo Elektronický numerický integrátor a počítač bol vyvinutý v Moore School of Electrical Engineering, University of Pennsylvania od John Mauchly & J. Presper Eckert. ENIAC bol široký 150 stôp a mohol by byť naprogramovaný tak, aby vykonával zložité operácie ako slučky; programovanie bolo vykonané zmenou jeho elektronických spínačov a káblov. Používal čítačky kariet pre vstupné a razidlá pre výstup. To pomohlo pri výpočtoch na uskutočniteľnosť prvej vodíckej bomby na svete.
8. Prvý trackball: (1946/1952)
Prečo dva roky pre prvý trackball? Dovoľte mi to vysvetliť.
Prvý rok bol rokom, ktorý dal Ralph Benjamin, ktorý tvrdil, že vytvoril prvý trackball na svete, keď pracoval na monitorovacom systéme lietadiel s nízkym letom v roku 1946. Vynález, ktorý opísal, používal loptu na ovládanie XY súradníc kurzor na obrazovke. Návrh bol patentovaný v roku 1947, ale nikdy nebol prepustený, pretože je považovaný za a “vojenské tajomstvo”. Vojaci si zvolili joystick.
Druhý uchádzač o prvý trackball na svete, ktorý sa v roku 1952 používal v systéme DATAR kanadského námorníctva, bol vynašiel Tom Cranston a spol. Tento dizajn trackball mal model, ktorý využíval kanadskú bowlingovú loptičku “vzduchové ložiská” (pozri obrázok nižšie).
9. Počítač prvého uloženého programu: SSEM (1948)
Aby sa prekonali nedostatky pamäti oneskorenia, Frederic C. Williams a Tom Kilburn vyvinuli prvé digitálne pamäťové zariadenie s náhodným prístupom založené na štandardnom CRT. SSEM (Manchester Malý experimentálny stroj) bol použitý na implementáciu tohto úložného zariadenia pre praktické použitie. Programy boli zadané v binárnej forme pomocou 32 prepínačov a jeho výstup bol CRT.
10. Prvý programovací jazyk na vysokej úrovni: Plankalkül (1948)
Hoci Konrad Zuse začal pracovať na Plankalkül od roku 1943, až v roku 1948 publikoval článok o nej. Nanešťastie ju bohužiaľ nezaujímalo. Bolo by to asi o tri desaťročia neskôr, kým by sa pre neho realizoval kompilátor, ktorý vytvoril Joachim Hohmann v dizertačnej práci.
11. Prvý assembler: “Počiatočné objednávky” pre EDSAC (1949)
Assembler je program, ktorý konvertuje mnemotechniku (nízku úroveň) na číselnú reprezentáciu (strojový kód). Počiatočné objednávky v EDSAC (Automatická kalkulačka s automatickým oneskorením) bol prvý takýto systém. Bolo použité na zostavenie programov z vstupu papierovej pásky do pamäte a spustenie vstupu. Programy boli v mnemotechnických kódoch namiesto kódov strojov “pôvodný kód” prvý akomulér, ktorý spracoval symbolický programový kód nízkej úrovne do kódu stroja.
12. Prvý osobný počítač: “simon” (1950)
“simon” Edmund Berkeley bol prvým cenovo dostupným digitálnym počítačom, ktorý mohol vykonávať štyri operácie: okrem toho, negácia, väčšia ako a výber. Vstup bol dierovaný papier a program bežal na papierovej páske. Jediným výstupom bolo päť svetiel.
13. Prvý kompilátor: A-0 pre UNIVAC 1 (1952)
Kompilátor je program, ktorý konvertuje jazyk na vysokej úrovni do kódu počítača. Systém A-0 bol program vytvorený legendárnym Grace Hopperom na konverziu programu špecifikovaného ako sekvencia podprogramov a argumentov do kódu počítača. A-0 neskôr sa vyvinul na A-2 a bol prepustený zákazníkom s jeho zdrojovým kódom, čo je pravdepodobne veľmi prvý softvér s otvoreným zdrojovým kódom.
14. Prvá autokódácia: Glennieho autokód (1952)
Autokód je programovací jazyk na vysokej úrovni, ktorý používa kompilátor. Prvý autokód a jeho kompilátor sa objavili na Univerzite v Manchestri, aby programovanie stroja Mark 1 bolo zrozumiteľnejšie. Vytvoril ho Alick Glennie, a preto bol názov Autocode Glennieho.
15. Prvý grafický počítač v reálnom čase: AN / FSQ-7 od IBM (1951)
AN / FSQ-7 bol založený na jednom z prvých počítačov, ktoré ukázali v reálnom čase, Whirlwind. Stala sa záchrannou linkou pre systém americkej vzdušnej obrany známy ako Semiautomatické pozemné prostredie (SAGE). Počítače zobrazovali stopy pre ciele a automaticky ukázali, ktoré obrany sú v dosahu. AN / FSQ-7 mal 100 systémových konzol; tu je jeden (obrázok nižšie), OA-1008 Situation Display (SD), s ľahkou pištoľou používanou na výber cieľov na obrazovke pre ďalšie informácie.
16. Prvý široko používaný programovací jazyk na vysokej úrovni: FORTRAN (1957)
Ak skontrolujete učebnice, nájdeš FORTRAN uvedený ako prvý programovací jazyk na vysokej úrovni. Zmyslel John W. Backus, ktorý nemal rád písanie programov a rozhodol sa vytvoriť programovací systém, ktorý by pomohol procesu uľahčiť, využitie FORTRAN výrazne znížilo počet programových vyhlásení potrebných na spustenie stroja. Do roku 1963 bolo už k dispozícii viac ako 40 prekladateľov FORTRAN.
17. Prvá myš (1964)
Počas konferencie na počítačovej grafike sedel na myšlienke myši Douglase Engelbarta v roku 1964. Pomyslel si na zariadenie s dvojicou malých koliesok (jedno otočí vodorovne druhé vertikálne), ktoré možno použiť na presunutie kurzor na obrazovke. Prototyp (pozri nižšie) vytvoril jeho vedúci inžinier, Bill English, ale anglicky a Engelbart nikdy nedostali licenčné poplatky za dizajn, pretože to technicky patrilo SRI, zamestnávateľovi Engelberta.
18. Prvý komerčný stolný počítač: Programma 101 (1965)
Tiež známy ako Perottina, Programma 101 bola prvým komerčným počítačom na svete. Mohol vykonať doplnenie, odčítanie, násobenie, delenie, odmocnina, absolútna hodnota a zlomok. Za všetko, čo mohlo urobiť, bolo ocenené na 3 200 dolárov (to bol veľmi iný čas) a podarilo sa mu predať 44 000 kusov. Perottina bol vynájdený Pier Giorgio Perottom a vyrábaný firmou Olivetti, talianskym výrobcom.
19. Prvý dotykový displej (1965)
Nevyzerá to moc, ale toto bol prvý dotykový displej, aký svet kedy poznal. Je to kapacitný panel s dotykovým displejom bez citlivosti na tlak (je tu buď kontakt alebo žiadny kontakt) a registruje iba jediný kontaktný bod (na rozdiel od multitouchu). Tento koncept bol prijatý na používanie riadiacimi letovej prevádzky vo Veľkej Británii až do 90. rokov 20. storočia.
20. Prvý objektovo orientovaný programovací jazyk: Simula (1967)
Na základe koncepcie konštrukcií triedy C. A. Hory, Ole-Johan Dahl & Kristen Nygaard aktualizovali svoje “SIMULA I” programovací jazyk s objektmi, triedami a podtriedami. To viedlo k vytvoreniu SIMULA 67, ktorý sa stal prvým objektovo orientovaným programovacím jazykom.
Konečné myšlienky
Takýto príspevok bol o tom, čo by sme sa mohli dozvedieť o mnohých prvých v počítačovej histórii, je ťažké ponoriť sa do histórie. V dôsledku toho, aspoň pre mňa, my viac oceniť prácu vykonanú generáciami pred našimi, a môžeme lepšie pochopiť, čo prináša mnohé zmeny, ktoré formujú svet, v ktorom dnes žijeme.
Dúfam, že tento príspevok vás inšpiruje rovnako, ako ma inšpiroval. Podeľte sa o svoje myšlienky na tieto prvenstvá, a ak mi chýba akýkoľvek, čo som si istý, že som to urobil, pridajte ich do komentárov.